TypeScript/tests/baselines/reference/inheritedMembersAndIndexSignaturesFromDifferentBases.errors.txt

40 lines
1.4 KiB
Plaintext

==== 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