24 lines
No EOL
949 B
Text
24 lines
No EOL
949 B
Text
tests/cases/compiler/objectLiteralIndexerErrors.ts(13,5): error TS2322: Type '{ [x: string]: A; [x: number]: A; 0: A; x: B; }' is not assignable to type '{ [s: string]: A; [n: number]: B; }'.
|
|
Index signatures are incompatible.
|
|
Type 'A' is not assignable to type 'B'.
|
|
|
|
|
|
==== tests/cases/compiler/objectLiteralIndexerErrors.ts (1 errors) ====
|
|
interface A {
|
|
x: number;
|
|
}
|
|
|
|
interface B extends A {
|
|
y: string;
|
|
}
|
|
|
|
var a: A;
|
|
var b: B;
|
|
var c: any;
|
|
|
|
var o1: { [s: string]: A;[n: number]: B; } = { x: b, 0: a }; // both indexers are A
|
|
~~
|
|
!!! error TS2322: Type '{ [x: string]: A; [x: number]: A; 0: A; x: B; }' is not assignable to type '{ [s: string]: A; [n: number]: B; }'.
|
|
!!! error TS2322: Index signatures are incompatible.
|
|
!!! error TS2322: Type 'A' is not assignable to type 'B'.
|
|
o1 = { x: c, 0: a }; // string indexer is any, number indexer is A |