|
1 | 1 | === tests/cases/compiler/destructureGenerics.ts ===
|
2 |
| -// declare function f<T extends any[]>(...args: T): T; |
3 |
| -// var x = f(1,2); |
4 |
| -// var x: number[]; |
| 2 | +declare function f<T extends any[]>(...args: T): T; |
| 3 | +>f : Symbol(f, Decl(destructureGenerics.ts, 0, 0)) |
| 4 | +>T : Symbol(T, Decl(destructureGenerics.ts, 0, 19)) |
| 5 | +>args : Symbol(args, Decl(destructureGenerics.ts, 0, 36)) |
| 6 | +>T : Symbol(T, Decl(destructureGenerics.ts, 0, 19)) |
| 7 | +>T : Symbol(T, Decl(destructureGenerics.ts, 0, 19)) |
| 8 | + |
| 9 | +var x = f(1,2); |
| 10 | +>x : Symbol(x, Decl(destructureGenerics.ts, 1, 3), Decl(destructureGenerics.ts, 2, 3)) |
| 11 | +>f : Symbol(f, Decl(destructureGenerics.ts, 0, 0)) |
| 12 | + |
| 13 | +var x: [1, 2]; |
| 14 | +>x : Symbol(x, Decl(destructureGenerics.ts, 1, 3), Decl(destructureGenerics.ts, 2, 3)) |
| 15 | + |
5 | 16 | declare function g<T extends [number, number]>(...args: T): T;
|
6 |
| ->g : Symbol(g, Decl(destructureGenerics.ts, 0, 0)) |
| 17 | +>g : Symbol(g, Decl(destructureGenerics.ts, 2, 14)) |
7 | 18 | >T : Symbol(T, Decl(destructureGenerics.ts, 3, 19))
|
8 | 19 | >args : Symbol(args, Decl(destructureGenerics.ts, 3, 47))
|
9 | 20 | >T : Symbol(T, Decl(destructureGenerics.ts, 3, 19))
|
10 | 21 | >T : Symbol(T, Decl(destructureGenerics.ts, 3, 19))
|
11 | 22 |
|
12 |
| -// var y = g(1); // error |
13 |
| -// var y: [1]; |
14 | 23 | var z = g(1,2);
|
15 |
| ->z : Symbol(z, Decl(destructureGenerics.ts, 6, 3)) |
16 |
| ->g : Symbol(g, Decl(destructureGenerics.ts, 0, 0)) |
| 24 | +>z : Symbol(z, Decl(destructureGenerics.ts, 4, 3), Decl(destructureGenerics.ts, 5, 3)) |
| 25 | +>g : Symbol(g, Decl(destructureGenerics.ts, 2, 14)) |
| 26 | + |
| 27 | +var z: [1,2]; |
| 28 | +>z : Symbol(z, Decl(destructureGenerics.ts, 4, 3), Decl(destructureGenerics.ts, 5, 3)) |
17 | 29 |
|
18 |
| -// var z: [1,2]; |
19 |
| -// var a = g(1,2,3); // error |
20 |
| -// var a: [1,2,3]; |
21 | 30 | declare function h<T>(...args: T[]): T;
|
22 |
| ->h : Symbol(h, Decl(destructureGenerics.ts, 6, 15)) |
23 |
| ->T : Symbol(T, Decl(destructureGenerics.ts, 10, 19)) |
24 |
| ->args : Symbol(args, Decl(destructureGenerics.ts, 10, 22)) |
25 |
| ->T : Symbol(T, Decl(destructureGenerics.ts, 10, 19)) |
26 |
| ->T : Symbol(T, Decl(destructureGenerics.ts, 10, 19)) |
| 31 | +>h : Symbol(h, Decl(destructureGenerics.ts, 5, 13)) |
| 32 | +>T : Symbol(T, Decl(destructureGenerics.ts, 6, 19)) |
| 33 | +>args : Symbol(args, Decl(destructureGenerics.ts, 6, 22)) |
| 34 | +>T : Symbol(T, Decl(destructureGenerics.ts, 6, 19)) |
| 35 | +>T : Symbol(T, Decl(destructureGenerics.ts, 6, 19)) |
27 | 36 |
|
28 | 37 | var b = h(1,2,3);
|
29 |
| ->b : Symbol(b, Decl(destructureGenerics.ts, 11, 3)) |
30 |
| ->h : Symbol(h, Decl(destructureGenerics.ts, 6, 15)) |
| 38 | +>b : Symbol(b, Decl(destructureGenerics.ts, 7, 3), Decl(destructureGenerics.ts, 8, 3)) |
| 39 | +>h : Symbol(h, Decl(destructureGenerics.ts, 5, 13)) |
31 | 40 |
|
32 |
| -// var b: 1|2|3; |
| 41 | +var b: number; |
| 42 | +>b : Symbol(b, Decl(destructureGenerics.ts, 7, 3), Decl(destructureGenerics.ts, 8, 3)) |
33 | 43 |
|
0 commit comments