55 lines
No EOL
1.8 KiB
Text
55 lines
No EOL
1.8 KiB
Text
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<T> { // error
|
|
~
|
|
!!! error TS2428: All declarations of an interface must have identical type parameters.
|
|
bar: T;
|
|
}
|
|
|
|
module M {
|
|
interface A<T> {
|
|
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<T> { // ok, different declaration space than other M2
|
|
bar: T;
|
|
}
|
|
}
|
|
|
|
module M3 {
|
|
export interface A {
|
|
foo: string;
|
|
}
|
|
}
|
|
|
|
module M3 {
|
|
export interface A<T> { // error
|
|
~
|
|
!!! error TS2428: All declarations of an interface must have identical type parameters.
|
|
bar: T;
|
|
}
|
|
} |