Accept new baselines

This commit is contained in:
Anders Hejlsberg 2018-07-25 12:43:10 -07:00
parent 1aa2b15f8c
commit 0758700f7d
4 changed files with 100 additions and 1 deletions

View file

@ -1,8 +1,11 @@
tests/cases/conformance/types/rest/genericRestParameters1.ts(22,1): error TS2556: Expected 3 arguments, but got 1 or more.
tests/cases/conformance/types/rest/genericRestParameters1.ts(31,1): error TS2556: Expected 3 arguments, but got 1 or more.
tests/cases/conformance/types/rest/genericRestParameters1.ts(166,1): error TS2322: Type '(a: never) => void' is not assignable to type '(...args: any[]) => void'.
Types of parameters 'a' and 'args' are incompatible.
Type 'any' is not assignable to type 'never'.
==== tests/cases/conformance/types/rest/genericRestParameters1.ts (2 errors) ====
==== tests/cases/conformance/types/rest/genericRestParameters1.ts (3 errors) ====
declare let f1: (...x: [number, string, boolean]) => void;
declare let f2: (x0: number, x1: string, x2: boolean) => void;
@ -161,4 +164,20 @@ tests/cases/conformance/types/rest/genericRestParameters1.ts(31,1): error TS2556
events.emit('jump', 20, 'up');
events.emit('stop', 'Bye!');
events.emit('done');
// Repro from #25871
declare var ff1: (... args: any[]) => void;
declare var ff2: () => void;
declare var ff3: (...args: []) => void;
declare var ff4: (a: never) => void;
ff1 = ff2;
ff1 = ff3;
ff1 = ff4; // Error
~~~
!!! error TS2322: Type '(a: never) => void' is not assignable to type '(...args: any[]) => void'.
!!! error TS2322: Types of parameters 'a' and 'args' are incompatible.
!!! error TS2322: Type 'any' is not assignable to type 'never'.

View file

@ -153,6 +153,18 @@ events.emit('move', 10, 'left');
events.emit('jump', 20, 'up');
events.emit('stop', 'Bye!');
events.emit('done');
// Repro from #25871
declare var ff1: (... args: any[]) => void;
declare var ff2: () => void;
declare var ff3: (...args: []) => void;
declare var ff4: (a: never) => void;
ff1 = ff2;
ff1 = ff3;
ff1 = ff4; // Error
//// [genericRestParameters1.js]
@ -256,6 +268,9 @@ events.emit('move', 10, 'left');
events.emit('jump', 20, 'up');
events.emit('stop', 'Bye!');
events.emit('done');
ff1 = ff2;
ff1 = ff3;
ff1 = ff4; // Error
//// [genericRestParameters1.d.ts]
@ -332,3 +347,7 @@ declare type EventType<T> = {
emit<K extends keyof T = keyof T>(e: K, ...payload: T[K] extends any[] ? T[K] : [T[K]]): void;
};
declare var events: EventType<Record1>;
declare var ff1: (...args: any[]) => void;
declare var ff2: () => void;
declare var ff3: (...args: []) => void;
declare var ff4: (a: never) => void;

View file

@ -622,3 +622,32 @@ events.emit('done');
>events : Symbol(events, Decl(genericRestParameters1.ts, 149, 11))
>emit : Symbol(emit, Decl(genericRestParameters1.ts, 145, 21))
// Repro from #25871
declare var ff1: (... args: any[]) => void;
>ff1 : Symbol(ff1, Decl(genericRestParameters1.ts, 157, 11))
>args : Symbol(args, Decl(genericRestParameters1.ts, 157, 18))
declare var ff2: () => void;
>ff2 : Symbol(ff2, Decl(genericRestParameters1.ts, 159, 11))
declare var ff3: (...args: []) => void;
>ff3 : Symbol(ff3, Decl(genericRestParameters1.ts, 160, 11))
>args : Symbol(args, Decl(genericRestParameters1.ts, 160, 18))
declare var ff4: (a: never) => void;
>ff4 : Symbol(ff4, Decl(genericRestParameters1.ts, 161, 11))
>a : Symbol(a, Decl(genericRestParameters1.ts, 161, 18))
ff1 = ff2;
>ff1 : Symbol(ff1, Decl(genericRestParameters1.ts, 157, 11))
>ff2 : Symbol(ff2, Decl(genericRestParameters1.ts, 159, 11))
ff1 = ff3;
>ff1 : Symbol(ff1, Decl(genericRestParameters1.ts, 157, 11))
>ff3 : Symbol(ff3, Decl(genericRestParameters1.ts, 160, 11))
ff1 = ff4; // Error
>ff1 : Symbol(ff1, Decl(genericRestParameters1.ts, 157, 11))
>ff4 : Symbol(ff4, Decl(genericRestParameters1.ts, 161, 11))

View file

@ -849,3 +849,35 @@ events.emit('done');
>emit : <K extends "move" | "jump" | "stop" | "done" = "move" | "jump" | "stop" | "done">(e: K, ...payload: Record1[K] extends any[] ? Record1[K] : [Record1[K]]) => void
>'done' : "done"
// Repro from #25871
declare var ff1: (... args: any[]) => void;
>ff1 : (...args: any[]) => void
>args : any[]
declare var ff2: () => void;
>ff2 : () => void
declare var ff3: (...args: []) => void;
>ff3 : () => void
>args : []
declare var ff4: (a: never) => void;
>ff4 : (a: never) => void
>a : never
ff1 = ff2;
>ff1 = ff2 : () => void
>ff1 : (...args: any[]) => void
>ff2 : () => void
ff1 = ff3;
>ff1 = ff3 : () => void
>ff1 : (...args: any[]) => void
>ff3 : () => void
ff1 = ff4; // Error
>ff1 = ff4 : (a: never) => void
>ff1 : (...args: any[]) => void
>ff4 : (a: never) => void