tests/cases/compiler/genericSpecializations2.ts(8,9): error TS2368: Type parameter name cannot be 'string' tests/cases/compiler/genericSpecializations2.ts(12,9): error TS2368: Type parameter name cannot be 'string' ==== tests/cases/compiler/genericSpecializations2.ts (2 errors) ==== class IFoo { foo(x: T): T { // no error on implementors because IFoo's T is different from foo's T return null; } } class IntFooBad implements IFoo { foo(x: string): string { return null; } ~~~~~~ !!! error TS2368: Type parameter name cannot be 'string' } class StringFoo2 implements IFoo { foo(x: string): string { return null; } ~~~~~~ !!! error TS2368: Type parameter name cannot be 'string' } class StringFoo3 implements IFoo { foo(x: T): T { return null; } }