28 lines
512 B
JavaScript
28 lines
512 B
JavaScript
|
//// [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]
|