2014-07-13 01:04:16 +02:00
|
|
|
==== tests/cases/compiler/inheritedStringIndexersFromDifferentBaseTypes2.ts (1 errors) ====
|
|
|
|
// 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
|
2014-07-19 02:30:06 +02:00
|
|
|
~
|
2014-07-13 01:04:16 +02:00
|
|
|
!!! Numeric index type '{}' is not assignable to string index type '{ a: any; }'.
|
|
|
|
|
|
|
|
interface F extends A, D {
|
|
|
|
[s: number]: {
|
|
|
|
a;
|
|
|
|
};
|
|
|
|
} // ok because we overrode D's number index signature
|