Skip to content

Commit f33c740

Browse files
committed
Accept new baselines
1 parent 710826e commit f33c740

4 files changed

+115
-0
lines changed

tests/baselines/reference/restTuplesFromContextualTypes.errors.txt

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,4 +79,18 @@ tests/cases/conformance/types/rest/restTuplesFromContextualTypes.ts(56,7): error
7979

8080
(function foo(...rest){}(1, ''));
8181
take(function(...rest){});
82+
83+
// Repro from #29833
84+
85+
type ArgsUnion = [number, string] | [number, Error];
86+
type TupleUnionFunc = (...params: ArgsUnion) => number;
87+
88+
const funcUnionTupleNoRest: TupleUnionFunc = (num, strOrErr) => {
89+
return num;
90+
};
91+
92+
const funcUnionTupleRest: TupleUnionFunc = (...params) => {
93+
const [num, strOrErr] = params;
94+
return num;
95+
};
8296

tests/baselines/reference/restTuplesFromContextualTypes.js

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,20 @@ declare function take(cb: (a: number, b: string) => void): void;
6868

6969
(function foo(...rest){}(1, ''));
7070
take(function(...rest){});
71+
72+
// Repro from #29833
73+
74+
type ArgsUnion = [number, string] | [number, Error];
75+
type TupleUnionFunc = (...params: ArgsUnion) => number;
76+
77+
const funcUnionTupleNoRest: TupleUnionFunc = (num, strOrErr) => {
78+
return num;
79+
};
80+
81+
const funcUnionTupleRest: TupleUnionFunc = (...params) => {
82+
const [num, strOrErr] = params;
83+
return num;
84+
};
7185

7286

7387
//// [restTuplesFromContextualTypes.js]
@@ -274,6 +288,17 @@ take(function () {
274288
rest[_i] = arguments[_i];
275289
}
276290
});
291+
var funcUnionTupleNoRest = function (num, strOrErr) {
292+
return num;
293+
};
294+
var funcUnionTupleRest = function () {
295+
var params = [];
296+
for (var _i = 0; _i < arguments.length; _i++) {
297+
params[_i] = arguments[_i];
298+
}
299+
var num = params[0], strOrErr = params[1];
300+
return num;
301+
};
277302

278303

279304
//// [restTuplesFromContextualTypes.d.ts]
@@ -286,3 +311,7 @@ declare function f3(cb: (x: number, ...args: typeof t3) => void): void;
286311
declare function f4<T extends any[]>(t: T): void;
287312
declare var tuple: [number, string];
288313
declare function take(cb: (a: number, b: string) => void): void;
314+
declare type ArgsUnion = [number, string] | [number, Error];
315+
declare type TupleUnionFunc = (...params: ArgsUnion) => number;
316+
declare const funcUnionTupleNoRest: TupleUnionFunc;
317+
declare const funcUnionTupleRest: TupleUnionFunc;

tests/baselines/reference/restTuplesFromContextualTypes.symbols

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -265,3 +265,40 @@ take(function(...rest){});
265265
>take : Symbol(take, Decl(restTuplesFromContextualTypes.ts, 61, 33))
266266
>rest : Symbol(rest, Decl(restTuplesFromContextualTypes.ts, 68, 14))
267267

268+
// Repro from #29833
269+
270+
type ArgsUnion = [number, string] | [number, Error];
271+
>ArgsUnion : Symbol(ArgsUnion, Decl(restTuplesFromContextualTypes.ts, 68, 26))
272+
>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --))
273+
274+
type TupleUnionFunc = (...params: ArgsUnion) => number;
275+
>TupleUnionFunc : Symbol(TupleUnionFunc, Decl(restTuplesFromContextualTypes.ts, 72, 52))
276+
>params : Symbol(params, Decl(restTuplesFromContextualTypes.ts, 73, 23))
277+
>ArgsUnion : Symbol(ArgsUnion, Decl(restTuplesFromContextualTypes.ts, 68, 26))
278+
279+
const funcUnionTupleNoRest: TupleUnionFunc = (num, strOrErr) => {
280+
>funcUnionTupleNoRest : Symbol(funcUnionTupleNoRest, Decl(restTuplesFromContextualTypes.ts, 75, 5))
281+
>TupleUnionFunc : Symbol(TupleUnionFunc, Decl(restTuplesFromContextualTypes.ts, 72, 52))
282+
>num : Symbol(num, Decl(restTuplesFromContextualTypes.ts, 75, 46))
283+
>strOrErr : Symbol(strOrErr, Decl(restTuplesFromContextualTypes.ts, 75, 50))
284+
285+
return num;
286+
>num : Symbol(num, Decl(restTuplesFromContextualTypes.ts, 75, 46))
287+
288+
};
289+
290+
const funcUnionTupleRest: TupleUnionFunc = (...params) => {
291+
>funcUnionTupleRest : Symbol(funcUnionTupleRest, Decl(restTuplesFromContextualTypes.ts, 79, 5))
292+
>TupleUnionFunc : Symbol(TupleUnionFunc, Decl(restTuplesFromContextualTypes.ts, 72, 52))
293+
>params : Symbol(params, Decl(restTuplesFromContextualTypes.ts, 79, 44))
294+
295+
const [num, strOrErr] = params;
296+
>num : Symbol(num, Decl(restTuplesFromContextualTypes.ts, 80, 9))
297+
>strOrErr : Symbol(strOrErr, Decl(restTuplesFromContextualTypes.ts, 80, 13))
298+
>params : Symbol(params, Decl(restTuplesFromContextualTypes.ts, 79, 44))
299+
300+
return num;
301+
>num : Symbol(num, Decl(restTuplesFromContextualTypes.ts, 80, 9))
302+
303+
};
304+

tests/baselines/reference/restTuplesFromContextualTypes.types

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -389,3 +389,38 @@ take(function(...rest){});
389389
>function(...rest){} : (a: number, b: string) => void
390390
>rest : [number, string]
391391

392+
// Repro from #29833
393+
394+
type ArgsUnion = [number, string] | [number, Error];
395+
>ArgsUnion : ArgsUnion
396+
397+
type TupleUnionFunc = (...params: ArgsUnion) => number;
398+
>TupleUnionFunc : TupleUnionFunc
399+
>params : ArgsUnion
400+
401+
const funcUnionTupleNoRest: TupleUnionFunc = (num, strOrErr) => {
402+
>funcUnionTupleNoRest : TupleUnionFunc
403+
>(num, strOrErr) => { return num;} : (num: number, strOrErr: string | Error) => number
404+
>num : number
405+
>strOrErr : string | Error
406+
407+
return num;
408+
>num : number
409+
410+
};
411+
412+
const funcUnionTupleRest: TupleUnionFunc = (...params) => {
413+
>funcUnionTupleRest : TupleUnionFunc
414+
>(...params) => { const [num, strOrErr] = params; return num;} : (...params: ArgsUnion) => number
415+
>params : ArgsUnion
416+
417+
const [num, strOrErr] = params;
418+
>num : number
419+
>strOrErr : string | Error
420+
>params : ArgsUnion
421+
422+
return num;
423+
>num : number
424+
425+
};
426+

0 commit comments

Comments
 (0)