==== tests/cases/compiler/inheritedMembersAndIndexSignaturesFromDifferentBases.ts (6 errors) ==== // indexer in B is a subtype of indexer in A interface A { [s: string]: { a; }; } interface B { [s: number]: { a; b; }; } interface C { m: {}; } interface D extends A, B, C { } // error because m is not a subtype of {a;} ~ !!! Property 'm' of type '{}' is not assignable to string index type '{ a: any; }'. interface E { 0: {}; } interface F extends A, B, E { } // error because 0 is not a subtype of {a; b;} ~ !!! Property '0' of type '{}' is not assignable to numeric index type '{ a: any; b: any; }'. ~ !!! Property '0' of type '{}' is not assignable to string index type '{ a: any; }'. interface G extends A, B, C, E { } // should only report one error ~ !!! Property '0' of type '{}' is not assignable to numeric index type '{ a: any; b: any; }'. ~ !!! Property '0' of type '{}' is not assignable to string index type '{ a: any; }'. ~ !!! Property 'm' of type '{}' is not assignable to string index type '{ a: any; }'. interface H extends A, F { } // Should report no error at all because error is internal to F