tests/cases/conformance/classes/propertyMemberDeclarations/memberFunctionDeclarations/memberFunctionsWithPrivateOverloads.ts(43,9): error TS2341: Property 'foo' is private and only accessible within class 'C'. tests/cases/conformance/classes/propertyMemberDeclarations/memberFunctionDeclarations/memberFunctionsWithPrivateOverloads.ts(46,10): error TS2341: Property 'foo' is private and only accessible within class 'D'. tests/cases/conformance/classes/propertyMemberDeclarations/memberFunctionDeclarations/memberFunctionsWithPrivateOverloads.ts(48,10): error TS2341: Property 'foo' is private and only accessible within class 'C'. tests/cases/conformance/classes/propertyMemberDeclarations/memberFunctionDeclarations/memberFunctionsWithPrivateOverloads.ts(49,10): error TS2341: Property 'bar' is private and only accessible within class 'D'. ==== tests/cases/conformance/classes/propertyMemberDeclarations/memberFunctionDeclarations/memberFunctionsWithPrivateOverloads.ts (4 errors) ==== class C { private foo(x: number); private foo(x: number, y: string); private foo(x: any, y?: any) { } private bar(x: 'hi'); private bar(x: string); private bar(x: number, y: string); private bar(x: any, y?: any) { } private static foo(x: number); private static foo(x: number, y: string); private static foo(x: any, y?: any) { } private static bar(x: 'hi'); private static bar(x: string); private static bar(x: number, y: string); private static bar(x: any, y?: any) { } } class D { private foo(x: number); private foo(x: T, y: T); private foo(x: any, y?: any) { } private bar(x: 'hi'); private bar(x: string); private bar(x: T, y: T); private bar(x: any, y?: any) { } private static foo(x: number); private static foo(x: number, y: number); private static foo(x: any, y?: any) { } private static bar(x: 'hi'); private static bar(x: string); private static bar(x: number, y: number); private static bar(x: any, y?: any) { } } var c: C; var r = c.foo(1); // error ~~~~~ !!! error TS2341: Property 'foo' is private and only accessible within class 'C'. var d: D; var r2 = d.foo(2); // error ~~~~~ !!! error TS2341: Property 'foo' is private and only accessible within class 'D'. var r3 = C.foo(1); // error ~~~~~ !!! error TS2341: Property 'foo' is private and only accessible within class 'C'. var r4 = D.bar(''); // error ~~~~~ !!! error TS2341: Property 'bar' is private and only accessible within class 'D'.