tests/cases/conformance/expressions/functionCalls/newWithSpread.ts(36,13): error TS2472: Spread operator in 'new' expressions is only available when targeting ECMAScript 5 and higher. tests/cases/conformance/expressions/functionCalls/newWithSpread.ts(37,13): error TS2472: Spread operator in 'new' expressions is only available when targeting ECMAScript 5 and higher. tests/cases/conformance/expressions/functionCalls/newWithSpread.ts(40,8): error TS2472: Spread operator in 'new' expressions is only available when targeting ECMAScript 5 and higher. tests/cases/conformance/expressions/functionCalls/newWithSpread.ts(41,13): error TS2472: Spread operator in 'new' expressions is only available when targeting ECMAScript 5 and higher. tests/cases/conformance/expressions/functionCalls/newWithSpread.ts(45,13): error TS2472: Spread operator in 'new' expressions is only available when targeting ECMAScript 5 and higher. tests/cases/conformance/expressions/functionCalls/newWithSpread.ts(46,13): error TS2472: Spread operator in 'new' expressions is only available when targeting ECMAScript 5 and higher. tests/cases/conformance/expressions/functionCalls/newWithSpread.ts(50,15): error TS2472: Spread operator in 'new' expressions is only available when targeting ECMAScript 5 and higher. tests/cases/conformance/expressions/functionCalls/newWithSpread.ts(51,15): error TS2472: Spread operator in 'new' expressions is only available when targeting ECMAScript 5 and higher. tests/cases/conformance/expressions/functionCalls/newWithSpread.ts(55,17): error TS2472: Spread operator in 'new' expressions is only available when targeting ECMAScript 5 and higher. tests/cases/conformance/expressions/functionCalls/newWithSpread.ts(56,17): error TS2472: Spread operator in 'new' expressions is only available when targeting ECMAScript 5 and higher. tests/cases/conformance/expressions/functionCalls/newWithSpread.ts(60,18): error TS2472: Spread operator in 'new' expressions is only available when targeting ECMAScript 5 and higher. tests/cases/conformance/expressions/functionCalls/newWithSpread.ts(61,18): error TS2472: Spread operator in 'new' expressions is only available when targeting ECMAScript 5 and higher. tests/cases/conformance/expressions/functionCalls/newWithSpread.ts(65,22): error TS2472: Spread operator in 'new' expressions is only available when targeting ECMAScript 5 and higher. tests/cases/conformance/expressions/functionCalls/newWithSpread.ts(66,22): error TS2472: Spread operator in 'new' expressions is only available when targeting ECMAScript 5 and higher. tests/cases/conformance/expressions/functionCalls/newWithSpread.ts(70,13): error TS2472: Spread operator in 'new' expressions is only available when targeting ECMAScript 5 and higher. tests/cases/conformance/expressions/functionCalls/newWithSpread.ts(71,13): error TS2472: Spread operator in 'new' expressions is only available when targeting ECMAScript 5 and higher. tests/cases/conformance/expressions/functionCalls/newWithSpread.ts(75,20): error TS2472: Spread operator in 'new' expressions is only available when targeting ECMAScript 5 and higher. tests/cases/conformance/expressions/functionCalls/newWithSpread.ts(76,20): error TS2472: Spread operator in 'new' expressions is only available when targeting ECMAScript 5 and higher. tests/cases/conformance/expressions/functionCalls/newWithSpread.ts(80,22): error TS2472: Spread operator in 'new' expressions is only available when targeting ECMAScript 5 and higher. tests/cases/conformance/expressions/functionCalls/newWithSpread.ts(81,22): error TS2472: Spread operator in 'new' expressions is only available when targeting ECMAScript 5 and higher. tests/cases/conformance/expressions/functionCalls/newWithSpread.ts(85,23): error TS2472: Spread operator in 'new' expressions is only available when targeting ECMAScript 5 and higher. tests/cases/conformance/expressions/functionCalls/newWithSpread.ts(86,23): error TS2472: Spread operator in 'new' expressions is only available when targeting ECMAScript 5 and higher. tests/cases/conformance/expressions/functionCalls/newWithSpread.ts(90,27): error TS2472: Spread operator in 'new' expressions is only available when targeting ECMAScript 5 and higher. tests/cases/conformance/expressions/functionCalls/newWithSpread.ts(91,27): error TS2472: Spread operator in 'new' expressions is only available when targeting ECMAScript 5 and higher. tests/cases/conformance/expressions/functionCalls/newWithSpread.ts(95,23): error TS2472: Spread operator in 'new' expressions is only available when targeting ECMAScript 5 and higher. tests/cases/conformance/expressions/functionCalls/newWithSpread.ts(96,23): error TS2472: Spread operator in 'new' expressions is only available when targeting ECMAScript 5 and higher. ==== tests/cases/conformance/expressions/functionCalls/newWithSpread.ts (26 errors) ==== function f(x: number, y: number, ...z: string[]) { } function f2(...x: string[]) { } interface A { f: { new (x: number, y: number, ...z: string[]); } } class B { constructor(x: number, y: number, ...z: string[]) {} } interface C { "a-b": typeof B; } interface D { 1: typeof B; } var a: string[]; var b: A; var c: C; var d: A[]; var e: { [key: string]: A }; var g: C[]; var h: { [key: string]: C }; var i: C[][]; // Basic expression new f(1, 2, "string"); new f(1, 2, ...a); ~~~~ !!! error TS2472: Spread operator in 'new' expressions is only available when targeting ECMAScript 5 and higher. new f(1, 2, ...a, "string"); ~~~~ !!! error TS2472: Spread operator in 'new' expressions is only available when targeting ECMAScript 5 and higher. // Multiple spreads arguments new f2(...a, ...a); ~~~~ !!! error TS2472: Spread operator in 'new' expressions is only available when targeting ECMAScript 5 and higher. new f(1 ,2, ...a, ...a); ~~~~ !!! error TS2472: Spread operator in 'new' expressions is only available when targeting ECMAScript 5 and higher. // Call expression new f(1, 2, "string")(); new f(1, 2, ...a)(); ~~~~ !!! error TS2472: Spread operator in 'new' expressions is only available when targeting ECMAScript 5 and higher. new f(1, 2, ...a, "string")(); ~~~~ !!! error TS2472: Spread operator in 'new' expressions is only available when targeting ECMAScript 5 and higher. // Property access expression new b.f(1, 2, "string"); new b.f(1, 2, ...a); ~~~~ !!! error TS2472: Spread operator in 'new' expressions is only available when targeting ECMAScript 5 and higher. new b.f(1, 2, ...a, "string"); ~~~~ !!! error TS2472: Spread operator in 'new' expressions is only available when targeting ECMAScript 5 and higher. // Parenthesised expression new (b.f)(1, 2, "string"); new (b.f)(1, 2, ...a); ~~~~ !!! error TS2472: Spread operator in 'new' expressions is only available when targeting ECMAScript 5 and higher. new (b.f)(1, 2, ...a, "string"); ~~~~ !!! error TS2472: Spread operator in 'new' expressions is only available when targeting ECMAScript 5 and higher. // Element access expression new d[1].f(1, 2, "string"); new d[1].f(1, 2, ...a); ~~~~ !!! error TS2472: Spread operator in 'new' expressions is only available when targeting ECMAScript 5 and higher. new d[1].f(1, 2, ...a, "string"); ~~~~ !!! error TS2472: Spread operator in 'new' expressions is only available when targeting ECMAScript 5 and higher. // Element access expression with a punctuated key new e["a-b"].f(1, 2, "string"); new e["a-b"].f(1, 2, ...a); ~~~~ !!! error TS2472: Spread operator in 'new' expressions is only available when targeting ECMAScript 5 and higher. new e["a-b"].f(1, 2, ...a, "string"); ~~~~ !!! error TS2472: Spread operator in 'new' expressions is only available when targeting ECMAScript 5 and higher. // Basic expression new B(1, 2, "string"); new B(1, 2, ...a); ~~~~ !!! error TS2472: Spread operator in 'new' expressions is only available when targeting ECMAScript 5 and higher. new B(1, 2, ...a, "string"); ~~~~ !!! error TS2472: Spread operator in 'new' expressions is only available when targeting ECMAScript 5 and higher. // Property access expression new c["a-b"](1, 2, "string"); new c["a-b"](1, 2, ...a); ~~~~ !!! error TS2472: Spread operator in 'new' expressions is only available when targeting ECMAScript 5 and higher. new c["a-b"](1, 2, ...a, "string"); ~~~~ !!! error TS2472: Spread operator in 'new' expressions is only available when targeting ECMAScript 5 and higher. // Parenthesised expression new (c["a-b"])(1, 2, "string"); new (c["a-b"])(1, 2, ...a); ~~~~ !!! error TS2472: Spread operator in 'new' expressions is only available when targeting ECMAScript 5 and higher. new (c["a-b"])(1, 2, ...a, "string"); ~~~~ !!! error TS2472: Spread operator in 'new' expressions is only available when targeting ECMAScript 5 and higher. // Element access expression new g[1]["a-b"](1, 2, "string"); new g[1]["a-b"](1, 2, ...a); ~~~~ !!! error TS2472: Spread operator in 'new' expressions is only available when targeting ECMAScript 5 and higher. new g[1]["a-b"](1, 2, ...a, "string"); ~~~~ !!! error TS2472: Spread operator in 'new' expressions is only available when targeting ECMAScript 5 and higher. // Element access expression with a punctuated key new h["a-b"]["a-b"](1, 2, "string"); new h["a-b"]["a-b"](1, 2, ...a); ~~~~ !!! error TS2472: Spread operator in 'new' expressions is only available when targeting ECMAScript 5 and higher. new h["a-b"]["a-b"](1, 2, ...a, "string"); ~~~~ !!! error TS2472: Spread operator in 'new' expressions is only available when targeting ECMAScript 5 and higher. // Element access expression with a number new i["a-b"][1](1, 2, "string"); new i["a-b"][1](1, 2, ...a); ~~~~ !!! error TS2472: Spread operator in 'new' expressions is only available when targeting ECMAScript 5 and higher. new i["a-b"][1](1, 2, ...a, "string"); ~~~~ !!! error TS2472: Spread operator in 'new' expressions is only available when targeting ECMAScript 5 and higher.