tests/cases/conformance/types/members/typesWithPrivateConstructor.ts(4,5): error TS1089: 'private' modifier cannot appear on a constructor declaration. tests/cases/conformance/types/members/typesWithPrivateConstructor.ts(8,5): error TS2322: Type 'Function' is not assignable to type '() => void'. tests/cases/conformance/types/members/typesWithPrivateConstructor.ts(11,5): error TS1089: 'private' modifier cannot appear on a constructor declaration. tests/cases/conformance/types/members/typesWithPrivateConstructor.ts(12,5): error TS1089: 'private' modifier cannot appear on a constructor declaration. tests/cases/conformance/types/members/typesWithPrivateConstructor.ts(15,10): error TS2346: Supplied parameters do not match any signature of call target. ==== tests/cases/conformance/types/members/typesWithPrivateConstructor.ts (5 errors) ==== // private constructors are not allowed class C { private constructor() { } ~~~~~~~ !!! error TS1089: 'private' modifier cannot appear on a constructor declaration. } var c = new C(); var r: () => void = c.constructor; ~ !!! error TS2322: Type 'Function' is not assignable to type '() => void'. class C2 { private constructor(x: number); ~~~~~~~ !!! error TS1089: 'private' modifier cannot appear on a constructor declaration. private constructor(x: any) { } ~~~~~~~ !!! error TS1089: 'private' modifier cannot appear on a constructor declaration. } var c2 = new C2(); ~~~~~~~~ !!! error TS2346: Supplied parameters do not match any signature of call target. var r2: (x: number) => void = c2.constructor;