TypeScript/tests/baselines/reference/twoGenericInterfacesDifferingByTypeParameterName2.errors.txt
2014-09-12 13:35:07 -07:00

60 lines
2 KiB
Plaintext

tests/cases/conformance/interfaces/declarationMerging/twoGenericInterfacesDifferingByTypeParameterName2.ts(7,11): error TS2428: All declarations of an interface must have identical type parameters.
tests/cases/conformance/interfaces/declarationMerging/twoGenericInterfacesDifferingByTypeParameterName2.ts(8,8): error TS2304: Cannot find name 'V'.
tests/cases/conformance/interfaces/declarationMerging/twoGenericInterfacesDifferingByTypeParameterName2.ts(16,15): error TS2428: All declarations of an interface must have identical type parameters.
tests/cases/conformance/interfaces/declarationMerging/twoGenericInterfacesDifferingByTypeParameterName2.ts(40,22): error TS2428: All declarations of an interface must have identical type parameters.
==== tests/cases/conformance/interfaces/declarationMerging/twoGenericInterfacesDifferingByTypeParameterName2.ts (4 errors) ====
// type parameter names are relevant when choosing whether to merge interface declarations
interface B<T, U> {
x: U;
}
interface B<U, T> { // error
~
!!! error TS2428: All declarations of an interface must have identical type parameters.
y: V;
~
!!! error TS2304: Cannot find name 'V'.
}
module M {
interface B<T, U> {
x: U;
}
interface B<U, T> { // error
~
!!! error TS2428: All declarations of an interface must have identical type parameters.
y: T;
}
}
module M2 {
interface B<T, U> {
x: U;
}
}
module M2 {
interface B<U, T> { // ok, different declaration space than other M2
y: T;
}
}
module M3 {
export interface B<T, U> {
x: U;
}
}
module M3 {
export interface B<U, T> { // error
~
!!! error TS2428: All declarations of an interface must have identical type parameters.
y: T;
}
}