Skip to content

Commit 38a0346

Browse files
committed
Accept new baselines
1 parent e5d520e commit 38a0346

File tree

3 files changed

+949
-0
lines changed

3 files changed

+949
-0
lines changed
Lines changed: 288 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,288 @@
1+
//// [restTuplesFromContextualTypes.ts]
2+
declare const t1: [number, boolean, string];
3+
4+
(function (a, b, c){})(...t1);
5+
(function (...x){})(...t1);
6+
(function (a, ...x){})(...t1);
7+
(function (a, b, ...x){})(...t1);
8+
(function (a, b, c, ...x){})(...t1);
9+
10+
declare function f1(cb: (...args: typeof t1) => void): void;
11+
12+
f1((a, b, c) => {})
13+
f1((...x) => {})
14+
f1((a, ...x) => {})
15+
f1((a, b, ...x) => {})
16+
f1((a, b, c, ...x) => {})
17+
18+
declare const t2: [number, boolean, ...string[]];
19+
20+
(function (a, b, c){})(...t2);
21+
(function (...x){})(...t2);
22+
(function (a, ...x){})(...t2);
23+
(function (a, b, ...x){})(...t2);
24+
(function (a, b, c, ...x){})(...t2);
25+
26+
declare function f2(cb: (...args: typeof t2) => void): void;
27+
28+
f2((a, b, c) => {})
29+
f2((...x) => {})
30+
f2((a, ...x) => {})
31+
f2((a, b, ...x) => {})
32+
f2((a, b, c, ...x) => {})
33+
34+
declare const t3: [boolean, ...string[]];
35+
36+
(function (a, b, c){})(1, ...t3);
37+
(function (...x){})(1, ...t3);
38+
(function (a, ...x){})(1, ...t3);
39+
(function (a, b, ...x){})(1, ...t3);
40+
(function (a, b, c, ...x){})(1, ...t3);
41+
42+
declare function f3(cb: (x: number, ...args: typeof t3) => void): void;
43+
44+
f3((a, b, c) => {})
45+
f3((...x) => {})
46+
f3((a, ...x) => {})
47+
f3((a, b, ...x) => {})
48+
f3((a, b, c, ...x) => {})
49+
50+
function f4<T extends any[]>(t: T) {
51+
(function(...x){})(...t);
52+
(function(a, ...x){})(1, ...t);
53+
(function(a, ...x){})(1, 2, ...t);
54+
function f(cb: (x: number, ...args: T) => void) {}
55+
f((...x) => {});
56+
f((a, ...x) => {});
57+
f((a, b, ...x) => {});
58+
}
59+
60+
// Repro from #25288
61+
62+
declare var tuple: [number, string];
63+
(function foo(a, b){}(...tuple));
64+
65+
// Repro from #25289
66+
67+
declare function take(cb: (a: number, b: string) => void): void;
68+
69+
(function foo(...rest){}(1, ''));
70+
take(function(...rest){});
71+
72+
73+
//// [restTuplesFromContextualTypes.js]
74+
"use strict";
75+
(function (a, b, c) { }).apply(void 0, t1);
76+
(function () {
77+
var x = [];
78+
for (var _i = 0; _i < arguments.length; _i++) {
79+
x[_i] = arguments[_i];
80+
}
81+
}).apply(void 0, t1);
82+
(function (a) {
83+
var x = [];
84+
for (var _i = 1; _i < arguments.length; _i++) {
85+
x[_i - 1] = arguments[_i];
86+
}
87+
}).apply(void 0, t1);
88+
(function (a, b) {
89+
var x = [];
90+
for (var _i = 2; _i < arguments.length; _i++) {
91+
x[_i - 2] = arguments[_i];
92+
}
93+
}).apply(void 0, t1);
94+
(function (a, b, c) {
95+
var x = [];
96+
for (var _i = 3; _i < arguments.length; _i++) {
97+
x[_i - 3] = arguments[_i];
98+
}
99+
}).apply(void 0, t1);
100+
f1(function (a, b, c) { });
101+
f1(function () {
102+
var x = [];
103+
for (var _i = 0; _i < arguments.length; _i++) {
104+
x[_i] = arguments[_i];
105+
}
106+
});
107+
f1(function (a) {
108+
var x = [];
109+
for (var _i = 1; _i < arguments.length; _i++) {
110+
x[_i - 1] = arguments[_i];
111+
}
112+
});
113+
f1(function (a, b) {
114+
var x = [];
115+
for (var _i = 2; _i < arguments.length; _i++) {
116+
x[_i - 2] = arguments[_i];
117+
}
118+
});
119+
f1(function (a, b, c) {
120+
var x = [];
121+
for (var _i = 3; _i < arguments.length; _i++) {
122+
x[_i - 3] = arguments[_i];
123+
}
124+
});
125+
(function (a, b, c) { }).apply(void 0, t2);
126+
(function () {
127+
var x = [];
128+
for (var _i = 0; _i < arguments.length; _i++) {
129+
x[_i] = arguments[_i];
130+
}
131+
}).apply(void 0, t2);
132+
(function (a) {
133+
var x = [];
134+
for (var _i = 1; _i < arguments.length; _i++) {
135+
x[_i - 1] = arguments[_i];
136+
}
137+
}).apply(void 0, t2);
138+
(function (a, b) {
139+
var x = [];
140+
for (var _i = 2; _i < arguments.length; _i++) {
141+
x[_i - 2] = arguments[_i];
142+
}
143+
}).apply(void 0, t2);
144+
(function (a, b, c) {
145+
var x = [];
146+
for (var _i = 3; _i < arguments.length; _i++) {
147+
x[_i - 3] = arguments[_i];
148+
}
149+
}).apply(void 0, t2);
150+
f2(function (a, b, c) { });
151+
f2(function () {
152+
var x = [];
153+
for (var _i = 0; _i < arguments.length; _i++) {
154+
x[_i] = arguments[_i];
155+
}
156+
});
157+
f2(function (a) {
158+
var x = [];
159+
for (var _i = 1; _i < arguments.length; _i++) {
160+
x[_i - 1] = arguments[_i];
161+
}
162+
});
163+
f2(function (a, b) {
164+
var x = [];
165+
for (var _i = 2; _i < arguments.length; _i++) {
166+
x[_i - 2] = arguments[_i];
167+
}
168+
});
169+
f2(function (a, b, c) {
170+
var x = [];
171+
for (var _i = 3; _i < arguments.length; _i++) {
172+
x[_i - 3] = arguments[_i];
173+
}
174+
});
175+
(function (a, b, c) { }).apply(void 0, [1].concat(t3));
176+
(function () {
177+
var x = [];
178+
for (var _i = 0; _i < arguments.length; _i++) {
179+
x[_i] = arguments[_i];
180+
}
181+
}).apply(void 0, [1].concat(t3));
182+
(function (a) {
183+
var x = [];
184+
for (var _i = 1; _i < arguments.length; _i++) {
185+
x[_i - 1] = arguments[_i];
186+
}
187+
}).apply(void 0, [1].concat(t3));
188+
(function (a, b) {
189+
var x = [];
190+
for (var _i = 2; _i < arguments.length; _i++) {
191+
x[_i - 2] = arguments[_i];
192+
}
193+
}).apply(void 0, [1].concat(t3));
194+
(function (a, b, c) {
195+
var x = [];
196+
for (var _i = 3; _i < arguments.length; _i++) {
197+
x[_i - 3] = arguments[_i];
198+
}
199+
}).apply(void 0, [1].concat(t3));
200+
f3(function (a, b, c) { });
201+
f3(function () {
202+
var x = [];
203+
for (var _i = 0; _i < arguments.length; _i++) {
204+
x[_i] = arguments[_i];
205+
}
206+
});
207+
f3(function (a) {
208+
var x = [];
209+
for (var _i = 1; _i < arguments.length; _i++) {
210+
x[_i - 1] = arguments[_i];
211+
}
212+
});
213+
f3(function (a, b) {
214+
var x = [];
215+
for (var _i = 2; _i < arguments.length; _i++) {
216+
x[_i - 2] = arguments[_i];
217+
}
218+
});
219+
f3(function (a, b, c) {
220+
var x = [];
221+
for (var _i = 3; _i < arguments.length; _i++) {
222+
x[_i - 3] = arguments[_i];
223+
}
224+
});
225+
function f4(t) {
226+
(function () {
227+
var x = [];
228+
for (var _i = 0; _i < arguments.length; _i++) {
229+
x[_i] = arguments[_i];
230+
}
231+
}).apply(void 0, t);
232+
(function (a) {
233+
var x = [];
234+
for (var _i = 1; _i < arguments.length; _i++) {
235+
x[_i - 1] = arguments[_i];
236+
}
237+
}).apply(void 0, [1].concat(t));
238+
(function (a) {
239+
var x = [];
240+
for (var _i = 1; _i < arguments.length; _i++) {
241+
x[_i - 1] = arguments[_i];
242+
}
243+
}).apply(void 0, [1, 2].concat(t));
244+
function f(cb) { }
245+
f(function () {
246+
var x = [];
247+
for (var _i = 0; _i < arguments.length; _i++) {
248+
x[_i] = arguments[_i];
249+
}
250+
});
251+
f(function (a) {
252+
var x = [];
253+
for (var _i = 1; _i < arguments.length; _i++) {
254+
x[_i - 1] = arguments[_i];
255+
}
256+
});
257+
f(function (a, b) {
258+
var x = [];
259+
for (var _i = 2; _i < arguments.length; _i++) {
260+
x[_i - 2] = arguments[_i];
261+
}
262+
});
263+
}
264+
(function foo(a, b) { }.apply(void 0, tuple));
265+
(function foo() {
266+
var rest = [];
267+
for (var _i = 0; _i < arguments.length; _i++) {
268+
rest[_i] = arguments[_i];
269+
}
270+
}(1, ''));
271+
take(function () {
272+
var rest = [];
273+
for (var _i = 0; _i < arguments.length; _i++) {
274+
rest[_i] = arguments[_i];
275+
}
276+
});
277+
278+
279+
//// [restTuplesFromContextualTypes.d.ts]
280+
declare const t1: [number, boolean, string];
281+
declare function f1(cb: (...args: typeof t1) => void): void;
282+
declare const t2: [number, boolean, ...string[]];
283+
declare function f2(cb: (...args: typeof t2) => void): void;
284+
declare const t3: [boolean, ...string[]];
285+
declare function f3(cb: (x: number, ...args: typeof t3) => void): void;
286+
declare function f4<T extends any[]>(t: T): void;
287+
declare var tuple: [number, string];
288+
declare function take(cb: (a: number, b: string) => void): void;

0 commit comments

Comments
 (0)