==== tests/cases/conformance/interfaces/declarationMerging/twoGenericInterfacesDifferingByTypeParameterName.ts (5 errors) ==== // type parameter names are relevant when choosing whether to merge interface declarations interface A { x: T; } interface A { // error ~ !!! All declarations of an interface must have identical type parameters. y: U; } interface B { x: U; } interface B { // error ~ !!! All declarations of an interface must have identical type parameters. y: V; } module M { interface A { x: T; } interface A { // error ~ !!! All declarations of an interface must have identical type parameters. y: U; } interface B { x: U; } interface B { // error ~ !!! All declarations of an interface must have identical type parameters. y: V; } } module M2 { interface B { x: U; } } module M2 { interface B { // ok, different declaration space than other M2 y: V; } } module M3 { export interface B { x: U; } } module M3 { export interface B { // error ~ !!! All declarations of an interface must have identical type parameters. y: V; } }