1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
//// [tests/cases/compiler/inheritedStringIndexersFromDifferentBaseTypes2.ts] ////
//// [inheritedStringIndexersFromDifferentBaseTypes2.ts]
// indexer in B is a subtype of indexer in A
interface A {
[s: string]: {
a;
};
}
interface B {
[s: number]: {
a;
b;
};
}
interface C extends A, B { } // ok
interface D {
[s: number]: {};
}
interface E extends A, D { } // error
interface F extends A, D {
[s: number]: {
a;
};
} // ok because we overrode D's number index signature
//// [inheritedStringIndexersFromDifferentBaseTypes2.js]
|