Skip to content

Commit f558059

Browse files
committed
Accept new baselines
1 parent 396642d commit f558059

20 files changed

+91
-91
lines changed

tests/baselines/reference/asyncFunctionTempVariableScoping.types

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ async ({ foo, bar, ...rest }) => bar(await foo);
55
>async ({ foo, bar, ...rest }) => bar(await foo) : ({ foo, bar, ...rest }: { [x: string]: any; foo: any; bar: any; }) => Promise<any>
66
>foo : any
77
>bar : any
8-
>rest : Rest<{ [x: string]: any; foo: any; bar: any; }, "foo" | "bar">
8+
>rest : { [x: string]: any; }
99
>bar(await foo) : any
1010
>bar : any
1111
>await foo : any

tests/baselines/reference/forLoopWithDestructuringDoesNotElideFollowingStatement.types

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ let array = [{a: 0, b: 1}]
1010

1111
for (let { a, ...rest } of array)
1212
>a : number
13-
>rest : Rest<{ a: number; b: number; }, "a">
13+
>rest : { b: number; }
1414
>array : { a: number; b: number; }[]
1515

1616
void a

tests/baselines/reference/importHelpersInAmbientContext.types

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ interface Foo {
3333
}
3434
export var { a, ...x } : Foo;
3535
>a : number
36-
>x : Rest<Foo, "a">
36+
>x : { b: string; }
3737

3838
=== tests/cases/compiler/b.ts ===
3939
export {};
@@ -72,7 +72,7 @@ declare namespace N {
7272
}
7373
export var { a, ...x } : Foo;
7474
>a : number
75-
>x : Rest<Foo, "a">
75+
>x : { b: string; }
7676
}
7777

7878
=== tests/cases/compiler/tslib.d.ts ===

tests/baselines/reference/nonPrimitiveAccessProperty.types

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,6 @@ var { destructuring } = a; // error
1919
>a : object
2020

2121
var { ...rest } = a; // ok
22-
>rest : object
22+
>rest : {}
2323
>a : object
2424

tests/baselines/reference/objectRest.errors.txt

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@ tests/cases/conformance/types/rest/objectRest.ts(7,12): error TS2339: Property '
22
tests/cases/conformance/types/rest/objectRest.ts(7,20): error TS2339: Property '1' does not exist on type 'String'.
33
tests/cases/conformance/types/rest/objectRest.ts(43,8): error TS2537: Type '{ a: number; b: string; }' has no matching index signature for type 'string'.
44
tests/cases/conformance/types/rest/objectRest.ts(43,35): error TS2537: Type '{ a: number; b: string; }' has no matching index signature for type 'string'.
5-
tests/cases/conformance/types/rest/objectRest.ts(43,57): error TS2403: Subsequent variable declarations must have the same type. Variable 'o' must be of type '{ a: number; b: string; }', but here has type 'Rest<{ a: number; b: string; }, string>'.
6-
tests/cases/conformance/types/rest/objectRest.ts(44,53): error TS2322: Type 'Rest<{ a: number; b: string; }, string>' is not assignable to type '{ a: number; b: string; }'.
7-
Property 'a' is missing in type 'Rest<{ a: number; b: string; }, string>'.
5+
tests/cases/conformance/types/rest/objectRest.ts(43,57): error TS2403: Subsequent variable declarations must have the same type. Variable 'o' must be of type '{ a: number; b: string; }', but here has type '{}'.
6+
tests/cases/conformance/types/rest/objectRest.ts(44,53): error TS2322: Type '{}' is not assignable to type '{ a: number; b: string; }'.
7+
Property 'a' is missing in type '{}'.
88

99

1010
==== tests/cases/conformance/types/rest/objectRest.ts (6 errors) ====
@@ -60,11 +60,11 @@ tests/cases/conformance/types/rest/objectRest.ts(44,53): error TS2322: Type 'Res
6060
~~~~~~~~~
6161
!!! error TS2537: Type '{ a: number; b: string; }' has no matching index signature for type 'string'.
6262
~
63-
!!! error TS2403: Subsequent variable declarations must have the same type. Variable 'o' must be of type '{ a: number; b: string; }', but here has type 'Rest<{ a: number; b: string; }, string>'.
63+
!!! error TS2403: Subsequent variable declarations must have the same type. Variable 'o' must be of type '{ a: number; b: string; }', but here has type '{}'.
6464
({ [computed]: stillNotGreat, [computed2]: soSo, ...o } = o);
6565
~
66-
!!! error TS2322: Type 'Rest<{ a: number; b: string; }, string>' is not assignable to type '{ a: number; b: string; }'.
67-
!!! error TS2322: Property 'a' is missing in type 'Rest<{ a: number; b: string; }, string>'.
66+
!!! error TS2322: Type '{}' is not assignable to type '{ a: number; b: string; }'.
67+
!!! error TS2322: Property 'a' is missing in type '{}'.
6868

6969
var noContextualType = ({ aNumber = 12, ...notEmptyObject }) => aNumber + notEmptyObject.anythingGoes;
7070

tests/baselines/reference/objectRest.types

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -13,32 +13,32 @@ var { ...clone } = o;
1313

1414
var { a, ...justB } = o;
1515
>a : number
16-
>justB : Rest<{ a: number; b: string; }, "a">
16+
>justB : { b: string; }
1717
>o : { a: number; b: string; }
1818

1919
var { a, b: renamed, ...empty } = o;
2020
>a : number
2121
>b : any
2222
>renamed : string
23-
>empty : Rest<{ a: number; b: string; }, "a" | "b">
23+
>empty : {}
2424
>o : { a: number; b: string; }
2525

2626
var { ['b']: renamed, ...justA } = o;
2727
>'b' : "b"
2828
>renamed : string
29-
>justA : Rest<{ a: number; b: string; }, "b">
29+
>justA : { a: number; }
3030
>o : { a: number; b: string; }
3131

3232
var { 'b': renamed, ...justA } = o;
3333
>renamed : string
34-
>justA : Rest<{ a: number; b: string; }, "b">
34+
>justA : { a: number; }
3535
>o : { a: number; b: string; }
3636

3737
var { b: { '0': n, '1': oooo }, ...justA } = o;
3838
>b : any
3939
>n : any
4040
>oooo : any
41-
>justA : Rest<{ a: number; b: string; }, "b">
41+
>justA : { a: number; }
4242
>o : { a: number; b: string; }
4343

4444
let o2 = { c: 'terrible idea?', d: 'yes' };
@@ -52,7 +52,7 @@ let o2 = { c: 'terrible idea?', d: 'yes' };
5252
var { d: renamed, ...d } = o2;
5353
>d : any
5454
>renamed : string
55-
>d : Rest<{ c: string; d: string; }, "d">
55+
>d : { c: string; }
5656
>o2 : { c: string; d: string; }
5757

5858
let nestedrest: { x: number, n1: { y: number, n2: { z: number, n3: { n4: number } } }, rest: number, restrest: number };
@@ -75,7 +75,7 @@ var { x, n1: { y, n2: { z, n3: { ...nr } } }, ...restrest } = nestedrest;
7575
>z : number
7676
>n3 : any
7777
>nr : { n4: number; }
78-
>restrest : Rest<{ x: number; n1: { y: number; n2: { z: number; n3: { n4: number; }; }; }; rest: number; restrest: number; }, "x" | "n1">
78+
>restrest : { rest: number; restrest: number; }
7979
>nestedrest : { x: number; n1: { y: number; n2: { z: number; n3: { n4: number; }; }; }; rest: number; restrest: number; }
8080

8181
let complex: { x: { ka, ki }, y: number };
@@ -88,10 +88,10 @@ let complex: { x: { ka, ki }, y: number };
8888
var { x: { ka, ...nested }, y: other, ...rest } = complex;
8989
>x : any
9090
>ka : any
91-
>nested : Rest<{ ka: any; ki: any; }, "ka">
91+
>nested : { ki: any; }
9292
>y : any
9393
>other : number
94-
>rest : Rest<{ x: { ka: any; ki: any; }; y: number; }, "x" | "y">
94+
>rest : {}
9595
>complex : { x: { ka: any; ki: any; }; y: number; }
9696

9797
({x: { ka, ...nested }, y: other, ...rest} = complex);
@@ -101,15 +101,15 @@ var { x: { ka, ...nested }, y: other, ...rest } = complex;
101101
>x : { ki: any; ka: any; }
102102
>{ ka, ...nested } : { ki: any; ka: any; }
103103
>ka : any
104-
>nested : Rest<{ ka: any; ki: any; }, "ka">
104+
>nested : { ki: any; }
105105
>y : number
106106
>other : number
107-
>rest : Rest<{ x: { ka: any; ki: any; }; y: number; }, "x" | "y">
107+
>rest : {}
108108
>complex : { x: { ka: any; ki: any; }; y: number; }
109109

110110
var { x, ...fresh } = { x: 1, y: 2 };
111111
>x : number
112-
>fresh : Rest<{ x: number; y: number; }, "x">
112+
>fresh : { y: number; }
113113
>{ x: 1, y: 2 } : { x: number; y: number; }
114114
>x : number
115115
>1 : 1
@@ -121,7 +121,7 @@ var { x, ...fresh } = { x: 1, y: 2 };
121121
>{ x, ...fresh } = { x: 1, y: 2 } : { x: number; y: number; }
122122
>{ x, ...fresh } : { y: number; x: number; }
123123
>x : number
124-
>fresh : Rest<{ x: number; y: number; }, "x">
124+
>fresh : { y: number; }
125125
>{ x: 1, y: 2 } : { x: number; y: number; }
126126
>x : number
127127
>1 : 1
@@ -175,7 +175,7 @@ var removable = new Removable();
175175

176176
var { removed, ...removableRest } = removable;
177177
>removed : string
178-
>removableRest : Rest<Removable, "removed">
178+
>removableRest : { remainder: string; }
179179
>removable : Removable
180180

181181
var i: I = removable;
@@ -184,7 +184,7 @@ var i: I = removable;
184184

185185
var { removed, ...removableRest2 } = i;
186186
>removed : string
187-
>removableRest2 : Rest<I, "removed">
187+
>removableRest2 : { m(): void; remainder: string; }
188188
>i : I
189189

190190
let computed = 'b';
@@ -221,10 +221,10 @@ var noContextualType = ({ aNumber = 12, ...notEmptyObject }) => aNumber + notEmp
221221
>({ aNumber = 12, ...notEmptyObject }) => aNumber + notEmptyObject.anythingGoes : ({ aNumber, ...notEmptyObject }: { [x: string]: any; aNumber?: number; }) => any
222222
>aNumber : number
223223
>12 : 12
224-
>notEmptyObject : Rest<{ [x: string]: any; aNumber?: number; }, "aNumber">
224+
>notEmptyObject : { [x: string]: any; }
225225
>aNumber + notEmptyObject.anythingGoes : any
226226
>aNumber : number
227227
>notEmptyObject.anythingGoes : any
228-
>notEmptyObject : Rest<{ [x: string]: any; aNumber?: number; }, "aNumber">
228+
>notEmptyObject : { [x: string]: any; }
229229
>anythingGoes : any
230230

tests/baselines/reference/objectRestAssignment.types

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,8 @@ var { a: [{ ...nested2 }, ...y], b: { z, ...c }, ...rest2 } = overEmit;
5252
>y : { ka: string; x: string; }[]
5353
>b : any
5454
>z : string
55-
>c : Rest<{ z: string; ki: string; ku: string; }, "z">
56-
>rest2 : Rest<{ a: { ka: string; x: string; }[]; b: { z: string; ki: string; ku: string; }; ke: string; ko: string; }, "a" | "b">
55+
>c : { ki: string; ku: string; }
56+
>rest2 : { ke: string; ko: string; }
5757
>overEmit : { a: { ka: string; x: string; }[]; b: { z: string; ki: string; ku: string; }; ke: string; ko: string; }
5858

5959
({ a: [{ ...nested2 }, ...y], b: { z, ...c }, ...rest2 } = overEmit);
@@ -69,7 +69,7 @@ var { a: [{ ...nested2 }, ...y], b: { z, ...c }, ...rest2 } = overEmit;
6969
>b : { ki: string; ku: string; z: string; }
7070
>{ z, ...c } : { ki: string; ku: string; z: string; }
7171
>z : string
72-
>c : Rest<{ z: string; ki: string; ku: string; }, "z">
73-
>rest2 : Rest<{ a: { ka: string; x: string; }[]; b: { z: string; ki: string; ku: string; }; ke: string; ko: string; }, "a" | "b">
72+
>c : { ki: string; ku: string; }
73+
>rest2 : { ke: string; ko: string; }
7474
>overEmit : { a: { ka: string; x: string; }[]; b: { z: string; ki: string; ku: string; }; ke: string; ko: string; }
7575

tests/baselines/reference/objectRestForOf.types

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,13 @@ let array: { x: number, y: string }[];
66

77
for (let { x, ...restOf } of array) {
88
>x : number
9-
>restOf : Rest<{ x: number; y: string; }, "x">
9+
>restOf : { y: string; }
1010
>array : { x: number; y: string; }[]
1111

1212
[x, restOf];
13-
>[x, restOf] : (number | Rest<{ x: number; y: string; }, "x">)[]
13+
>[x, restOf] : (number | { y: string; })[]
1414
>x : number
15-
>restOf : Rest<{ x: number; y: string; }, "x">
15+
>restOf : { y: string; }
1616
}
1717
let xx: number;
1818
>xx : number

tests/baselines/reference/objectRestNegative.errors.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
tests/cases/conformance/types/rest/objectRestNegative.ts(2,10): error TS2462: A rest element must be last in a destructuring pattern.
2-
tests/cases/conformance/types/rest/objectRestNegative.ts(6,10): error TS2322: Type 'Rest<{ a: number; b: string; }, "b">' is not assignable to type '{ a: string; }'.
2+
tests/cases/conformance/types/rest/objectRestNegative.ts(6,10): error TS2322: Type '{ a: number; }' is not assignable to type '{ a: string; }'.
33
Types of property 'a' are incompatible.
44
Type 'number' is not assignable to type 'string'.
55
tests/cases/conformance/types/rest/objectRestNegative.ts(9,31): error TS2462: A rest element must be last in a destructuring pattern.
@@ -18,7 +18,7 @@ tests/cases/conformance/types/rest/objectRestNegative.ts(17,9): error TS2701: Th
1818
let notAssignable: { a: string };
1919
({ b, ...notAssignable } = o);
2020
~~~~~~~~~~~~~
21-
!!! error TS2322: Type 'Rest<{ a: number; b: string; }, "b">' is not assignable to type '{ a: string; }'.
21+
!!! error TS2322: Type '{ a: number; }' is not assignable to type '{ a: string; }'.
2222
!!! error TS2322: Types of property 'a' are incompatible.
2323
!!! error TS2322: Type 'number' is not assignable to type 'string'.
2424

tests/baselines/reference/objectRestNegative.types

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ let o = { a: 1, b: 'no' };
88
>'no' : "no"
99

1010
var { ...mustBeLast, a } = o;
11-
>mustBeLast : Rest<{ a: number; b: string; }, "a">
11+
>mustBeLast : { b: string; }
1212
>a : number
1313
>o : { a: number; b: string; }
1414

@@ -30,24 +30,24 @@ let notAssignable: { a: string };
3030

3131
function stillMustBeLast({ ...mustBeLast, a }: { a: number, b: string }): void {
3232
>stillMustBeLast : ({ ...mustBeLast, a }: { a: number; b: string; }) => void
33-
>mustBeLast : Rest<{ a: number; b: string; }, "a">
33+
>mustBeLast : { b: string; }
3434
>a : number
3535
>a : number
3636
>b : string
3737
}
3838
function generic<T extends { x, y }>(t: T) {
39-
>generic : <T extends { x: any; y: any; }>(t: T) => Rest<T, "x">
39+
>generic : <T extends { x: any; y: any; }>(t: T) => Pick<T, Exclude<keyof T, "x">>
4040
>x : any
4141
>y : any
4242
>t : T
4343

4444
let { x, ...rest } = t;
4545
>x : any
46-
>rest : Rest<T, "x">
46+
>rest : Pick<T, Exclude<keyof T, "x">>
4747
>t : T
4848

4949
return rest;
50-
>rest : Rest<T, "x">
50+
>rest : Pick<T, Exclude<keyof T, "x">>
5151
}
5252

5353
let rest: { b: string }

0 commit comments

Comments
 (0)