Skip to content

Commit 5c661ba

Browse files
committed
Accepting new baselines after merge with master
The tuple type tests from master need to be updated to reflect the new best common type behavior from union types. This commit simply accepts the baselines as they are.
1 parent ea4cbbe commit 5c661ba

23 files changed

+990
-940
lines changed
Lines changed: 37 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,38 @@
1-
tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatBetweenTupleAndArray.ts(17,1): error TS2322: Type '[number, string]' is not assignable to type 'number[]':
2-
Types of property 'pop' are incompatible:
3-
Type '() => {}' is not assignable to type '() => number':
4-
Type '{}' is not assignable to type 'number'.
5-
tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatBetweenTupleAndArray.ts(18,1): error TS2322: Type '{}[]' is not assignable to type '[{}]':
6-
Property '0' is missing in type '{}[]'.
7-
8-
9-
==== tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatBetweenTupleAndArray.ts (2 errors) ====
10-
var numStrTuple: [number, string];
11-
var numNumTuple: [number, number];
12-
var numEmptyObjTuple: [number, {}];
13-
var emptyObjTuple: [{}];
14-
15-
var numArray: number[];
16-
var emptyObjArray: {}[];
17-
18-
// no error
19-
numArray = numNumTuple;
20-
emptyObjArray = emptyObjTuple;
21-
emptyObjArray = numStrTuple;
22-
emptyObjArray = numNumTuple;
23-
emptyObjArray = numEmptyObjTuple;
24-
25-
// error
26-
numArray = numStrTuple;
27-
~~~~~~~~
28-
!!! error TS2322: Type '[number, string]' is not assignable to type 'number[]':
29-
!!! error TS2322: Types of property 'pop' are incompatible:
30-
!!! error TS2322: Type '() => {}' is not assignable to type '() => number':
31-
!!! error TS2322: Type '{}' is not assignable to type 'number'.
32-
emptyObjTuple = emptyObjArray;
33-
~~~~~~~~~~~~~
34-
!!! error TS2322: Type '{}[]' is not assignable to type '[{}]':
35-
!!! error TS2322: Property '0' is missing in type '{}[]'.
1+
tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatBetweenTupleAndArray.ts(17,1): error TS2322: Type '[number, string]' is not assignable to type 'number[]':
2+
Types of property 'pop' are incompatible:
3+
Type '() => string | number' is not assignable to type '() => number':
4+
Type 'string | number' is not assignable to type 'number':
5+
Type 'string' is not assignable to type 'number'.
6+
tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatBetweenTupleAndArray.ts(18,1): error TS2322: Type '{}[]' is not assignable to type '[{}]':
7+
Property '0' is missing in type '{}[]'.
8+
9+
10+
==== tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatBetweenTupleAndArray.ts (2 errors) ====
11+
var numStrTuple: [number, string];
12+
var numNumTuple: [number, number];
13+
var numEmptyObjTuple: [number, {}];
14+
var emptyObjTuple: [{}];
15+
16+
var numArray: number[];
17+
var emptyObjArray: {}[];
18+
19+
// no error
20+
numArray = numNumTuple;
21+
emptyObjArray = emptyObjTuple;
22+
emptyObjArray = numStrTuple;
23+
emptyObjArray = numNumTuple;
24+
emptyObjArray = numEmptyObjTuple;
25+
26+
// error
27+
numArray = numStrTuple;
28+
~~~~~~~~
29+
!!! error TS2322: Type '[number, string]' is not assignable to type 'number[]':
30+
!!! error TS2322: Types of property 'pop' are incompatible:
31+
!!! error TS2322: Type '() => string | number' is not assignable to type '() => number':
32+
!!! error TS2322: Type 'string | number' is not assignable to type 'number':
33+
!!! error TS2322: Type 'string' is not assignable to type 'number'.
34+
emptyObjTuple = emptyObjArray;
35+
~~~~~~~~~~~~~
36+
!!! error TS2322: Type '{}[]' is not assignable to type '[{}]':
37+
!!! error TS2322: Property '0' is missing in type '{}[]'.
3638

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
//// [assignmentCompatBetweenTupleAndArray.ts]
1+
//// [assignmentCompatBetweenTupleAndArray.ts]
22
var numStrTuple: [number, string];
33
var numNumTuple: [number, number];
44
var numEmptyObjTuple: [number, {}];
@@ -17,21 +17,21 @@ emptyObjArray = numEmptyObjTuple;
1717
// error
1818
numArray = numStrTuple;
1919
emptyObjTuple = emptyObjArray;
20-
21-
22-
//// [assignmentCompatBetweenTupleAndArray.js]
23-
var numStrTuple;
24-
var numNumTuple;
25-
var numEmptyObjTuple;
26-
var emptyObjTuple;
27-
var numArray;
28-
var emptyObjArray;
29-
// no error
30-
numArray = numNumTuple;
31-
emptyObjArray = emptyObjTuple;
32-
emptyObjArray = numStrTuple;
33-
emptyObjArray = numNumTuple;
34-
emptyObjArray = numEmptyObjTuple;
35-
// error
36-
numArray = numStrTuple;
37-
emptyObjTuple = emptyObjArray;
20+
21+
22+
//// [assignmentCompatBetweenTupleAndArray.js]
23+
var numStrTuple;
24+
var numNumTuple;
25+
var numEmptyObjTuple;
26+
var emptyObjTuple;
27+
var numArray;
28+
var emptyObjArray;
29+
// no error
30+
numArray = numNumTuple;
31+
emptyObjArray = emptyObjTuple;
32+
emptyObjArray = numStrTuple;
33+
emptyObjArray = numNumTuple;
34+
emptyObjArray = numEmptyObjTuple;
35+
// error
36+
numArray = numStrTuple;
37+
emptyObjTuple = emptyObjArray;
Lines changed: 34 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
//// [bestCommonTypeOfTuple.ts]
1+
//// [bestCommonTypeOfTuple.ts]
22
function f1(x: number): string { return "foo"; }
33

44
function f2(x: number): number { return 10; }
@@ -23,36 +23,36 @@ t4 = [E1.one, E2.two, 20];
2323
var e1 = t1[2]; // {}
2424
var e2 = t2[2]; // {}
2525
var e3 = t3[2]; // any
26-
var e4 = t4[3]; // number
27-
28-
//// [bestCommonTypeOfTuple.js]
29-
function f1(x) {
30-
return "foo";
31-
}
32-
function f2(x) {
33-
return 10;
34-
}
35-
function f3(x) {
36-
return true;
37-
}
38-
var E1;
39-
(function (E1) {
40-
E1[E1["one"] = 0] = "one";
41-
})(E1 || (E1 = {}));
42-
var E2;
43-
(function (E2) {
44-
E2[E2["two"] = 0] = "two";
45-
})(E2 || (E2 = {}));
46-
var t1;
47-
var t2;
48-
var t3;
49-
var t4;
50-
// no error
51-
t1 = [f1, f2];
52-
t2 = [0 /* one */, 0 /* two */];
53-
t3 = [5, undefined];
54-
t4 = [0 /* one */, 0 /* two */, 20];
55-
var e1 = t1[2]; // {}
56-
var e2 = t2[2]; // {}
57-
var e3 = t3[2]; // any
58-
var e4 = t4[3]; // number
26+
var e4 = t4[3]; // number
27+
28+
//// [bestCommonTypeOfTuple.js]
29+
function f1(x) {
30+
return "foo";
31+
}
32+
function f2(x) {
33+
return 10;
34+
}
35+
function f3(x) {
36+
return true;
37+
}
38+
var E1;
39+
(function (E1) {
40+
E1[E1["one"] = 0] = "one";
41+
})(E1 || (E1 = {}));
42+
var E2;
43+
(function (E2) {
44+
E2[E2["two"] = 0] = "two";
45+
})(E2 || (E2 = {}));
46+
var t1;
47+
var t2;
48+
var t3;
49+
var t4;
50+
// no error
51+
t1 = [f1, f2];
52+
t2 = [0 /* one */, 0 /* two */];
53+
t3 = [5, undefined];
54+
t4 = [0 /* one */, 0 /* two */, 20];
55+
var e1 = t1[2]; // {}
56+
var e2 = t2[2]; // {}
57+
var e3 = t3[2]; // any
58+
var e4 = t4[3]; // number
Lines changed: 96 additions & 96 deletions
Original file line numberDiff line numberDiff line change
@@ -1,96 +1,96 @@
1-
=== tests/cases/conformance/types/typeRelationships/bestCommonType/bestCommonTypeOfTuple.ts ===
2-
function f1(x: number): string { return "foo"; }
3-
>f1 : (x: number) => string
4-
>x : number
5-
6-
function f2(x: number): number { return 10; }
7-
>f2 : (x: number) => number
8-
>x : number
9-
10-
function f3(x: number): boolean { return true; }
11-
>f3 : (x: number) => boolean
12-
>x : number
13-
14-
enum E1 { one }
15-
>E1 : E1
16-
>one : E1
17-
18-
enum E2 { two }
19-
>E2 : E2
20-
>two : E2
21-
22-
23-
var t1: [(x: number) => string, (x: number) => number];
24-
>t1 : [(x: number) => string, (x: number) => number]
25-
>x : number
26-
>x : number
27-
28-
var t2: [E1, E2];
29-
>t2 : [E1, E2]
30-
>E1 : E1
31-
>E2 : E2
32-
33-
var t3: [number, any];
34-
>t3 : [number, any]
35-
36-
var t4: [E1, E2, number];
37-
>t4 : [E1, E2, number]
38-
>E1 : E1
39-
>E2 : E2
40-
41-
// no error
42-
t1 = [f1, f2];
43-
>t1 = [f1, f2] : [(x: number) => string, (x: number) => number]
44-
>t1 : [(x: number) => string, (x: number) => number]
45-
>[f1, f2] : [(x: number) => string, (x: number) => number]
46-
>f1 : (x: number) => string
47-
>f2 : (x: number) => number
48-
49-
t2 = [E1.one, E2.two];
50-
>t2 = [E1.one, E2.two] : [E1, E2]
51-
>t2 : [E1, E2]
52-
>[E1.one, E2.two] : [E1, E2]
53-
>E1.one : E1
54-
>E1 : typeof E1
55-
>one : E1
56-
>E2.two : E2
57-
>E2 : typeof E2
58-
>two : E2
59-
60-
t3 = [5, undefined];
61-
>t3 = [5, undefined] : [number, undefined]
62-
>t3 : [number, any]
63-
>[5, undefined] : [number, undefined]
64-
>undefined : undefined
65-
66-
t4 = [E1.one, E2.two, 20];
67-
>t4 = [E1.one, E2.two, 20] : [E1, E2, number]
68-
>t4 : [E1, E2, number]
69-
>[E1.one, E2.two, 20] : [E1, E2, number]
70-
>E1.one : E1
71-
>E1 : typeof E1
72-
>one : E1
73-
>E2.two : E2
74-
>E2 : typeof E2
75-
>two : E2
76-
77-
var e1 = t1[2]; // {}
78-
>e1 : {}
79-
>t1[2] : {}
80-
>t1 : [(x: number) => string, (x: number) => number]
81-
82-
var e2 = t2[2]; // {}
83-
>e2 : {}
84-
>t2[2] : {}
85-
>t2 : [E1, E2]
86-
87-
var e3 = t3[2]; // any
88-
>e3 : any
89-
>t3[2] : any
90-
>t3 : [number, any]
91-
92-
var e4 = t4[3]; // number
93-
>e4 : number
94-
>t4[3] : number
95-
>t4 : [E1, E2, number]
96-
1+
=== tests/cases/conformance/types/typeRelationships/bestCommonType/bestCommonTypeOfTuple.ts ===
2+
function f1(x: number): string { return "foo"; }
3+
>f1 : (x: number) => string
4+
>x : number
5+
6+
function f2(x: number): number { return 10; }
7+
>f2 : (x: number) => number
8+
>x : number
9+
10+
function f3(x: number): boolean { return true; }
11+
>f3 : (x: number) => boolean
12+
>x : number
13+
14+
enum E1 { one }
15+
>E1 : E1
16+
>one : E1
17+
18+
enum E2 { two }
19+
>E2 : E2
20+
>two : E2
21+
22+
23+
var t1: [(x: number) => string, (x: number) => number];
24+
>t1 : [(x: number) => string, (x: number) => number]
25+
>x : number
26+
>x : number
27+
28+
var t2: [E1, E2];
29+
>t2 : [E1, E2]
30+
>E1 : E1
31+
>E2 : E2
32+
33+
var t3: [number, any];
34+
>t3 : [number, any]
35+
36+
var t4: [E1, E2, number];
37+
>t4 : [E1, E2, number]
38+
>E1 : E1
39+
>E2 : E2
40+
41+
// no error
42+
t1 = [f1, f2];
43+
>t1 = [f1, f2] : [(x: number) => string, (x: number) => number]
44+
>t1 : [(x: number) => string, (x: number) => number]
45+
>[f1, f2] : [(x: number) => string, (x: number) => number]
46+
>f1 : (x: number) => string
47+
>f2 : (x: number) => number
48+
49+
t2 = [E1.one, E2.two];
50+
>t2 = [E1.one, E2.two] : [E1, E2]
51+
>t2 : [E1, E2]
52+
>[E1.one, E2.two] : [E1, E2]
53+
>E1.one : E1
54+
>E1 : typeof E1
55+
>one : E1
56+
>E2.two : E2
57+
>E2 : typeof E2
58+
>two : E2
59+
60+
t3 = [5, undefined];
61+
>t3 = [5, undefined] : [number, undefined]
62+
>t3 : [number, any]
63+
>[5, undefined] : [number, undefined]
64+
>undefined : undefined
65+
66+
t4 = [E1.one, E2.two, 20];
67+
>t4 = [E1.one, E2.two, 20] : [E1, E2, number]
68+
>t4 : [E1, E2, number]
69+
>[E1.one, E2.two, 20] : [E1, E2, number]
70+
>E1.one : E1
71+
>E1 : typeof E1
72+
>one : E1
73+
>E2.two : E2
74+
>E2 : typeof E2
75+
>two : E2
76+
77+
var e1 = t1[2]; // {}
78+
>e1 : { (x: number): string; } | { (x: number): number; }
79+
>t1[2] : { (x: number): string; } | { (x: number): number; }
80+
>t1 : [(x: number) => string, (x: number) => number]
81+
82+
var e2 = t2[2]; // {}
83+
>e2 : E1 | E2
84+
>t2[2] : E1 | E2
85+
>t2 : [E1, E2]
86+
87+
var e3 = t3[2]; // any
88+
>e3 : any
89+
>t3[2] : any
90+
>t3 : [number, any]
91+
92+
var e4 = t4[3]; // number
93+
>e4 : number
94+
>t4[3] : number
95+
>t4 : [E1, E2, number]
96+

0 commit comments

Comments
 (0)