TypeScript/tests/baselines/reference/inheritedStringIndexersFromDifferentBaseTypes.errors.txt
2014-07-12 17:30:19 -07:00

37 lines
1 KiB
Plaintext

==== tests/cases/compiler/inheritedStringIndexersFromDifferentBaseTypes.ts (2 errors) ====
// string indexer tests
interface A {
[s: string]: number;
}
interface B {
[s: string]: number;
}
interface C extends A, B { } // ok
interface D {
[s: string]: string;
}
interface E extends A, D { } // error
~
!!! Interface 'E' incorrectly extends interface 'D':
!!! Index signatures are incompatible:
!!! Type 'number' is not assignable to type 'string'.
// Same tests for number indexer
interface A2 {
[s: number]: number;
}
interface B2 {
[s: number]: number;
}
interface C2 extends A2, B2 { } // ok
interface D2 {
[s: number]: string;
}
interface E2 extends A2, D2 { } // error
~~
!!! Interface 'E2' incorrectly extends interface 'D2':
!!! Index signatures are incompatible:
!!! Type 'number' is not assignable to type 'string'.