==== tests/cases/conformance/types/objectTypeLiteral/callSignatures/callSignaturesWithDuplicateParameters.ts (22 errors) ==== // Duplicate parameter names are always an error function foo(x, x) { } ~ !!! Duplicate identifier 'x'. var f = function foo(x, x) { } ~ !!! Duplicate identifier 'x'. var f2 = function (x, x) { } ~ !!! Duplicate identifier 'x'. var f3 = (x, x) => { } ~ !!! Duplicate identifier 'x'. var f4 = (x: T, x: T) => { } ~ !!! Duplicate identifier 'x'. function foo2(x: string, x: number) { } ~ !!! Duplicate identifier 'x'. var f5 = function foo(x: string, x: number) { } ~ !!! Duplicate identifier 'x'. var f6 = function (x: string, x: number) { } ~ !!! Duplicate identifier 'x'. var f7 = (x: string, x: number) => { } ~ !!! Duplicate identifier 'x'. var f8 = (x: T, y: T) => { } class C { foo(x, x) { } ~ !!! Duplicate identifier 'x'. foo2(x: number, x: string) { } ~ !!! Duplicate identifier 'x'. foo3(x: T, x: T) { } ~ !!! Duplicate identifier 'x'. } interface I { (x, x); ~ !!! Duplicate identifier 'x'. (x: string, x: number); ~ !!! Duplicate identifier 'x'. foo(x, x); ~ !!! Duplicate identifier 'x'. foo(x: number, x: string); ~ !!! Duplicate identifier 'x'. foo3(x: T, x: T); ~ !!! Duplicate identifier 'x'. } var a: { foo(x, x); ~ !!! Duplicate identifier 'x'. foo2(x: number, x: string); ~ !!! Duplicate identifier 'x'. }; var b = { foo(x, x) { }, ~ !!! Duplicate identifier 'x'. a: function foo(x: number, x: string) { }, ~ !!! Duplicate identifier 'x'. b: (x: T, x: T) => { } ~ !!! Duplicate identifier 'x'. }