TypeScript/tests/baselines/reference/inheritedMembersAndIndexSignaturesFromDifferentBases.errors.txt
2014-09-12 13:35:07 -07:00

48 lines
2.5 KiB
Plaintext

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 string index type '{ a: any; }'.
tests/cases/compiler/inheritedMembersAndIndexSignaturesFromDifferentBases.ts(23,11): error TS2412: Property '0' of type '{}' is not assignable to numeric 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(25,11): error TS2412: Property '0' of type '{}' is not assignable to numeric index type '{ a: any; b: 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 string index type '{ a: any; }'.
~
!!! error TS2412: Property '0' of type '{}' is not assignable to numeric index type '{ a: any; b: any; }'.
interface G extends A, B, C, E { } // should only report one error
~
!!! 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; }'.
~
!!! error TS2412: Property '0' of type '{}' is not assignable to numeric index type '{ a: any; b: any; }'.
interface H extends A, F { } // Should report no error at all because error is internal to F