mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-05-20 22:51:17 -05:00
Accept new baselines
This commit is contained in:
@@ -0,0 +1,84 @@
|
||||
tests/cases/conformance/types/rest/restTuplesFromContextualTypes.ts(56,7): error TS2345: Argument of type '(a: number, b: any, ...x: any[]) => void' is not assignable to parameter of type '(x: number, ...args: T) => void'.
|
||||
Types of parameters 'b' and 'args' are incompatible.
|
||||
Type 'T' is not assignable to type '[any, ...any[]]'.
|
||||
Type 'any[]' is not assignable to type '[any, ...any[]]'.
|
||||
Property '0' is missing in type 'any[]'.
|
||||
|
||||
|
||||
==== tests/cases/conformance/types/rest/restTuplesFromContextualTypes.ts (1 errors) ====
|
||||
declare const t1: [number, boolean, string];
|
||||
|
||||
(function (a, b, c){})(...t1);
|
||||
(function (...x){})(...t1);
|
||||
(function (a, ...x){})(...t1);
|
||||
(function (a, b, ...x){})(...t1);
|
||||
(function (a, b, c, ...x){})(...t1);
|
||||
|
||||
declare function f1(cb: (...args: typeof t1) => void): void;
|
||||
|
||||
f1((a, b, c) => {})
|
||||
f1((...x) => {})
|
||||
f1((a, ...x) => {})
|
||||
f1((a, b, ...x) => {})
|
||||
f1((a, b, c, ...x) => {})
|
||||
|
||||
declare const t2: [number, boolean, ...string[]];
|
||||
|
||||
(function (a, b, c){})(...t2);
|
||||
(function (...x){})(...t2);
|
||||
(function (a, ...x){})(...t2);
|
||||
(function (a, b, ...x){})(...t2);
|
||||
(function (a, b, c, ...x){})(...t2);
|
||||
|
||||
declare function f2(cb: (...args: typeof t2) => void): void;
|
||||
|
||||
f2((a, b, c) => {})
|
||||
f2((...x) => {})
|
||||
f2((a, ...x) => {})
|
||||
f2((a, b, ...x) => {})
|
||||
f2((a, b, c, ...x) => {})
|
||||
|
||||
declare const t3: [boolean, ...string[]];
|
||||
|
||||
(function (a, b, c){})(1, ...t3);
|
||||
(function (...x){})(1, ...t3);
|
||||
(function (a, ...x){})(1, ...t3);
|
||||
(function (a, b, ...x){})(1, ...t3);
|
||||
(function (a, b, c, ...x){})(1, ...t3);
|
||||
|
||||
declare function f3(cb: (x: number, ...args: typeof t3) => void): void;
|
||||
|
||||
f3((a, b, c) => {})
|
||||
f3((...x) => {})
|
||||
f3((a, ...x) => {})
|
||||
f3((a, b, ...x) => {})
|
||||
f3((a, b, c, ...x) => {})
|
||||
|
||||
function f4<T extends any[]>(t: T) {
|
||||
(function(...x){})(...t);
|
||||
(function(a, ...x){})(1, ...t);
|
||||
(function(a, ...x){})(1, 2, ...t);
|
||||
function f(cb: (x: number, ...args: T) => void) {}
|
||||
f((...x) => {});
|
||||
f((a, ...x) => {});
|
||||
f((a, b, ...x) => {});
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
!!! error TS2345: Argument of type '(a: number, b: any, ...x: any[]) => void' is not assignable to parameter of type '(x: number, ...args: T) => void'.
|
||||
!!! error TS2345: Types of parameters 'b' and 'args' are incompatible.
|
||||
!!! error TS2345: Type 'T' is not assignable to type '[any, ...any[]]'.
|
||||
!!! error TS2345: Type 'any[]' is not assignable to type '[any, ...any[]]'.
|
||||
!!! error TS2345: Property '0' is missing in type 'any[]'.
|
||||
}
|
||||
|
||||
// Repro from #25288
|
||||
|
||||
declare var tuple: [number, string];
|
||||
(function foo(a, b){}(...tuple));
|
||||
|
||||
// Repro from #25289
|
||||
|
||||
declare function take(cb: (a: number, b: string) => void): void;
|
||||
|
||||
(function foo(...rest){}(1, ''));
|
||||
take(function(...rest){});
|
||||
|
||||
Reference in New Issue
Block a user