tests/cases/compiler/inheritedMembersAndIndexSignaturesFromDifferentBases.ts(17,11): error TS2411: Property 'm' of type '{}' is not assignable to 'string' index type '{ a: any; }'. tests/cases/compiler/inheritedMembersAndIndexSignaturesFromDifferentBases.ts(23,11): error TS2411: Property '0' of type '{}' is not assignable to 'number' index type '{ a: any; b: any; }'. tests/cases/compiler/inheritedMembersAndIndexSignaturesFromDifferentBases.ts(23,11): error TS2411: Property '0' of type '{}' is not assignable to 'string' index type '{ a: any; }'. tests/cases/compiler/inheritedMembersAndIndexSignaturesFromDifferentBases.ts(25,11): error TS2411: Property '0' of type '{}' is not assignable to 'number' index type '{ a: any; b: any; }'. tests/cases/compiler/inheritedMembersAndIndexSignaturesFromDifferentBases.ts(25,11): error TS2411: Property '0' of type '{}' is not assignable to 'string' index type '{ a: any; }'. tests/cases/compiler/inheritedMembersAndIndexSignaturesFromDifferentBases.ts(25,11): error TS2411: Property 'm' of type '{}' is not assignable to 'string' index type '{ a: any; }'. ==== 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;} ~ !!! error TS2411: 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;} ~ !!! error TS2411: Property '0' of type '{}' is not assignable to 'number' index type '{ a: any; b: any; }'. ~ !!! error TS2411: 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 ~ !!! error TS2411: Property '0' of type '{}' is not assignable to 'number' index type '{ a: any; b: any; }'. ~ !!! error TS2411: Property '0' of type '{}' is not assignable to 'string' index type '{ a: any; }'. ~ !!! error TS2411: 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