//// [twoGenericInterfacesDifferingByTypeParameterName.ts] // type parameter names are relevant when choosing whether to merge interface declarations interface A { x: T; } interface A { // error y: U; } interface B { x: U; } interface B { // error y: V; } module M { interface A { x: T; } interface A { // error y: U; } interface B { x: U; } interface B { // error 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 y: V; } } //// [twoGenericInterfacesDifferingByTypeParameterName.js]