//// [newOperatorErrorCases.ts] class C0 { } class C1 { constructor(n: number, s: string) { } } class T { constructor(n?: T) { } } var anyCtor: { new (): any; }; var anyCtor1: { new (n): any; }; interface nestedCtor { new (): nestedCtor; } var nestedCtor: nestedCtor; // Construct expression with no parentheses for construct signature with > 0 parameters var b = new C0 32, ''; // Parse error // Generic construct expression with no parentheses var c1 = new T; var c1: T<{}>; var c2 = new T; // Parse error // Construct expression of non-void returning function function fnNumber(): number { return 32; } var s = new fnNumber(); // Error //// [newOperatorErrorCases.js] var C0 = (function () { function C0() { } return C0; })(); var C1 = (function () { function C1(n, s) { } return C1; })(); var T = (function () { function T(n) { } return T; })(); var anyCtor; var anyCtor1; var nestedCtor; // Construct expression with no parentheses for construct signature with > 0 parameters var b = new C0; 32, ''; // Parse error // Generic construct expression with no parentheses var c1 = new T; var c1; var c2 = new T(); // Parse error // Construct expression of non-void returning function function fnNumber() { return 32; } var s = new fnNumber(); // Error