tests/cases/compiler/genericsWithDuplicateTypeParameters1.ts(1,15): error TS2300: Duplicate identifier 'x'. tests/cases/compiler/genericsWithDuplicateTypeParameters1.ts(2,16): error TS2300: Duplicate identifier 'X'. tests/cases/compiler/genericsWithDuplicateTypeParameters1.ts(3,12): error TS2300: Duplicate identifier 'X'. tests/cases/compiler/genericsWithDuplicateTypeParameters1.ts(4,17): error TS2300: Duplicate identifier 'x'. tests/cases/compiler/genericsWithDuplicateTypeParameters1.ts(5,18): error TS2300: Duplicate identifier 'X'. tests/cases/compiler/genericsWithDuplicateTypeParameters1.ts(8,16): error TS2300: Duplicate identifier 'X'. tests/cases/compiler/genericsWithDuplicateTypeParameters1.ts(9,10): error TS2300: Duplicate identifier 'X'. tests/cases/compiler/genericsWithDuplicateTypeParameters1.ts(10,11): error TS2300: Duplicate identifier 'X'. tests/cases/compiler/genericsWithDuplicateTypeParameters1.ts(14,22): error TS2300: Duplicate identifier 'X'. tests/cases/compiler/genericsWithDuplicateTypeParameters1.ts(15,23): error TS2300: Duplicate identifier 'X'. ==== tests/cases/compiler/genericsWithDuplicateTypeParameters1.ts (10 errors) ==== function f() { } ~ !!! error TS2300: Duplicate identifier 'x'. function f2(a: X, b: X): X { return null; } ~ !!! error TS2300: Duplicate identifier 'X'. class C { ~ !!! error TS2300: Duplicate identifier 'X'. public f() {} ~ !!! error TS2300: Duplicate identifier 'x'. public f2(a: X, b: X): X { return null; } ~ !!! error TS2300: Duplicate identifier 'X'. } interface I { ~ !!! error TS2300: Duplicate identifier 'X'. f(); ~ !!! error TS2300: Duplicate identifier 'X'. f2(a: X, b: X): X; ~ !!! error TS2300: Duplicate identifier 'X'. } var m = { a: function f() {}, ~ !!! error TS2300: Duplicate identifier 'X'. b: function f2(a: X, b: X): X { return null; } ~ !!! error TS2300: Duplicate identifier 'X'. }