24 lines
No EOL
415 B
TypeScript
24 lines
No EOL
415 B
TypeScript
// 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
|