48 lines
No EOL
2.5 KiB
Text
48 lines
No EOL
2.5 KiB
Text
tests/cases/compiler/inheritedMembersAndIndexSignaturesFromDifferentBases.ts(17,11): error TS2411: Property 'm' of type '{}' is not assignable to string index type '{ a: any; }'.
|
|
tests/cases/compiler/inheritedMembersAndIndexSignaturesFromDifferentBases.ts(23,11): error TS2411: Property '0' of type '{}' is not assignable to string index type '{ a: any; }'.
|
|
tests/cases/compiler/inheritedMembersAndIndexSignaturesFromDifferentBases.ts(23,11): error TS2412: Property '0' of type '{}' is not assignable to numeric index type '{ a: any; b: any; }'.
|
|
tests/cases/compiler/inheritedMembersAndIndexSignaturesFromDifferentBases.ts(25,11): error TS2411: Property '0' of type '{}' is not assignable to string index type '{ a: any; }'.
|
|
tests/cases/compiler/inheritedMembersAndIndexSignaturesFromDifferentBases.ts(25,11): error TS2411: Property 'm' of type '{}' is not assignable to string index type '{ a: any; }'.
|
|
tests/cases/compiler/inheritedMembersAndIndexSignaturesFromDifferentBases.ts(25,11): error TS2412: Property '0' of type '{}' is not assignable to numeric index type '{ a: any; b: any; }'.
|
|
|
|
|
|
==== tests/cases/compiler/inheritedMembersAndIndexSignaturesFromDifferentBases.ts (6 errors) ====
|
|
// indexer in B is a subtype of indexer in A
|
|
interface A {
|
|
[s: string]: {
|
|
a;
|
|
};
|
|
}
|
|
interface B {
|
|
[s: number]: {
|
|
a;
|
|
b;
|
|
};
|
|
}
|
|
interface C {
|
|
m: {};
|
|
}
|
|
|
|
interface D extends A, B, C { } // error because m is not a subtype of {a;}
|
|
~
|
|
!!! error TS2411: Property 'm' of type '{}' is not assignable to string index type '{ a: any; }'.
|
|
|
|
interface E {
|
|
0: {};
|
|
}
|
|
|
|
interface F extends A, B, E { } // error because 0 is not a subtype of {a; b;}
|
|
~
|
|
!!! error TS2411: Property '0' of type '{}' is not assignable to string index type '{ a: any; }'.
|
|
~
|
|
!!! error TS2412: Property '0' of type '{}' is not assignable to numeric index type '{ a: any; b: any; }'.
|
|
|
|
interface G extends A, B, C, E { } // should only report one error
|
|
~
|
|
!!! error TS2411: Property '0' of type '{}' is not assignable to string index type '{ a: any; }'.
|
|
~
|
|
!!! error TS2411: Property 'm' of type '{}' is not assignable to string index type '{ a: any; }'.
|
|
~
|
|
!!! error TS2412: Property '0' of type '{}' is not assignable to numeric index type '{ a: any; b: any; }'.
|
|
|
|
interface H extends A, F { } // Should report no error at all because error is internal to F |