File tree 2 files changed +18
-0
lines changed
tests/typescript/rest-type
2 files changed +18
-0
lines changed Original file line number Diff line number Diff line change @@ -22,13 +22,25 @@ printWidth: 80
22
22
=====================================input======================================
23
23
type Tail<T extends any[]> = T extends [infer U, ...infer R] ? R : never;
24
24
25
+ // should remove parens from this, to avoid a type issue with TypeScript 4.0:
26
+ type Tail2<T extends any[]> = T extends [infer U, ...(infer R)] ? R : never;
27
+
28
+ // but not remove parens from this:
29
+ type Tail3<T extends any[]> = T extends [infer U, ...(infer R)[]] ? R : never;
30
+
25
31
type ReduceNextElement<
26
32
T extends readonly unknown[]
27
33
> = T extends readonly [infer V, ...infer R] ? [V, R] : never
28
34
29
35
=====================================output=====================================
30
36
type Tail<T extends any[]> = T extends [infer U, ...infer R] ? R : never;
31
37
38
+ // should remove parens from this, to avoid a type issue with TypeScript 4.0:
39
+ type Tail2<T extends any[]> = T extends [infer U, ...infer R] ? R : never;
40
+
41
+ // but not remove parens from this:
42
+ type Tail3<T extends any[]> = T extends [infer U, ...(infer R)[]] ? R : never;
43
+
32
44
type ReduceNextElement<T extends readonly unknown[]> = T extends readonly [
33
45
infer V,
34
46
...infer R
Original file line number Diff line number Diff line change 1
1
type Tail < T extends any [ ] > = T extends [ infer U , ...infer R ] ? R : never ;
2
2
3
+ // should remove parens from this, to avoid a type issue with TypeScript 4.0:
4
+ type Tail2 < T extends any [ ] > = T extends [ infer U , ...( infer R ) ] ? R : never ;
5
+
6
+ // but not remove parens from this:
7
+ type Tail3 < T extends any [ ] > = T extends [ infer U , ...( infer R ) [ ] ] ? R : never ;
8
+
3
9
type ReduceNextElement <
4
10
T extends readonly unknown [ ]
5
11
> = T extends readonly [ infer V , ...infer R ] ? [ V , R ] : never
You can’t perform that action at this time.
0 commit comments