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 30 31 32 33 34 35 36 37 38 39 40
|
=== tests/cases/compiler/inheritedStringIndexersFromDifferentBaseTypes2.ts ===
// indexer in B is a subtype of indexer in A
interface A {
[s: string]: {
>s : string
a;
>a : any
};
}
interface B {
[s: number]: {
>s : number
a;
>a : any
b;
>b : any
};
}
interface C extends A, B { } // ok
interface D {
[s: number]: {};
>s : number
}
interface E extends A, D { } // error
interface F extends A, D {
[s: number]: {
>s : number
a;
>a : any
};
} // ok because we overrode D's number index signature
|