Skip to content

Commit 5138e8b

Browse files
committed
Correct tests and update baselines.
A lot of tests used non-numeric property names for object literals that are contextually typed only by a numeric indexer.
1 parent 41db405 commit 5138e8b

File tree

34 files changed

+103
-121
lines changed

34 files changed

+103
-121
lines changed

tests/baselines/reference/computedPropertyNamesContextualType7_ES5.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,17 @@ interface I<T> {
66
declare function foo<T>(obj: I<T>): T
77

88
foo({
9-
p: "",
9+
101: "",
1010
0: () => { },
1111
["hi" + "bye"]: true,
1212
[0 + 1]: 0,
1313
[+"hi"]: [0]
14-
});
14+
});
15+
1516

1617
//// [computedPropertyNamesContextualType7_ES5.js]
1718
foo((_a = {
18-
p: "",
19+
101: "",
1920
0: function () { }
2021
},
2122
_a["hi" + "bye"] = true,

tests/baselines/reference/computedPropertyNamesContextualType7_ES5.symbols

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,10 @@ declare function foo<T>(obj: I<T>): T
1919
foo({
2020
>foo : Symbol(foo, Decl(computedPropertyNamesContextualType7_ES5.ts, 2, 1))
2121

22-
p: "",
23-
>p : Symbol(p, Decl(computedPropertyNamesContextualType7_ES5.ts, 6, 5))
24-
22+
101: "",
2523
0: () => { },
2624
["hi" + "bye"]: true,
2725
[0 + 1]: 0,
2826
[+"hi"]: [0]
2927
});
28+

tests/baselines/reference/computedPropertyNamesContextualType7_ES5.types

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,11 @@ declare function foo<T>(obj: I<T>): T
1717
>T : T
1818

1919
foo({
20-
>foo({ p: "", 0: () => { }, ["hi" + "bye"]: true, [0 + 1]: 0, [+"hi"]: [0]}) : (() => void) | number | number[]
20+
>foo({ 101: "", 0: () => { }, ["hi" + "bye"]: true, [0 + 1]: 0, [+"hi"]: [0]}) : string | (() => void) | number | number[]
2121
>foo : <T>(obj: I<T>) => T
22-
>{ p: "", 0: () => { }, ["hi" + "bye"]: true, [0 + 1]: 0, [+"hi"]: [0]} : { [x: string]: string | (() => void) | boolean | number | number[]; [x: number]: (() => void) | number | number[]; 0: () => void; p: string; }
22+
>{ 101: "", 0: () => { }, ["hi" + "bye"]: true, [0 + 1]: 0, [+"hi"]: [0]} : { [x: string]: string | (() => void) | boolean | number | number[]; [x: number]: string | (() => void) | number | number[]; 0: () => void; 101: string; }
2323

24-
p: "",
25-
>p : string
24+
101: "",
2625
>"" : string
2726

2827
0: () => { },
@@ -47,3 +46,4 @@ foo({
4746
>0 : number
4847

4948
});
49+

tests/baselines/reference/computedPropertyNamesContextualType7_ES6.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,17 @@ interface I<T> {
66
declare function foo<T>(obj: I<T>): T
77

88
foo({
9-
p: "",
9+
101: "",
1010
0: () => { },
1111
["hi" + "bye"]: true,
1212
[0 + 1]: 0,
1313
[+"hi"]: [0]
14-
});
14+
});
15+
1516

1617
//// [computedPropertyNamesContextualType7_ES6.js]
1718
foo({
18-
p: "",
19+
101: "",
1920
0: () => { },
2021
["hi" + "bye"]: true,
2122
[0 + 1]: 0,

tests/baselines/reference/computedPropertyNamesContextualType7_ES6.symbols

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,10 @@ declare function foo<T>(obj: I<T>): T
1919
foo({
2020
>foo : Symbol(foo, Decl(computedPropertyNamesContextualType7_ES6.ts, 2, 1))
2121

22-
p: "",
23-
>p : Symbol(p, Decl(computedPropertyNamesContextualType7_ES6.ts, 6, 5))
24-
22+
101: "",
2523
0: () => { },
2624
["hi" + "bye"]: true,
2725
[0 + 1]: 0,
2826
[+"hi"]: [0]
2927
});
28+

tests/baselines/reference/computedPropertyNamesContextualType7_ES6.types

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,11 @@ declare function foo<T>(obj: I<T>): T
1717
>T : T
1818

1919
foo({
20-
>foo({ p: "", 0: () => { }, ["hi" + "bye"]: true, [0 + 1]: 0, [+"hi"]: [0]}) : (() => void) | number | number[]
20+
>foo({ 101: "", 0: () => { }, ["hi" + "bye"]: true, [0 + 1]: 0, [+"hi"]: [0]}) : string | (() => void) | number | number[]
2121
>foo : <T>(obj: I<T>) => T
22-
>{ p: "", 0: () => { }, ["hi" + "bye"]: true, [0 + 1]: 0, [+"hi"]: [0]} : { [x: string]: string | (() => void) | boolean | number | number[]; [x: number]: (() => void) | number | number[]; 0: () => void; p: string; }
22+
>{ 101: "", 0: () => { }, ["hi" + "bye"]: true, [0 + 1]: 0, [+"hi"]: [0]} : { [x: string]: string | (() => void) | boolean | number | number[]; [x: number]: string | (() => void) | number | number[]; 0: () => void; 101: string; }
2323

24-
p: "",
25-
>p : string
24+
101: "",
2625
>"" : string
2726

2827
0: () => { },
@@ -47,3 +46,4 @@ foo({
4746
>0 : number
4847

4948
});
49+

tests/baselines/reference/indexSignaturesInferentialTyping.js

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,13 @@ function foo<T>(items: { [index: number]: T }): T { return undefined; }
33
function bar<T>(items: { [index: string]: T }): T { return undefined; }
44

55
var x1 = foo({ 0: 0, 1: 1 }); // type should be number
6-
var x2 = foo({ zero: 0, one: 1 });
7-
var x3 = bar({ 0: 0, 1: 1 });
8-
var x4 = bar({ zero: 0, one: 1 }); // type should be number
6+
var x2 = bar({ 0: 0, 1: 1 });
7+
var x3 = bar({ zero: 0, one: 1 }); // type should be number
98

109

1110
//// [indexSignaturesInferentialTyping.js]
1211
function foo(items) { return undefined; }
1312
function bar(items) { return undefined; }
1413
var x1 = foo({ 0: 0, 1: 1 }); // type should be number
15-
var x2 = foo({ zero: 0, one: 1 });
16-
var x3 = bar({ 0: 0, 1: 1 });
17-
var x4 = bar({ zero: 0, one: 1 }); // type should be number
14+
var x2 = bar({ 0: 0, 1: 1 });
15+
var x3 = bar({ zero: 0, one: 1 }); // type should be number

tests/baselines/reference/indexSignaturesInferentialTyping.symbols

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -21,19 +21,13 @@ var x1 = foo({ 0: 0, 1: 1 }); // type should be number
2121
>x1 : Symbol(x1, Decl(indexSignaturesInferentialTyping.ts, 3, 3))
2222
>foo : Symbol(foo, Decl(indexSignaturesInferentialTyping.ts, 0, 0))
2323

24-
var x2 = foo({ zero: 0, one: 1 });
24+
var x2 = bar({ 0: 0, 1: 1 });
2525
>x2 : Symbol(x2, Decl(indexSignaturesInferentialTyping.ts, 4, 3))
26-
>foo : Symbol(foo, Decl(indexSignaturesInferentialTyping.ts, 0, 0))
27-
>zero : Symbol(zero, Decl(indexSignaturesInferentialTyping.ts, 4, 14))
28-
>one : Symbol(one, Decl(indexSignaturesInferentialTyping.ts, 4, 23))
29-
30-
var x3 = bar({ 0: 0, 1: 1 });
31-
>x3 : Symbol(x3, Decl(indexSignaturesInferentialTyping.ts, 5, 3))
3226
>bar : Symbol(bar, Decl(indexSignaturesInferentialTyping.ts, 0, 71))
3327

34-
var x4 = bar({ zero: 0, one: 1 }); // type should be number
35-
>x4 : Symbol(x4, Decl(indexSignaturesInferentialTyping.ts, 6, 3))
28+
var x3 = bar({ zero: 0, one: 1 }); // type should be number
29+
>x3 : Symbol(x3, Decl(indexSignaturesInferentialTyping.ts, 5, 3))
3630
>bar : Symbol(bar, Decl(indexSignaturesInferentialTyping.ts, 0, 71))
37-
>zero : Symbol(zero, Decl(indexSignaturesInferentialTyping.ts, 6, 14))
38-
>one : Symbol(one, Decl(indexSignaturesInferentialTyping.ts, 6, 23))
31+
>zero : Symbol(zero, Decl(indexSignaturesInferentialTyping.ts, 5, 14))
32+
>one : Symbol(one, Decl(indexSignaturesInferentialTyping.ts, 5, 23))
3933

tests/baselines/reference/indexSignaturesInferentialTyping.types

Lines changed: 4 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -25,26 +25,16 @@ var x1 = foo({ 0: 0, 1: 1 }); // type should be number
2525
>0 : number
2626
>1 : number
2727

28-
var x2 = foo({ zero: 0, one: 1 });
29-
>x2 : {}
30-
>foo({ zero: 0, one: 1 }) : {}
31-
>foo : <T>(items: { [index: number]: T; }) => T
32-
>{ zero: 0, one: 1 } : { zero: number; one: number; }
33-
>zero : number
34-
>0 : number
35-
>one : number
36-
>1 : number
37-
38-
var x3 = bar({ 0: 0, 1: 1 });
39-
>x3 : number
28+
var x2 = bar({ 0: 0, 1: 1 });
29+
>x2 : number
4030
>bar({ 0: 0, 1: 1 }) : number
4131
>bar : <T>(items: { [index: string]: T; }) => T
4232
>{ 0: 0, 1: 1 } : { 0: number; 1: number; }
4333
>0 : number
4434
>1 : number
4535

46-
var x4 = bar({ zero: 0, one: 1 }); // type should be number
47-
>x4 : number
36+
var x3 = bar({ zero: 0, one: 1 }); // type should be number
37+
>x3 : number
4838
>bar({ zero: 0, one: 1 }) : number
4939
>bar : <T>(items: { [index: string]: T; }) => T
5040
>{ zero: 0, one: 1 } : { zero: number; one: number; }

tests/baselines/reference/numericIndexerConstrainsPropertyDeclarations.errors.txt

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,8 @@ tests/cases/conformance/types/objectTypeLiteral/indexSignatures/numericIndexerCo
55
tests/cases/conformance/types/objectTypeLiteral/indexSignatures/numericIndexerConstrainsPropertyDeclarations.ts(36,16): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
66
tests/cases/conformance/types/objectTypeLiteral/indexSignatures/numericIndexerConstrainsPropertyDeclarations.ts(50,5): error TS2412: Property '2.0' of type 'number' is not assignable to numeric index type 'string'.
77
tests/cases/conformance/types/objectTypeLiteral/indexSignatures/numericIndexerConstrainsPropertyDeclarations.ts(68,5): error TS2412: Property '2.0' of type 'number' is not assignable to numeric index type 'string'.
8-
tests/cases/conformance/types/objectTypeLiteral/indexSignatures/numericIndexerConstrainsPropertyDeclarations.ts(78,5): error TS2322: Type '{ 1.0: string; 2.0: number; a: string; b: number; c: () => void; "d": string; "e": number; "3.0": string; "4.0": number; f: any; X: string; foo(): string; }' is not assignable to type '{ [x: number]: string; }'.
9-
Property '2.0' is incompatible with index signature.
10-
Type 'number' is not assignable to type 'string'.
8+
tests/cases/conformance/types/objectTypeLiteral/indexSignatures/numericIndexerConstrainsPropertyDeclarations.ts(79,5): error TS2322: Type '{ 1.0: string; 2.0: number; a: string; b: number; c: () => void; "d": string; "e": number; "3.0": string; "4.0": number; f: any; X: string; foo(): string; }' is not assignable to type '{ [x: number]: string; }'.
9+
Object literal may only specify known properties, and 'a' does not exist in type '{ [x: number]: string; }'.
1110
tests/cases/conformance/types/objectTypeLiteral/indexSignatures/numericIndexerConstrainsPropertyDeclarations.ts(88,9): error TS2304: Cannot find name 'Myn'.
1211
tests/cases/conformance/types/objectTypeLiteral/indexSignatures/numericIndexerConstrainsPropertyDeclarations.ts(90,9): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
1312
tests/cases/conformance/types/objectTypeLiteral/indexSignatures/numericIndexerConstrainsPropertyDeclarations.ts(93,9): error TS1056: Accessors are only available when targeting ECMAScript 5 and higher.
@@ -106,11 +105,10 @@ tests/cases/conformance/types/objectTypeLiteral/indexSignatures/numericIndexerCo
106105

107106
// error
108107
var b: { [x: number]: string; } = {
109-
~
110-
!!! error TS2322: Type '{ 1.0: string; 2.0: number; a: string; b: number; c: () => void; "d": string; "e": number; "3.0": string; "4.0": number; f: any; X: string; foo(): string; }' is not assignable to type '{ [x: number]: string; }'.
111-
!!! error TS2322: Property '2.0' is incompatible with index signature.
112-
!!! error TS2322: Type 'number' is not assignable to type 'string'.
113108
a: '',
109+
~~~~~
110+
!!! error TS2322: Type '{ 1.0: string; 2.0: number; a: string; b: number; c: () => void; "d": string; "e": number; "3.0": string; "4.0": number; f: any; X: string; foo(): string; }' is not assignable to type '{ [x: number]: string; }'.
111+
!!! error TS2322: Object literal may only specify known properties, and 'a' does not exist in type '{ [x: number]: string; }'.
114112
b: 1,
115113
c: () => { },
116114
"d": '',

tests/baselines/reference/numericIndexerConstrainsPropertyDeclarations2.errors.txt

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
tests/cases/conformance/types/objectTypeLiteral/indexSignatures/numericIndexerConstrainsPropertyDeclarations2.ts(16,5): error TS2412: Property '3.0' of type 'number' is not assignable to numeric index type 'A'.
22
tests/cases/conformance/types/objectTypeLiteral/indexSignatures/numericIndexerConstrainsPropertyDeclarations2.ts(25,5): error TS2412: Property '3.0' of type 'number' is not assignable to numeric index type 'A'.
33
tests/cases/conformance/types/objectTypeLiteral/indexSignatures/numericIndexerConstrainsPropertyDeclarations2.ts(34,5): error TS2412: Property '3.0' of type 'number' is not assignable to numeric index type 'A'.
4-
tests/cases/conformance/types/objectTypeLiteral/indexSignatures/numericIndexerConstrainsPropertyDeclarations2.ts(39,5): error TS2322: Type '{ 1.0: A; 2.0: B; 3.0: number; "2.5": B; "4.0": string; }' is not assignable to type '{ [x: number]: A; }'.
5-
Property '3.0' is incompatible with index signature.
6-
Type 'number' is not assignable to type 'A'.
4+
tests/cases/conformance/types/objectTypeLiteral/indexSignatures/numericIndexerConstrainsPropertyDeclarations2.ts(44,5): error TS2322: Type '{ 1.0: A; 2.0: B; 3.0: number; "2.5": B; "4.0": string; }' is not assignable to type '{ [x: number]: A; }'.
5+
Object literal may only specify known properties, and '"4.0"' does not exist in type '{ [x: number]: A; }'.
76

87

98
==== tests/cases/conformance/types/objectTypeLiteral/indexSignatures/numericIndexerConstrainsPropertyDeclarations2.ts (4 errors) ====
@@ -52,13 +51,12 @@ tests/cases/conformance/types/objectTypeLiteral/indexSignatures/numericIndexerCo
5251

5352
// error
5453
var b: { [x: number]: A } = {
55-
~
56-
!!! error TS2322: Type '{ 1.0: A; 2.0: B; 3.0: number; "2.5": B; "4.0": string; }' is not assignable to type '{ [x: number]: A; }'.
57-
!!! error TS2322: Property '3.0' is incompatible with index signature.
58-
!!! error TS2322: Type 'number' is not assignable to type 'A'.
5954
1.0: new A(),
6055
2.0: new B(),
6156
"2.5": new B(),
6257
3.0: 1,
6358
"4.0": ''
59+
~~~~~~~~~
60+
!!! error TS2322: Type '{ 1.0: A; 2.0: B; 3.0: number; "2.5": B; "4.0": string; }' is not assignable to type '{ [x: number]: A; }'.
61+
!!! error TS2322: Object literal may only specify known properties, and '"4.0"' does not exist in type '{ [x: number]: A; }'.
6462
}

tests/baselines/reference/numericIndexerConstraint4.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@ class B extends A {
99

1010
var x: {
1111
[idx: number]: A;
12-
} = { data: new B() }
12+
} = { 0: new B() }
13+
1314

1415
//// [numericIndexerConstraint4.js]
1516
var __extends = (this && this.__extends) || function (d, b) {
@@ -29,4 +30,4 @@ var B = (function (_super) {
2930
}
3031
return B;
3132
}(A));
32-
var x = { data: new B() };
33+
var x = { 0: new B() };

tests/baselines/reference/numericIndexerConstraint4.symbols

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ var x: {
2121
>idx : Symbol(idx, Decl(numericIndexerConstraint4.ts, 9, 5))
2222
>A : Symbol(A, Decl(numericIndexerConstraint4.ts, 0, 0))
2323

24-
} = { data: new B() }
25-
>data : Symbol(data, Decl(numericIndexerConstraint4.ts, 10, 5))
24+
} = { 0: new B() }
2625
>B : Symbol(B, Decl(numericIndexerConstraint4.ts, 2, 1))
2726

tests/baselines/reference/numericIndexerConstraint4.types

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,8 @@ var x: {
2121
>idx : number
2222
>A : A
2323

24-
} = { data: new B() }
25-
>{ data: new B() } : { data: B; }
26-
>data : B
24+
} = { 0: new B() }
25+
>{ 0: new B() } : { 0: B; }
2726
>new B() : B
2827
>B : typeof B
2928

tests/baselines/reference/objectLitIndexerContextualType.errors.txt

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,13 @@ tests/cases/compiler/objectLitIndexerContextualType.ts(12,13): error TS2362: The
22
tests/cases/compiler/objectLitIndexerContextualType.ts(12,17): error TS2363: The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type.
33
tests/cases/compiler/objectLitIndexerContextualType.ts(15,13): error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type.
44
tests/cases/compiler/objectLitIndexerContextualType.ts(15,17): error TS2363: The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type.
5+
tests/cases/compiler/objectLitIndexerContextualType.ts(18,5): error TS2322: Type '{ s: (t: any) => number; }' is not assignable to type 'J'.
6+
Object literal may only specify known properties, and 's' does not exist in type 'J'.
57
tests/cases/compiler/objectLitIndexerContextualType.ts(21,13): error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type.
68
tests/cases/compiler/objectLitIndexerContextualType.ts(21,17): error TS2363: The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type.
79

810

9-
==== tests/cases/compiler/objectLitIndexerContextualType.ts (6 errors) ====
11+
==== tests/cases/compiler/objectLitIndexerContextualType.ts (7 errors) ====
1012
interface I {
1113
[s: string]: (s: string) => number;
1214
}
@@ -32,12 +34,16 @@ tests/cases/compiler/objectLitIndexerContextualType.ts(21,17): error TS2363: The
3234
!!! error TS2363: The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type.
3335
};
3436
y = {
35-
s: t => t * t, // Should not error
37+
s: t => t * t, // Should error
38+
~~~~~~~~~~~~~
39+
!!! error TS2322: Type '{ s: (t: any) => number; }' is not assignable to type 'J'.
40+
!!! error TS2322: Object literal may only specify known properties, and 's' does not exist in type 'J'.
3641
};
3742
y = {
3843
0: t => t * t, // Should error
3944
~
4045
!!! error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type.
4146
~
4247
!!! error TS2363: The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type.
43-
};
48+
};
49+

tests/baselines/reference/objectLitIndexerContextualType.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,12 @@ x = {
1616
0: t => t * t, // Should error
1717
};
1818
y = {
19-
s: t => t * t, // Should not error
19+
s: t => t * t, // Should error
2020
};
2121
y = {
2222
0: t => t * t, // Should error
23-
};
23+
};
24+
2425

2526
//// [objectLitIndexerContextualType.js]
2627
var x;

tests/baselines/reference/objectTypesIdentityWithNumericIndexers1.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ class PB extends B {
2626
var a: {
2727
[x: number]: string;
2828
}
29-
var b: { [x: number]: string; } = { foo: '' };
29+
var b: { [x: number]: string; } = { 0: '' };
3030

3131
function foo1(x: A);
3232
function foo1(x: A); // error
@@ -159,7 +159,7 @@ var PB = (function (_super) {
159159
return PB;
160160
}(B));
161161
var a;
162-
var b = { foo: '' };
162+
var b = { 0: '' };
163163
function foo1(x) { }
164164
function foo1b(x) { }
165165
function foo1c(x) { }

tests/baselines/reference/objectTypesIdentityWithNumericIndexers1.symbols

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -47,23 +47,22 @@ var a: {
4747
[x: number]: string;
4848
>x : Symbol(x, Decl(objectTypesIdentityWithNumericIndexers1.ts, 25, 5))
4949
}
50-
var b: { [x: number]: string; } = { foo: '' };
50+
var b: { [x: number]: string; } = { 0: '' };
5151
>b : Symbol(b, Decl(objectTypesIdentityWithNumericIndexers1.ts, 27, 3))
5252
>x : Symbol(x, Decl(objectTypesIdentityWithNumericIndexers1.ts, 27, 10))
53-
>foo : Symbol(foo, Decl(objectTypesIdentityWithNumericIndexers1.ts, 27, 35))
5453

5554
function foo1(x: A);
56-
>foo1 : Symbol(foo1, Decl(objectTypesIdentityWithNumericIndexers1.ts, 27, 46), Decl(objectTypesIdentityWithNumericIndexers1.ts, 29, 20), Decl(objectTypesIdentityWithNumericIndexers1.ts, 30, 20))
55+
>foo1 : Symbol(foo1, Decl(objectTypesIdentityWithNumericIndexers1.ts, 27, 44), Decl(objectTypesIdentityWithNumericIndexers1.ts, 29, 20), Decl(objectTypesIdentityWithNumericIndexers1.ts, 30, 20))
5756
>x : Symbol(x, Decl(objectTypesIdentityWithNumericIndexers1.ts, 29, 14))
5857
>A : Symbol(A, Decl(objectTypesIdentityWithNumericIndexers1.ts, 0, 0))
5958

6059
function foo1(x: A); // error
61-
>foo1 : Symbol(foo1, Decl(objectTypesIdentityWithNumericIndexers1.ts, 27, 46), Decl(objectTypesIdentityWithNumericIndexers1.ts, 29, 20), Decl(objectTypesIdentityWithNumericIndexers1.ts, 30, 20))
60+
>foo1 : Symbol(foo1, Decl(objectTypesIdentityWithNumericIndexers1.ts, 27, 44), Decl(objectTypesIdentityWithNumericIndexers1.ts, 29, 20), Decl(objectTypesIdentityWithNumericIndexers1.ts, 30, 20))
6261
>x : Symbol(x, Decl(objectTypesIdentityWithNumericIndexers1.ts, 30, 14))
6362
>A : Symbol(A, Decl(objectTypesIdentityWithNumericIndexers1.ts, 0, 0))
6463

6564
function foo1(x: any) { }
66-
>foo1 : Symbol(foo1, Decl(objectTypesIdentityWithNumericIndexers1.ts, 27, 46), Decl(objectTypesIdentityWithNumericIndexers1.ts, 29, 20), Decl(objectTypesIdentityWithNumericIndexers1.ts, 30, 20))
65+
>foo1 : Symbol(foo1, Decl(objectTypesIdentityWithNumericIndexers1.ts, 27, 44), Decl(objectTypesIdentityWithNumericIndexers1.ts, 29, 20), Decl(objectTypesIdentityWithNumericIndexers1.ts, 30, 20))
6766
>x : Symbol(x, Decl(objectTypesIdentityWithNumericIndexers1.ts, 31, 14))
6867

6968
function foo1b(x: B);

tests/baselines/reference/objectTypesIdentityWithNumericIndexers1.types

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,11 +47,10 @@ var a: {
4747
[x: number]: string;
4848
>x : number
4949
}
50-
var b: { [x: number]: string; } = { foo: '' };
50+
var b: { [x: number]: string; } = { 0: '' };
5151
>b : { [x: number]: string; }
5252
>x : number
53-
>{ foo: '' } : { foo: string; }
54-
>foo : string
53+
>{ 0: '' } : { 0: string; }
5554
>'' : string
5655

5756
function foo1(x: A);

0 commit comments

Comments
 (0)