File: restTupleElements1.symbols

package info (click to toggle)
node-typescript 3.3.3333-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 324,548 kB
  • sloc: makefile: 6; sh: 3
file content (217 lines) | stat: -rw-r--r-- 8,395 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
=== tests/cases/conformance/types/tuple/restTupleElements1.ts ===
type T00 = [string?];
>T00 : Symbol(T00, Decl(restTupleElements1.ts, 0, 0))

type T01 = [string, string?];
>T01 : Symbol(T01, Decl(restTupleElements1.ts, 0, 21))

type T02 = [string?, string];  // Error
>T02 : Symbol(T02, Decl(restTupleElements1.ts, 1, 29))

type T03 = [...string[]];
>T03 : Symbol(T03, Decl(restTupleElements1.ts, 2, 29))

type T04 = [...[...string[]]];
>T04 : Symbol(T04, Decl(restTupleElements1.ts, 3, 25))

type T05 = [...[...[...string[]]]];
>T05 : Symbol(T05, Decl(restTupleElements1.ts, 4, 30))

type T06 = [string, ...string[]];
>T06 : Symbol(T06, Decl(restTupleElements1.ts, 5, 35))

type T07 = [...string[], string];  // Error
>T07 : Symbol(T07, Decl(restTupleElements1.ts, 6, 33))

type T08 = [...string];  // Error
>T08 : Symbol(T08, Decl(restTupleElements1.ts, 7, 33))

type T09 = [...string?];  // Error
>T09 : Symbol(T09, Decl(restTupleElements1.ts, 8, 23))

type T10 = [string, ...[...string[]]];
>T10 : Symbol(T10, Decl(restTupleElements1.ts, 9, 24))

type T11 = [string, ...[...[...string[]]]];
>T11 : Symbol(T11, Decl(restTupleElements1.ts, 10, 38))

type T15 = [boolean, number, ...string[]];
>T15 : Symbol(T15, Decl(restTupleElements1.ts, 11, 43))

type L15 = T15["length"];  // number
>L15 : Symbol(L15, Decl(restTupleElements1.ts, 13, 42))
>T15 : Symbol(T15, Decl(restTupleElements1.ts, 11, 43))

declare function assign<T, S extends T>(): void;
>assign : Symbol(assign, Decl(restTupleElements1.ts, 14, 25))
>T : Symbol(T, Decl(restTupleElements1.ts, 16, 24))
>S : Symbol(S, Decl(restTupleElements1.ts, 16, 26))
>T : Symbol(T, Decl(restTupleElements1.ts, 16, 24))

assign<number[], [...number[]]>();
>assign : Symbol(assign, Decl(restTupleElements1.ts, 14, 25))

assign<number[], [number, ...number[]]>();
>assign : Symbol(assign, Decl(restTupleElements1.ts, 14, 25))

assign<[...number[]], number[]>();
>assign : Symbol(assign, Decl(restTupleElements1.ts, 14, 25))

assign<[number, ...number[]], number[]>();  // Error
>assign : Symbol(assign, Decl(restTupleElements1.ts, 14, 25))

assign<[number, ...number[]], []>();  // Error
>assign : Symbol(assign, Decl(restTupleElements1.ts, 14, 25))

assign<[number, ...number[]], [number]>();
>assign : Symbol(assign, Decl(restTupleElements1.ts, 14, 25))

assign<[number, ...number[]], [number, number]>();
>assign : Symbol(assign, Decl(restTupleElements1.ts, 14, 25))

assign<[number, ...number[]], [number, number, ...number[]]>();
>assign : Symbol(assign, Decl(restTupleElements1.ts, 14, 25))

assign<[number], [...number[]]>();  // Error
>assign : Symbol(assign, Decl(restTupleElements1.ts, 14, 25))

assign<[number], [number, ...number[]]>();  // Error
>assign : Symbol(assign, Decl(restTupleElements1.ts, 14, 25))

assign<[number, ...number[]], [number, ...string[]]>();  // Error
>assign : Symbol(assign, Decl(restTupleElements1.ts, 14, 25))

assign<[number, ...number[]], [string, ...number[]]>();  // Error
>assign : Symbol(assign, Decl(restTupleElements1.ts, 14, 25))

assign<[number, ...number[]], [number, number, string]>();  // Error
>assign : Symbol(assign, Decl(restTupleElements1.ts, 14, 25))

assign<[number, ...number[]], [number, number, number, string]>();  // Error
>assign : Symbol(assign, Decl(restTupleElements1.ts, 14, 25))

type T20 = [number, string, ...boolean[]];
>T20 : Symbol(T20, Decl(restTupleElements1.ts, 34, 66))

type T21 = T20[0];
>T21 : Symbol(T21, Decl(restTupleElements1.ts, 36, 42))
>T20 : Symbol(T20, Decl(restTupleElements1.ts, 34, 66))

type T22 = T20[0 | 1];
>T22 : Symbol(T22, Decl(restTupleElements1.ts, 38, 18))
>T20 : Symbol(T20, Decl(restTupleElements1.ts, 34, 66))

type T23 = T20[0 | 1 | 2];
>T23 : Symbol(T23, Decl(restTupleElements1.ts, 39, 22))
>T20 : Symbol(T20, Decl(restTupleElements1.ts, 34, 66))

type T24 = T20[0 | 1 | 2 | 3];
>T24 : Symbol(T24, Decl(restTupleElements1.ts, 40, 26))
>T20 : Symbol(T20, Decl(restTupleElements1.ts, 34, 66))

type T25 = T20[1 | 2 | 3];
>T25 : Symbol(T25, Decl(restTupleElements1.ts, 41, 30))
>T20 : Symbol(T20, Decl(restTupleElements1.ts, 34, 66))

type T26 = T20[2 | 3];
>T26 : Symbol(T26, Decl(restTupleElements1.ts, 42, 26))
>T20 : Symbol(T20, Decl(restTupleElements1.ts, 34, 66))

type T27 = T20[3];
>T27 : Symbol(T27, Decl(restTupleElements1.ts, 43, 22))
>T20 : Symbol(T20, Decl(restTupleElements1.ts, 34, 66))

type T28 = T20[number];
>T28 : Symbol(T28, Decl(restTupleElements1.ts, 44, 18))
>T20 : Symbol(T20, Decl(restTupleElements1.ts, 34, 66))

declare const t: T20;
>t : Symbol(t, Decl(restTupleElements1.ts, 47, 13))
>T20 : Symbol(T20, Decl(restTupleElements1.ts, 34, 66))

declare const x: number;
>x : Symbol(x, Decl(restTupleElements1.ts, 48, 13))

let e0 = t[0];  // number
>e0 : Symbol(e0, Decl(restTupleElements1.ts, 50, 3))
>t : Symbol(t, Decl(restTupleElements1.ts, 47, 13))
>0 : Symbol(0)

let e1 = t[1];  // string
>e1 : Symbol(e1, Decl(restTupleElements1.ts, 51, 3))
>t : Symbol(t, Decl(restTupleElements1.ts, 47, 13))
>1 : Symbol(1)

let e2 = t[2];  // boolean
>e2 : Symbol(e2, Decl(restTupleElements1.ts, 52, 3))
>t : Symbol(t, Decl(restTupleElements1.ts, 47, 13))

let e3 = t[3];  // boolean
>e3 : Symbol(e3, Decl(restTupleElements1.ts, 53, 3))
>t : Symbol(t, Decl(restTupleElements1.ts, 47, 13))

let ex = t[x];  // number | string | boolean
>ex : Symbol(ex, Decl(restTupleElements1.ts, 54, 3))
>t : Symbol(t, Decl(restTupleElements1.ts, 47, 13))
>x : Symbol(x, Decl(restTupleElements1.ts, 48, 13))

declare function f0<T, U>(x: [T, ...U[]]): [T, U];
>f0 : Symbol(f0, Decl(restTupleElements1.ts, 54, 14))
>T : Symbol(T, Decl(restTupleElements1.ts, 56, 20))
>U : Symbol(U, Decl(restTupleElements1.ts, 56, 22))
>x : Symbol(x, Decl(restTupleElements1.ts, 56, 26))
>T : Symbol(T, Decl(restTupleElements1.ts, 56, 20))
>U : Symbol(U, Decl(restTupleElements1.ts, 56, 22))
>T : Symbol(T, Decl(restTupleElements1.ts, 56, 20))
>U : Symbol(U, Decl(restTupleElements1.ts, 56, 22))

f0([]);  // Error
>f0 : Symbol(f0, Decl(restTupleElements1.ts, 54, 14))

f0([1]);
>f0 : Symbol(f0, Decl(restTupleElements1.ts, 54, 14))

f0([1, 2, 3]);
>f0 : Symbol(f0, Decl(restTupleElements1.ts, 54, 14))

f0([1, "hello", true]);
>f0 : Symbol(f0, Decl(restTupleElements1.ts, 54, 14))

declare function f1(a: [(x: number) => number, ...((x: string) => number)[]]): void;
>f1 : Symbol(f1, Decl(restTupleElements1.ts, 61, 23))
>a : Symbol(a, Decl(restTupleElements1.ts, 63, 20))
>x : Symbol(x, Decl(restTupleElements1.ts, 63, 25))
>x : Symbol(x, Decl(restTupleElements1.ts, 63, 52))

declare function f2(...a: [(x: number) => number, ...((x: string) => number)[]]): void;
>f2 : Symbol(f2, Decl(restTupleElements1.ts, 63, 84))
>a : Symbol(a, Decl(restTupleElements1.ts, 64, 20))
>x : Symbol(x, Decl(restTupleElements1.ts, 64, 28))
>x : Symbol(x, Decl(restTupleElements1.ts, 64, 55))

f1([x => x * 2, x => x.length, x => x.charCodeAt(0)]);
>f1 : Symbol(f1, Decl(restTupleElements1.ts, 61, 23))
>x : Symbol(x, Decl(restTupleElements1.ts, 66, 4))
>x : Symbol(x, Decl(restTupleElements1.ts, 66, 4))
>x : Symbol(x, Decl(restTupleElements1.ts, 66, 15))
>x.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --))
>x : Symbol(x, Decl(restTupleElements1.ts, 66, 15))
>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --))
>x : Symbol(x, Decl(restTupleElements1.ts, 66, 30))
>x.charCodeAt : Symbol(String.charCodeAt, Decl(lib.es5.d.ts, --, --))
>x : Symbol(x, Decl(restTupleElements1.ts, 66, 30))
>charCodeAt : Symbol(String.charCodeAt, Decl(lib.es5.d.ts, --, --))

f2(x => x * 2, x => x.length, x => x.charCodeAt(0));
>f2 : Symbol(f2, Decl(restTupleElements1.ts, 63, 84))
>x : Symbol(x, Decl(restTupleElements1.ts, 67, 3))
>x : Symbol(x, Decl(restTupleElements1.ts, 67, 3))
>x : Symbol(x, Decl(restTupleElements1.ts, 67, 14))
>x.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --))
>x : Symbol(x, Decl(restTupleElements1.ts, 67, 14))
>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --))
>x : Symbol(x, Decl(restTupleElements1.ts, 67, 29))
>x.charCodeAt : Symbol(String.charCodeAt, Decl(lib.es5.d.ts, --, --))
>x : Symbol(x, Decl(restTupleElements1.ts, 67, 29))
>charCodeAt : Symbol(String.charCodeAt, Decl(lib.es5.d.ts, --, --))