//// [constructSignaturesWithOverloadsThatDifferOnlyByReturnType.ts] // Error for construct signature overloads to differ only by return type class C { constructor(x: number) { } } class C2 { constructor(x: T, y?: string) { } } interface I { new(x: number, y: string): C; new(x: number, y: string): C2; // error } interface I2 { new (x: T, y: string): C2; new (x: T, y: string): C; // error new (x: T, y: string): C2; new (x: T, y: string): C; // error } var a: { new (x: number, y: string): C2; new (x: number, y: string): C; // error } var b: { new (x: T, y: string): C2; new (x: T, y: string): C; // error } //// [constructSignaturesWithOverloadsThatDifferOnlyByReturnType.js] var C = (function () { function C(x) { } return C; })(); var C2 = (function () { function C2(x, y) { } return C2; })(); var a; var b;