tests/cases/conformance/interfaces/declarationMerging/genericAndNonGenericInterfaceWithTheSameName.ts(7,11): error TS2428: All declarations of an interface must have identical type parameters. tests/cases/conformance/interfaces/declarationMerging/genericAndNonGenericInterfaceWithTheSameName.ts(16,15): error TS2428: All declarations of an interface must have identical type parameters. tests/cases/conformance/interfaces/declarationMerging/genericAndNonGenericInterfaceWithTheSameName.ts(40,22): error TS2428: All declarations of an interface must have identical type parameters. ==== tests/cases/conformance/interfaces/declarationMerging/genericAndNonGenericInterfaceWithTheSameName.ts (3 errors) ==== // generic and non-generic interfaces with the same name do not merge interface A { foo: string; } interface A { // error ~ !!! error TS2428: All declarations of an interface must have identical type parameters. bar: T; } module M { interface A { bar: T; } interface A { // error ~ !!! error TS2428: All declarations of an interface must have identical type parameters. foo: string; } } module M2 { interface A { foo: string; } } module M2 { interface A { // ok, different declaration space than other M2 bar: T; } } module M3 { export interface A { foo: string; } } module M3 { export interface A { // error ~ !!! error TS2428: All declarations of an interface must have identical type parameters. bar: T; } }