Accept new baselines

This commit is contained in:
Anders Hejlsberg
2019-02-11 09:46:10 -08:00
parent 710826e37e
commit f33c740b8c
4 changed files with 115 additions and 0 deletions

View File

@@ -79,4 +79,18 @@ tests/cases/conformance/types/rest/restTuplesFromContextualTypes.ts(56,7): error
(function foo(...rest){}(1, ''));
take(function(...rest){});
// Repro from #29833
type ArgsUnion = [number, string] | [number, Error];
type TupleUnionFunc = (...params: ArgsUnion) => number;
const funcUnionTupleNoRest: TupleUnionFunc = (num, strOrErr) => {
return num;
};
const funcUnionTupleRest: TupleUnionFunc = (...params) => {
const [num, strOrErr] = params;
return num;
};

View File

@@ -68,6 +68,20 @@ declare function take(cb: (a: number, b: string) => void): void;
(function foo(...rest){}(1, ''));
take(function(...rest){});
// Repro from #29833
type ArgsUnion = [number, string] | [number, Error];
type TupleUnionFunc = (...params: ArgsUnion) => number;
const funcUnionTupleNoRest: TupleUnionFunc = (num, strOrErr) => {
return num;
};
const funcUnionTupleRest: TupleUnionFunc = (...params) => {
const [num, strOrErr] = params;
return num;
};
//// [restTuplesFromContextualTypes.js]
@@ -274,6 +288,17 @@ take(function () {
rest[_i] = arguments[_i];
}
});
var funcUnionTupleNoRest = function (num, strOrErr) {
return num;
};
var funcUnionTupleRest = function () {
var params = [];
for (var _i = 0; _i < arguments.length; _i++) {
params[_i] = arguments[_i];
}
var num = params[0], strOrErr = params[1];
return num;
};
//// [restTuplesFromContextualTypes.d.ts]
@@ -286,3 +311,7 @@ declare function f3(cb: (x: number, ...args: typeof t3) => void): void;
declare function f4<T extends any[]>(t: T): void;
declare var tuple: [number, string];
declare function take(cb: (a: number, b: string) => void): void;
declare type ArgsUnion = [number, string] | [number, Error];
declare type TupleUnionFunc = (...params: ArgsUnion) => number;
declare const funcUnionTupleNoRest: TupleUnionFunc;
declare const funcUnionTupleRest: TupleUnionFunc;

View File

@@ -265,3 +265,40 @@ take(function(...rest){});
>take : Symbol(take, Decl(restTuplesFromContextualTypes.ts, 61, 33))
>rest : Symbol(rest, Decl(restTuplesFromContextualTypes.ts, 68, 14))
// Repro from #29833
type ArgsUnion = [number, string] | [number, Error];
>ArgsUnion : Symbol(ArgsUnion, Decl(restTuplesFromContextualTypes.ts, 68, 26))
>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --))
type TupleUnionFunc = (...params: ArgsUnion) => number;
>TupleUnionFunc : Symbol(TupleUnionFunc, Decl(restTuplesFromContextualTypes.ts, 72, 52))
>params : Symbol(params, Decl(restTuplesFromContextualTypes.ts, 73, 23))
>ArgsUnion : Symbol(ArgsUnion, Decl(restTuplesFromContextualTypes.ts, 68, 26))
const funcUnionTupleNoRest: TupleUnionFunc = (num, strOrErr) => {
>funcUnionTupleNoRest : Symbol(funcUnionTupleNoRest, Decl(restTuplesFromContextualTypes.ts, 75, 5))
>TupleUnionFunc : Symbol(TupleUnionFunc, Decl(restTuplesFromContextualTypes.ts, 72, 52))
>num : Symbol(num, Decl(restTuplesFromContextualTypes.ts, 75, 46))
>strOrErr : Symbol(strOrErr, Decl(restTuplesFromContextualTypes.ts, 75, 50))
return num;
>num : Symbol(num, Decl(restTuplesFromContextualTypes.ts, 75, 46))
};
const funcUnionTupleRest: TupleUnionFunc = (...params) => {
>funcUnionTupleRest : Symbol(funcUnionTupleRest, Decl(restTuplesFromContextualTypes.ts, 79, 5))
>TupleUnionFunc : Symbol(TupleUnionFunc, Decl(restTuplesFromContextualTypes.ts, 72, 52))
>params : Symbol(params, Decl(restTuplesFromContextualTypes.ts, 79, 44))
const [num, strOrErr] = params;
>num : Symbol(num, Decl(restTuplesFromContextualTypes.ts, 80, 9))
>strOrErr : Symbol(strOrErr, Decl(restTuplesFromContextualTypes.ts, 80, 13))
>params : Symbol(params, Decl(restTuplesFromContextualTypes.ts, 79, 44))
return num;
>num : Symbol(num, Decl(restTuplesFromContextualTypes.ts, 80, 9))
};

View File

@@ -389,3 +389,38 @@ take(function(...rest){});
>function(...rest){} : (a: number, b: string) => void
>rest : [number, string]
// Repro from #29833
type ArgsUnion = [number, string] | [number, Error];
>ArgsUnion : ArgsUnion
type TupleUnionFunc = (...params: ArgsUnion) => number;
>TupleUnionFunc : TupleUnionFunc
>params : ArgsUnion
const funcUnionTupleNoRest: TupleUnionFunc = (num, strOrErr) => {
>funcUnionTupleNoRest : TupleUnionFunc
>(num, strOrErr) => { return num;} : (num: number, strOrErr: string | Error) => number
>num : number
>strOrErr : string | Error
return num;
>num : number
};
const funcUnionTupleRest: TupleUnionFunc = (...params) => {
>funcUnionTupleRest : TupleUnionFunc
>(...params) => { const [num, strOrErr] = params; return num;} : (...params: ArgsUnion) => number
>params : ArgsUnion
const [num, strOrErr] = params;
>num : number
>strOrErr : string | Error
>params : ArgsUnion
return num;
>num : number
};