aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_syntax/tests/data/parser/ok
diff options
context:
space:
mode:
authorDJMcNab <[email protected]>2018-12-20 19:47:29 +0000
committerDJMcNab <[email protected]>2018-12-20 19:47:29 +0000
commitda6be9fdda23213813883cec6493b93f22b8c6ea (patch)
tree58feac410d2fb2464d4d9e45a973f4d8228f9565 /crates/ra_syntax/tests/data/parser/ok
parent55ebe449c98a2e96e677e68b54b5c0e5496bc534 (diff)
Add weird_exprs test
Diffstat (limited to 'crates/ra_syntax/tests/data/parser/ok')
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0035_weird_exprs.rs149
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0035_weird_exprs.txt2236
2 files changed, 2385 insertions, 0 deletions
diff --git a/crates/ra_syntax/tests/data/parser/ok/0035_weird_exprs.rs b/crates/ra_syntax/tests/data/parser/ok/0035_weird_exprs.rs
new file mode 100644
index 000000000..74edc6354
--- /dev/null
+++ b/crates/ra_syntax/tests/data/parser/ok/0035_weird_exprs.rs
@@ -0,0 +1,149 @@
1#![allow(non_camel_case_types)]
2#![allow(dead_code)]
3#![allow(unreachable_code)]
4#![allow(unused_parens)]
5
6#![recursion_limit = "128"]
7
8use std::cell::Cell;
9use std::mem::swap;
10
11// Just a grab bag of stuff that you wouldn't want to actually write.
12
13fn strange() -> bool { let _x: bool = return true; }
14
15fn funny() {
16 fn f(_x: ()) { }
17 f(return);
18}
19
20fn what() {
21 fn the(x: &Cell<bool>) {
22 return while !x.get() { x.set(true); };
23 }
24 let i = &Cell::new(false);
25 let dont = {||the(i)};
26 dont();
27 assert!((i.get()));
28}
29
30fn zombiejesus() {
31 loop {
32 while (return) {
33 if (return) {
34 match (return) {
35 1 => {
36 if (return) {
37 return
38 } else {
39 return
40 }
41 }
42 _ => { return }
43 };
44 } else if (return) {
45 return;
46 }
47 }
48 if (return) { break; }
49 }
50}
51
52fn notsure() {
53 let mut _x: isize;
54 let mut _y = (_x = 0) == (_x = 0);
55 let mut _z = (_x = 0) < (_x = 0);
56 let _a = (_x += 0) == (_x = 0);
57 let _b = swap(&mut _y, &mut _z) == swap(&mut _y, &mut _z);
58}
59
60fn canttouchthis() -> usize {
61 fn p() -> bool { true }
62 let _a = (assert!((true)) == (assert!(p())));
63 let _c = (assert!((p())) == ());
64 let _b: bool = (println!("{}", 0) == (return 0));
65}
66
67fn angrydome() {
68 loop { if break { } }
69 let mut i = 0;
70 loop { i += 1; if i == 1 { match (continue) { 1 => { }, _ => panic!("wat") } }
71 break; }
72}
73
74fn evil_lincoln() { let _evil = println!("lincoln"); }
75
76fn dots() {
77 assert_eq!(String::from(".................................................."),
78 format!("{:?}", .. .. .. .. .. .. .. .. .. .. .. .. ..
79 .. .. .. .. .. .. .. .. .. .. .. ..));
80}
81
82fn u8(u8: u8) {
83 if u8 != 0u8 {
84 assert_eq!(8u8, {
85 macro_rules! u8 {
86 (u8) => {
87 mod u8 {
88 pub fn u8<'u8: 'u8 + 'u8>(u8: &'u8 u8) -> &'u8 u8 {
89 "u8";
90 u8
91 }
92 }
93 };
94 }
95
96 u8!(u8);
97 let &u8: &u8 = u8::u8(&8u8);
98 crate::u8(0u8);
99 u8
100 });
101 }
102}
103
104fn fishy() {
105 assert_eq!(String::from("><>"),
106 String::<>::from::<>("><>").chars::<>().rev::<>().collect::<String>());
107}
108
109fn union() {
110 union union<'union> { union: &'union union<'union>, }
111}
112
113fn special_characters() {
114 let val = !((|(..):(_,_),__@_|__)((&*"\\",'🤔')/**/,{})=={&[..=..][..];})//
115 ;
116 assert!(!val);
117}
118
119fn punch_card() -> impl std::fmt::Debug {
120 ..=..=.. .. .. .. .. .. .. .. .. .. .. ..=.. ..
121 ..=.. ..=.. .. .. .. .. .. .. .. .. ..=..=..=..
122 ..=.. ..=.. ..=.. ..=.. .. ..=..=.. .. ..=.. ..
123 ..=..=.. .. ..=.. ..=.. ..=.. .. .. .. ..=.. ..
124 ..=.. ..=.. ..=.. ..=.. .. ..=.. .. .. ..=.. ..
125 ..=.. ..=.. ..=.. ..=.. .. .. ..=.. .. ..=.. ..
126 ..=.. ..=.. .. ..=..=.. ..=..=.. .. .. ..=.. ..
127}
128
129fn ktulhu() {
130 ;;;();;;;;;;;;()
131}
132
133pub fn main() {
134 strange();
135 funny();
136 what();
137 zombiejesus();
138 notsure();
139 canttouchthis();
140 angrydome();
141 evil_lincoln();
142 dots();
143 u8(8u8);
144 fishy();
145 union();
146 special_characters();
147 punch_card();
148 ktulhu();
149}
diff --git a/crates/ra_syntax/tests/data/parser/ok/0035_weird_exprs.txt b/crates/ra_syntax/tests/data/parser/ok/0035_weird_exprs.txt
new file mode 100644
index 000000000..e4507c553
--- /dev/null
+++ b/crates/ra_syntax/tests/data/parser/ok/0035_weird_exprs.txt
@@ -0,0 +1,2236 @@
1SOURCE_FILE@[0; 3542)
2 ATTR@[0; 31)
3 POUND@[0; 1)
4 EXCL@[1; 2)
5 TOKEN_TREE@[2; 31)
6 L_BRACK@[2; 3)
7 IDENT@[3; 8) "allow"
8 TOKEN_TREE@[8; 30)
9 L_PAREN@[8; 9)
10 IDENT@[9; 29) "non_camel_case_types"
11 R_PAREN@[29; 30)
12 R_BRACK@[30; 31)
13 WHITESPACE@[31; 32)
14 ATTR@[32; 52)
15 POUND@[32; 33)
16 EXCL@[33; 34)
17 TOKEN_TREE@[34; 52)
18 L_BRACK@[34; 35)
19 IDENT@[35; 40) "allow"
20 TOKEN_TREE@[40; 51)
21 L_PAREN@[40; 41)
22 IDENT@[41; 50) "dead_code"
23 R_PAREN@[50; 51)
24 R_BRACK@[51; 52)
25 WHITESPACE@[52; 53)
26 ATTR@[53; 80)
27 POUND@[53; 54)
28 EXCL@[54; 55)
29 TOKEN_TREE@[55; 80)
30 L_BRACK@[55; 56)
31 IDENT@[56; 61) "allow"
32 TOKEN_TREE@[61; 79)
33 L_PAREN@[61; 62)
34 IDENT@[62; 78) "unreachable_code"
35 R_PAREN@[78; 79)
36 R_BRACK@[79; 80)
37 WHITESPACE@[80; 81)
38 ATTR@[81; 105)
39 POUND@[81; 82)
40 EXCL@[82; 83)
41 TOKEN_TREE@[83; 105)
42 L_BRACK@[83; 84)
43 IDENT@[84; 89) "allow"
44 TOKEN_TREE@[89; 104)
45 L_PAREN@[89; 90)
46 IDENT@[90; 103) "unused_parens"
47 R_PAREN@[103; 104)
48 R_BRACK@[104; 105)
49 WHITESPACE@[105; 107)
50 ATTR@[107; 134)
51 POUND@[107; 108)
52 EXCL@[108; 109)
53 TOKEN_TREE@[109; 134)
54 L_BRACK@[109; 110)
55 IDENT@[110; 125) "recursion_limit"
56 WHITESPACE@[125; 126)
57 EQ@[126; 127)
58 WHITESPACE@[127; 128)
59 STRING@[128; 133)
60 R_BRACK@[133; 134)
61 WHITESPACE@[134; 136)
62 USE_ITEM@[136; 156)
63 USE_KW@[136; 139)
64 WHITESPACE@[139; 140)
65 USE_TREE@[140; 155)
66 PATH@[140; 155)
67 PATH@[140; 149)
68 PATH@[140; 143)
69 PATH_SEGMENT@[140; 143)
70 NAME_REF@[140; 143)
71 IDENT@[140; 143) "std"
72 COLONCOLON@[143; 145)
73 PATH_SEGMENT@[145; 149)
74 NAME_REF@[145; 149)
75 IDENT@[145; 149) "cell"
76 COLONCOLON@[149; 151)
77 PATH_SEGMENT@[151; 155)
78 NAME_REF@[151; 155)
79 IDENT@[151; 155) "Cell"
80 SEMI@[155; 156)
81 WHITESPACE@[156; 157)
82 USE_ITEM@[157; 176)
83 USE_KW@[157; 160)
84 WHITESPACE@[160; 161)
85 USE_TREE@[161; 175)
86 PATH@[161; 175)
87 PATH@[161; 169)
88 PATH@[161; 164)
89 PATH_SEGMENT@[161; 164)
90 NAME_REF@[161; 164)
91 IDENT@[161; 164) "std"
92 COLONCOLON@[164; 166)
93 PATH_SEGMENT@[166; 169)
94 NAME_REF@[166; 169)
95 IDENT@[166; 169) "mem"
96 COLONCOLON@[169; 171)
97 PATH_SEGMENT@[171; 175)
98 NAME_REF@[171; 175)
99 IDENT@[171; 175) "swap"
100 SEMI@[175; 176)
101 WHITESPACE@[176; 178)
102 COMMENT@[178; 247)
103 WHITESPACE@[247; 249)
104 FN_DEF@[249; 301)
105 FN_KW@[249; 251)
106 WHITESPACE@[251; 252)
107 NAME@[252; 259)
108 IDENT@[252; 259) "strange"
109 PARAM_LIST@[259; 261)
110 L_PAREN@[259; 260)
111 R_PAREN@[260; 261)
112 WHITESPACE@[261; 262)
113 RET_TYPE@[262; 269)
114 THIN_ARROW@[262; 264)
115 WHITESPACE@[264; 265)
116 PATH_TYPE@[265; 269)
117 PATH@[265; 269)
118 PATH_SEGMENT@[265; 269)
119 NAME_REF@[265; 269)
120 IDENT@[265; 269) "bool"
121 WHITESPACE@[269; 270)
122 BLOCK@[270; 301)
123 L_CURLY@[270; 271)
124 WHITESPACE@[271; 272)
125 LET_STMT@[272; 299)
126 LET_KW@[272; 275)
127 WHITESPACE@[275; 276)
128 BIND_PAT@[276; 278)
129 NAME@[276; 278)
130 IDENT@[276; 278) "_x"
131 COLON@[278; 279)
132 WHITESPACE@[279; 280)
133 PATH_TYPE@[280; 284)
134 PATH@[280; 284)
135 PATH_SEGMENT@[280; 284)
136 NAME_REF@[280; 284)
137 IDENT@[280; 284) "bool"
138 WHITESPACE@[284; 285)
139 EQ@[285; 286)
140 WHITESPACE@[286; 287)
141 RETURN_EXPR@[287; 298)
142 RETURN_KW@[287; 293)
143 WHITESPACE@[293; 294)
144 LITERAL@[294; 298)
145 TRUE_KW@[294; 298)
146 SEMI@[298; 299)
147 WHITESPACE@[299; 300)
148 R_CURLY@[300; 301)
149 WHITESPACE@[301; 303)
150 FN_DEF@[303; 353)
151 FN_KW@[303; 305)
152 WHITESPACE@[305; 306)
153 NAME@[306; 311)
154 IDENT@[306; 311) "funny"
155 PARAM_LIST@[311; 313)
156 L_PAREN@[311; 312)
157 R_PAREN@[312; 313)
158 WHITESPACE@[313; 314)
159 BLOCK@[314; 353)
160 L_CURLY@[314; 315)
161 WHITESPACE@[315; 320)
162 FN_DEF@[320; 336)
163 FN_KW@[320; 322)
164 WHITESPACE@[322; 323)
165 NAME@[323; 324)
166 IDENT@[323; 324) "f"
167 PARAM_LIST@[324; 332)
168 L_PAREN@[324; 325)
169 PARAM@[325; 331)
170 BIND_PAT@[325; 327)
171 NAME@[325; 327)
172 IDENT@[325; 327) "_x"
173 COLON@[327; 328)
174 WHITESPACE@[328; 329)
175 TUPLE_TYPE@[329; 331)
176 L_PAREN@[329; 330)
177 R_PAREN@[330; 331)
178 R_PAREN@[331; 332)
179 WHITESPACE@[332; 333)
180 BLOCK@[333; 336)
181 L_CURLY@[333; 334)
182 WHITESPACE@[334; 335)
183 R_CURLY@[335; 336)
184 WHITESPACE@[336; 341)
185 EXPR_STMT@[341; 351)
186 CALL_EXPR@[341; 350)
187 PATH_EXPR@[341; 342)
188 PATH@[341; 342)
189 PATH_SEGMENT@[341; 342)
190 NAME_REF@[341; 342)
191 IDENT@[341; 342) "f"
192 ARG_LIST@[342; 350)
193 L_PAREN@[342; 343)
194 RETURN_EXPR@[343; 349)
195 RETURN_KW@[343; 349)
196 R_PAREN@[349; 350)
197 SEMI@[350; 351)
198 WHITESPACE@[351; 352)
199 R_CURLY@[352; 353)
200 WHITESPACE@[353; 355)
201 FN_DEF@[355; 545)
202 FN_KW@[355; 357)
203 WHITESPACE@[357; 358)
204 NAME@[358; 362)
205 IDENT@[358; 362) "what"
206 PARAM_LIST@[362; 364)
207 L_PAREN@[362; 363)
208 R_PAREN@[363; 364)
209 WHITESPACE@[364; 365)
210 BLOCK@[365; 545)
211 L_CURLY@[365; 366)
212 WHITESPACE@[366; 371)
213 FN_DEF@[371; 449)
214 FN_KW@[371; 373)
215 WHITESPACE@[373; 374)
216 NAME@[374; 377)
217 IDENT@[374; 377) "the"
218 PARAM_LIST@[377; 393)
219 L_PAREN@[377; 378)
220 PARAM@[378; 392)
221 BIND_PAT@[378; 379)
222 NAME@[378; 379)
223 IDENT@[378; 379) "x"
224 COLON@[379; 380)
225 WHITESPACE@[380; 381)
226 REFERENCE_TYPE@[381; 392)
227 AMP@[381; 382)
228 PATH_TYPE@[382; 392)
229 PATH@[382; 392)
230 PATH_SEGMENT@[382; 392)
231 NAME_REF@[382; 386)
232 IDENT@[382; 386) "Cell"
233 TYPE_ARG_LIST@[386; 392)
234 L_ANGLE@[386; 387)
235 TYPE_ARG@[387; 391)
236 PATH_TYPE@[387; 391)
237 PATH@[387; 391)
238 PATH_SEGMENT@[387; 391)
239 NAME_REF@[387; 391)
240 IDENT@[387; 391) "bool"
241 R_ANGLE@[391; 392)
242 R_PAREN@[392; 393)
243 WHITESPACE@[393; 394)
244 BLOCK@[394; 449)
245 L_CURLY@[394; 395)
246 WHITESPACE@[395; 404)
247 EXPR_STMT@[404; 443)
248 RETURN_EXPR@[404; 442)
249 RETURN_KW@[404; 410)
250 WHITESPACE@[410; 411)
251 WHILE_EXPR@[411; 442)
252 WHILE_KW@[411; 416)
253 WHITESPACE@[416; 417)
254 CONDITION@[417; 425)
255 PREFIX_EXPR@[417; 425)
256 EXCL@[417; 418)
257 METHOD_CALL_EXPR@[418; 425)
258 PATH_EXPR@[418; 419)
259 PATH@[418; 419)
260 PATH_SEGMENT@[418; 419)
261 NAME_REF@[418; 419)
262 IDENT@[418; 419) "x"
263 DOT@[419; 420)
264 NAME_REF@[420; 423)
265 IDENT@[420; 423) "get"
266 ARG_LIST@[423; 425)
267 L_PAREN@[423; 424)
268 R_PAREN@[424; 425)
269 WHITESPACE@[425; 426)
270 BLOCK@[426; 442)
271 L_CURLY@[426; 427)
272 WHITESPACE@[427; 428)
273 EXPR_STMT@[428; 440)
274 METHOD_CALL_EXPR@[428; 439)
275 PATH_EXPR@[428; 429)
276 PATH@[428; 429)
277 PATH_SEGMENT@[428; 429)
278 NAME_REF@[428; 429)
279 IDENT@[428; 429) "x"
280 DOT@[429; 430)
281 NAME_REF@[430; 433)
282 IDENT@[430; 433) "set"
283 ARG_LIST@[433; 439)
284 L_PAREN@[433; 434)
285 LITERAL@[434; 438)
286 TRUE_KW@[434; 438)
287 R_PAREN@[438; 439)
288 SEMI@[439; 440)
289 WHITESPACE@[440; 441)
290 R_CURLY@[441; 442)
291 SEMI@[442; 443)
292 WHITESPACE@[443; 448)
293 R_CURLY@[448; 449)
294 WHITESPACE@[449; 454)
295 LET_STMT@[454; 480)
296 LET_KW@[454; 457)
297 WHITESPACE@[457; 458)
298 BIND_PAT@[458; 459)
299 NAME@[458; 459)
300 IDENT@[458; 459) "i"
301 WHITESPACE@[459; 460)
302 EQ@[460; 461)
303 WHITESPACE@[461; 462)
304 REF_EXPR@[462; 479)
305 AMP@[462; 463)
306 CALL_EXPR@[463; 479)
307 PATH_EXPR@[463; 472)
308 PATH@[463; 472)
309 PATH@[463; 467)
310 PATH_SEGMENT@[463; 467)
311 NAME_REF@[463; 467)
312 IDENT@[463; 467) "Cell"
313 COLONCOLON@[467; 469)
314 PATH_SEGMENT@[469; 472)
315 NAME_REF@[469; 472)
316 IDENT@[469; 472) "new"
317 ARG_LIST@[472; 479)
318 L_PAREN@[472; 473)
319 LITERAL@[473; 478)
320 FALSE_KW@[473; 478)
321 R_PAREN@[478; 479)
322 SEMI@[479; 480)
323 WHITESPACE@[480; 485)
324 LET_STMT@[485; 507)
325 LET_KW@[485; 488)
326 WHITESPACE@[488; 489)
327 BIND_PAT@[489; 493)
328 NAME@[489; 493)
329 IDENT@[489; 493) "dont"
330 WHITESPACE@[493; 494)
331 EQ@[494; 495)
332 WHITESPACE@[495; 496)
333 BLOCK_EXPR@[496; 506)
334 BLOCK@[496; 506)
335 L_CURLY@[496; 497)
336 LAMBDA_EXPR@[497; 505)
337 PARAM_LIST@[497; 499)
338 PIPE@[497; 498)
339 PIPE@[498; 499)
340 CALL_EXPR@[499; 505)
341 PATH_EXPR@[499; 502)
342 PATH@[499; 502)
343 PATH_SEGMENT@[499; 502)
344 NAME_REF@[499; 502)
345 IDENT@[499; 502) "the"
346 ARG_LIST@[502; 505)
347 L_PAREN@[502; 503)
348 PATH_EXPR@[503; 504)
349 PATH@[503; 504)
350 PATH_SEGMENT@[503; 504)
351 NAME_REF@[503; 504)
352 IDENT@[503; 504) "i"
353 R_PAREN@[504; 505)
354 R_CURLY@[505; 506)
355 SEMI@[506; 507)
356 WHITESPACE@[507; 512)
357 EXPR_STMT@[512; 519)
358 CALL_EXPR@[512; 518)
359 PATH_EXPR@[512; 516)
360 PATH@[512; 516)
361 PATH_SEGMENT@[512; 516)
362 NAME_REF@[512; 516)
363 IDENT@[512; 516) "dont"
364 ARG_LIST@[516; 518)
365 L_PAREN@[516; 517)
366 R_PAREN@[517; 518)
367 SEMI@[518; 519)
368 WHITESPACE@[519; 524)
369 EXPR_STMT@[524; 543)
370 MACRO_CALL@[524; 542)
371 PATH@[524; 530)
372 PATH_SEGMENT@[524; 530)
373 NAME_REF@[524; 530)
374 IDENT@[524; 530) "assert"
375 EXCL@[530; 531)
376 TOKEN_TREE@[531; 542)
377 L_PAREN@[531; 532)
378 TOKEN_TREE@[532; 541)
379 L_PAREN@[532; 533)
380 IDENT@[533; 534) "i"
381 DOT@[534; 535)
382 IDENT@[535; 538) "get"
383 TOKEN_TREE@[538; 540)
384 L_PAREN@[538; 539)
385 R_PAREN@[539; 540)
386 R_PAREN@[540; 541)
387 R_PAREN@[541; 542)
388 SEMI@[542; 543)
389 WHITESPACE@[543; 544)
390 R_CURLY@[544; 545)
391 WHITESPACE@[545; 547)
392 FN_DEF@[547; 1051)
393 FN_KW@[547; 549)
394 WHITESPACE@[549; 550)
395 NAME@[550; 561)
396 IDENT@[550; 561) "zombiejesus"
397 PARAM_LIST@[561; 563)
398 L_PAREN@[561; 562)
399 R_PAREN@[562; 563)
400 WHITESPACE@[563; 564)
401 BLOCK@[564; 1051)
402 L_CURLY@[564; 565)
403 WHITESPACE@[565; 570)
404 LOOP_EXPR@[570; 1049)
405 LOOP_KW@[570; 574)
406 WHITESPACE@[574; 575)
407 BLOCK@[575; 1049)
408 L_CURLY@[575; 576)
409 WHITESPACE@[576; 585)
410 EXPR_STMT@[585; 1012)
411 WHILE_EXPR@[585; 1012)
412 WHILE_KW@[585; 590)
413 WHITESPACE@[590; 591)
414 CONDITION@[591; 599)
415 PAREN_EXPR@[591; 599)
416 L_PAREN@[591; 592)
417 RETURN_EXPR@[592; 598)
418 RETURN_KW@[592; 598)
419 R_PAREN@[598; 599)
420 WHITESPACE@[599; 600)
421 BLOCK@[600; 1012)
422 L_CURLY@[600; 601)
423 WHITESPACE@[601; 614)
424 IF_EXPR@[614; 1002)
425 IF_KW@[614; 616)
426 WHITESPACE@[616; 617)
427 CONDITION@[617; 625)
428 PAREN_EXPR@[617; 625)
429 L_PAREN@[617; 618)
430 RETURN_EXPR@[618; 624)
431 RETURN_KW@[618; 624)
432 R_PAREN@[624; 625)
433 WHITESPACE@[625; 626)
434 BLOCK@[626; 945)
435 L_CURLY@[626; 627)
436 WHITESPACE@[627; 644)
437 EXPR_STMT@[644; 931)
438 MATCH_EXPR@[644; 930)
439 MATCH_KW@[644; 649)
440 WHITESPACE@[649; 650)
441 PAREN_EXPR@[650; 658)
442 L_PAREN@[650; 651)
443 RETURN_EXPR@[651; 657)
444 RETURN_KW@[651; 657)
445 R_PAREN@[657; 658)
446 WHITESPACE@[658; 659)
447 MATCH_ARM_LIST@[659; 930)
448 L_CURLY@[659; 660)
449 WHITESPACE@[660; 681)
450 MATCH_ARM@[681; 876)
451 LITERAL@[681; 682)
452 INT_NUMBER@[681; 682) "1"
453 WHITESPACE@[682; 683)
454 FAT_ARROW@[683; 685)
455 WHITESPACE@[685; 686)
456 BLOCK_EXPR@[686; 876)
457 BLOCK@[686; 876)
458 L_CURLY@[686; 687)
459 WHITESPACE@[687; 712)
460 IF_EXPR@[712; 854)
461 IF_KW@[712; 714)
462 WHITESPACE@[714; 715)
463 CONDITION@[715; 723)
464 PAREN_EXPR@[715; 723)
465 L_PAREN@[715; 716)
466 RETURN_EXPR@[716; 722)
467 RETURN_KW@[716; 722)
468 R_PAREN@[722; 723)
469 WHITESPACE@[723; 724)
470 BLOCK@[724; 786)
471 L_CURLY@[724; 725)
472 WHITESPACE@[725; 754)
473 RETURN_EXPR@[754; 760)
474 RETURN_KW@[754; 760)
475 WHITESPACE@[760; 785)
476 R_CURLY@[785; 786)
477 WHITESPACE@[786; 787)
478 ELSE_KW@[787; 791)
479 WHITESPACE@[791; 792)
480 BLOCK@[792; 854)
481 L_CURLY@[792; 793)
482 WHITESPACE@[793; 822)
483 RETURN_EXPR@[822; 828)
484 RETURN_KW@[822; 828)
485 WHITESPACE@[828; 853)
486 R_CURLY@[853; 854)
487 WHITESPACE@[854; 875)
488 R_CURLY@[875; 876)
489 WHITESPACE@[876; 897)
490 MATCH_ARM@[897; 912)
491 PLACEHOLDER_PAT@[897; 898)
492 UNDERSCORE@[897; 898)
493 WHITESPACE@[898; 899)
494 FAT_ARROW@[899; 901)
495 WHITESPACE@[901; 902)
496 BLOCK_EXPR@[902; 912)
497 BLOCK@[902; 912)
498 L_CURLY@[902; 903)
499 WHITESPACE@[903; 904)
500 RETURN_EXPR@[904; 910)
501 RETURN_KW@[904; 910)
502 WHITESPACE@[910; 911)
503 R_CURLY@[911; 912)
504 WHITESPACE@[912; 929)
505 R_CURLY@[929; 930)
506 SEMI@[930; 931)
507 WHITESPACE@[931; 944)
508 R_CURLY@[944; 945)
509 WHITESPACE@[945; 946)
510 ELSE_KW@[946; 950)
511 WHITESPACE@[950; 951)
512 IF_EXPR@[951; 1002)
513 IF_KW@[951; 953)
514 WHITESPACE@[953; 954)
515 CONDITION@[954; 962)
516 PAREN_EXPR@[954; 962)
517 L_PAREN@[954; 955)
518 RETURN_EXPR@[955; 961)
519 RETURN_KW@[955; 961)
520 R_PAREN@[961; 962)
521 WHITESPACE@[962; 963)
522 BLOCK@[963; 1002)
523 L_CURLY@[963; 964)
524 WHITESPACE@[964; 981)
525 EXPR_STMT@[981; 988)
526 RETURN_EXPR@[981; 987)
527 RETURN_KW@[981; 987)
528 SEMI@[987; 988)
529 WHITESPACE@[988; 1001)
530 R_CURLY@[1001; 1002)
531 WHITESPACE@[1002; 1011)
532 R_CURLY@[1011; 1012)
533 WHITESPACE@[1012; 1021)
534 IF_EXPR@[1021; 1043)
535 IF_KW@[1021; 1023)
536 WHITESPACE@[1023; 1024)
537 CONDITION@[1024; 1032)
538 PAREN_EXPR@[1024; 1032)
539 L_PAREN@[1024; 1025)
540 RETURN_EXPR@[1025; 1031)
541 RETURN_KW@[1025; 1031)
542 R_PAREN@[1031; 1032)
543 WHITESPACE@[1032; 1033)
544 BLOCK@[1033; 1043)
545 L_CURLY@[1033; 1034)
546 WHITESPACE@[1034; 1035)
547 EXPR_STMT@[1035; 1041)
548 BREAK_EXPR@[1035; 1040)
549 BREAK_KW@[1035; 1040)
550 SEMI@[1040; 1041)
551 WHITESPACE@[1041; 1042)
552 R_CURLY@[1042; 1043)
553 WHITESPACE@[1043; 1048)
554 R_CURLY@[1048; 1049)
555 WHITESPACE@[1049; 1050)
556 R_CURLY@[1050; 1051)
557 WHITESPACE@[1051; 1053)
558 FN_DEF@[1053; 1268)
559 FN_KW@[1053; 1055)
560 WHITESPACE@[1055; 1056)
561 NAME@[1056; 1063)
562 IDENT@[1056; 1063) "notsure"
563 PARAM_LIST@[1063; 1065)
564 L_PAREN@[1063; 1064)
565 R_PAREN@[1064; 1065)
566 WHITESPACE@[1065; 1066)
567 BLOCK@[1066; 1268)
568 L_CURLY@[1066; 1067)
569 WHITESPACE@[1067; 1072)
570 LET_STMT@[1072; 1090)
571 LET_KW@[1072; 1075)
572 WHITESPACE@[1075; 1076)
573 BIND_PAT@[1076; 1082)
574 MUT_KW@[1076; 1079)
575 WHITESPACE@[1079; 1080)
576 NAME@[1080; 1082)
577 IDENT@[1080; 1082) "_x"
578 COLON@[1082; 1083)
579 WHITESPACE@[1083; 1084)
580 PATH_TYPE@[1084; 1089)
581 PATH@[1084; 1089)
582 PATH_SEGMENT@[1084; 1089)
583 NAME_REF@[1084; 1089)
584 IDENT@[1084; 1089) "isize"
585 SEMI@[1089; 1090)
586 WHITESPACE@[1090; 1095)
587 LET_STMT@[1095; 1129)
588 LET_KW@[1095; 1098)
589 WHITESPACE@[1098; 1099)
590 BIND_PAT@[1099; 1105)
591 MUT_KW@[1099; 1102)
592 WHITESPACE@[1102; 1103)
593 NAME@[1103; 1105)
594 IDENT@[1103; 1105) "_y"
595 WHITESPACE@[1105; 1106)
596 EQ@[1106; 1107)
597 WHITESPACE@[1107; 1108)
598 BIN_EXPR@[1108; 1128)
599 PAREN_EXPR@[1108; 1116)
600 L_PAREN@[1108; 1109)
601 BIN_EXPR@[1109; 1115)
602 PATH_EXPR@[1109; 1111)
603 PATH@[1109; 1111)
604 PATH_SEGMENT@[1109; 1111)
605 NAME_REF@[1109; 1111)
606 IDENT@[1109; 1111) "_x"
607 WHITESPACE@[1111; 1112)
608 EQ@[1112; 1113)
609 WHITESPACE@[1113; 1114)
610 LITERAL@[1114; 1115)
611 INT_NUMBER@[1114; 1115) "0"
612 R_PAREN@[1115; 1116)
613 WHITESPACE@[1116; 1117)
614 EQEQ@[1117; 1119)
615 WHITESPACE@[1119; 1120)
616 PAREN_EXPR@[1120; 1128)
617 L_PAREN@[1120; 1121)
618 BIN_EXPR@[1121; 1127)
619 PATH_EXPR@[1121; 1123)
620 PATH@[1121; 1123)
621 PATH_SEGMENT@[1121; 1123)
622 NAME_REF@[1121; 1123)
623 IDENT@[1121; 1123) "_x"
624 WHITESPACE@[1123; 1124)
625 EQ@[1124; 1125)
626 WHITESPACE@[1125; 1126)
627 LITERAL@[1126; 1127)
628 INT_NUMBER@[1126; 1127) "0"
629 R_PAREN@[1127; 1128)
630 SEMI@[1128; 1129)
631 WHITESPACE@[1129; 1134)
632 LET_STMT@[1134; 1167)
633 LET_KW@[1134; 1137)
634 WHITESPACE@[1137; 1138)
635 BIND_PAT@[1138; 1144)
636 MUT_KW@[1138; 1141)
637 WHITESPACE@[1141; 1142)
638 NAME@[1142; 1144)
639 IDENT@[1142; 1144) "_z"
640 WHITESPACE@[1144; 1145)
641 EQ@[1145; 1146)
642 WHITESPACE@[1146; 1147)
643 BIN_EXPR@[1147; 1166)
644 PAREN_EXPR@[1147; 1155)
645 L_PAREN@[1147; 1148)
646 BIN_EXPR@[1148; 1154)
647 PATH_EXPR@[1148; 1150)
648 PATH@[1148; 1150)
649 PATH_SEGMENT@[1148; 1150)
650 NAME_REF@[1148; 1150)
651 IDENT@[1148; 1150) "_x"
652 WHITESPACE@[1150; 1151)
653 EQ@[1151; 1152)
654 WHITESPACE@[1152; 1153)
655 LITERAL@[1153; 1154)
656 INT_NUMBER@[1153; 1154) "0"
657 R_PAREN@[1154; 1155)
658 WHITESPACE@[1155; 1156)
659 L_ANGLE@[1156; 1157)
660 WHITESPACE@[1157; 1158)
661 PAREN_EXPR@[1158; 1166)
662 L_PAREN@[1158; 1159)
663 BIN_EXPR@[1159; 1165)
664 PATH_EXPR@[1159; 1161)
665 PATH@[1159; 1161)
666 PATH_SEGMENT@[1159; 1161)
667 NAME_REF@[1159; 1161)
668 IDENT@[1159; 1161) "_x"
669 WHITESPACE@[1161; 1162)
670 EQ@[1162; 1163)
671 WHITESPACE@[1163; 1164)
672 LITERAL@[1164; 1165)
673 INT_NUMBER@[1164; 1165) "0"
674 R_PAREN@[1165; 1166)
675 SEMI@[1166; 1167)
676 WHITESPACE@[1167; 1172)
677 LET_STMT@[1172; 1203)
678 LET_KW@[1172; 1175)
679 WHITESPACE@[1175; 1176)
680 BIND_PAT@[1176; 1178)
681 NAME@[1176; 1178)
682 IDENT@[1176; 1178) "_a"
683 WHITESPACE@[1178; 1179)
684 EQ@[1179; 1180)
685 WHITESPACE@[1180; 1181)
686 BIN_EXPR@[1181; 1202)
687 PAREN_EXPR@[1181; 1190)
688 L_PAREN@[1181; 1182)
689 BIN_EXPR@[1182; 1189)
690 PATH_EXPR@[1182; 1184)
691 PATH@[1182; 1184)
692 PATH_SEGMENT@[1182; 1184)
693 NAME_REF@[1182; 1184)
694 IDENT@[1182; 1184) "_x"
695 WHITESPACE@[1184; 1185)
696 PLUSEQ@[1185; 1187)
697 WHITESPACE@[1187; 1188)
698 LITERAL@[1188; 1189)
699 INT_NUMBER@[1188; 1189) "0"
700 R_PAREN@[1189; 1190)
701 WHITESPACE@[1190; 1191)
702 EQEQ@[1191; 1193)
703 WHITESPACE@[1193; 1194)
704 PAREN_EXPR@[1194; 1202)
705 L_PAREN@[1194; 1195)
706 BIN_EXPR@[1195; 1201)
707 PATH_EXPR@[1195; 1197)
708 PATH@[1195; 1197)
709 PATH_SEGMENT@[1195; 1197)
710 NAME_REF@[1195; 1197)
711 IDENT@[1195; 1197) "_x"
712 WHITESPACE@[1197; 1198)
713 EQ@[1198; 1199)
714 WHITESPACE@[1199; 1200)
715 LITERAL@[1200; 1201)
716 INT_NUMBER@[1200; 1201) "0"
717 R_PAREN@[1201; 1202)
718 SEMI@[1202; 1203)
719 WHITESPACE@[1203; 1208)
720 LET_STMT@[1208; 1266)
721 LET_KW@[1208; 1211)
722 WHITESPACE@[1211; 1212)
723 BIND_PAT@[1212; 1214)
724 NAME@[1212; 1214)
725 IDENT@[1212; 1214) "_b"
726 WHITESPACE@[1214; 1215)
727 EQ@[1215; 1216)
728 WHITESPACE@[1216; 1217)
729 BIN_EXPR@[1217; 1265)
730 CALL_EXPR@[1217; 1239)
731 PATH_EXPR@[1217; 1221)
732 PATH@[1217; 1221)
733 PATH_SEGMENT@[1217; 1221)
734 NAME_REF@[1217; 1221)
735 IDENT@[1217; 1221) "swap"
736 ARG_LIST@[1221; 1239)
737 L_PAREN@[1221; 1222)
738 REF_EXPR@[1222; 1229)
739 AMP@[1222; 1223)
740 MUT_KW@[1223; 1226)
741 WHITESPACE@[1226; 1227)
742 PATH_EXPR@[1227; 1229)
743 PATH@[1227; 1229)
744 PATH_SEGMENT@[1227; 1229)
745 NAME_REF@[1227; 1229)
746 IDENT@[1227; 1229) "_y"
747 COMMA@[1229; 1230)
748 WHITESPACE@[1230; 1231)
749 REF_EXPR@[1231; 1238)
750 AMP@[1231; 1232)
751 MUT_KW@[1232; 1235)
752 WHITESPACE@[1235; 1236)
753 PATH_EXPR@[1236; 1238)
754 PATH@[1236; 1238)
755 PATH_SEGMENT@[1236; 1238)
756 NAME_REF@[1236; 1238)
757 IDENT@[1236; 1238) "_z"
758 R_PAREN@[1238; 1239)
759 WHITESPACE@[1239; 1240)
760 EQEQ@[1240; 1242)
761 WHITESPACE@[1242; 1243)
762 CALL_EXPR@[1243; 1265)
763 PATH_EXPR@[1243; 1247)
764 PATH@[1243; 1247)
765 PATH_SEGMENT@[1243; 1247)
766 NAME_REF@[1243; 1247)
767 IDENT@[1243; 1247) "swap"
768 ARG_LIST@[1247; 1265)
769 L_PAREN@[1247; 1248)
770 REF_EXPR@[1248; 1255)
771 AMP@[1248; 1249)
772 MUT_KW@[1249; 1252)
773 WHITESPACE@[1252; 1253)
774 PATH_EXPR@[1253; 1255)
775 PATH@[1253; 1255)
776 PATH_SEGMENT@[1253; 1255)
777 NAME_REF@[1253; 1255)
778 IDENT@[1253; 1255) "_y"
779 COMMA@[1255; 1256)
780 WHITESPACE@[1256; 1257)
781 REF_EXPR@[1257; 1264)
782 AMP@[1257; 1258)
783 MUT_KW@[1258; 1261)
784 WHITESPACE@[1261; 1262)
785 PATH_EXPR@[1262; 1264)
786 PATH@[1262; 1264)
787 PATH_SEGMENT@[1262; 1264)
788 NAME_REF@[1262; 1264)
789 IDENT@[1262; 1264) "_z"
790 R_PAREN@[1264; 1265)
791 SEMI@[1265; 1266)
792 WHITESPACE@[1266; 1267)
793 R_CURLY@[1267; 1268)
794 WHITESPACE@[1268; 1270)
795 FN_DEF@[1270; 1470)
796 FN_KW@[1270; 1272)
797 WHITESPACE@[1272; 1273)
798 NAME@[1273; 1286)
799 IDENT@[1273; 1286) "canttouchthis"
800 PARAM_LIST@[1286; 1288)
801 L_PAREN@[1286; 1287)
802 R_PAREN@[1287; 1288)
803 WHITESPACE@[1288; 1289)
804 RET_TYPE@[1289; 1297)
805 THIN_ARROW@[1289; 1291)
806 WHITESPACE@[1291; 1292)
807 PATH_TYPE@[1292; 1297)
808 PATH@[1292; 1297)
809 PATH_SEGMENT@[1292; 1297)
810 NAME_REF@[1292; 1297)
811 IDENT@[1292; 1297) "usize"
812 WHITESPACE@[1297; 1298)
813 BLOCK@[1298; 1470)
814 L_CURLY@[1298; 1299)
815 WHITESPACE@[1299; 1304)
816 FN_DEF@[1304; 1327)
817 FN_KW@[1304; 1306)
818 WHITESPACE@[1306; 1307)
819 NAME@[1307; 1308)
820 IDENT@[1307; 1308) "p"
821 PARAM_LIST@[1308; 1310)
822 L_PAREN@[1308; 1309)
823 R_PAREN@[1309; 1310)
824 WHITESPACE@[1310; 1311)
825 RET_TYPE@[1311; 1318)
826 THIN_ARROW@[1311; 1313)
827 WHITESPACE@[1313; 1314)
828 PATH_TYPE@[1314; 1318)
829 PATH@[1314; 1318)
830 PATH_SEGMENT@[1314; 1318)
831 NAME_REF@[1314; 1318)
832 IDENT@[1314; 1318) "bool"
833 WHITESPACE@[1318; 1319)
834 BLOCK@[1319; 1327)
835 L_CURLY@[1319; 1320)
836 WHITESPACE@[1320; 1321)
837 LITERAL@[1321; 1325)
838 TRUE_KW@[1321; 1325)
839 WHITESPACE@[1325; 1326)
840 R_CURLY@[1326; 1327)
841 WHITESPACE@[1327; 1332)
842 LET_STMT@[1332; 1377)
843 LET_KW@[1332; 1335)
844 WHITESPACE@[1335; 1336)
845 BIND_PAT@[1336; 1338)
846 NAME@[1336; 1338)
847 IDENT@[1336; 1338) "_a"
848 WHITESPACE@[1338; 1339)
849 EQ@[1339; 1340)
850 WHITESPACE@[1340; 1341)
851 PAREN_EXPR@[1341; 1376)
852 L_PAREN@[1341; 1342)
853 BIN_EXPR@[1342; 1375)
854 MACRO_CALL@[1342; 1357)
855 PATH@[1342; 1348)
856 PATH_SEGMENT@[1342; 1348)
857 NAME_REF@[1342; 1348)
858 IDENT@[1342; 1348) "assert"
859 EXCL@[1348; 1349)
860 TOKEN_TREE@[1349; 1357)
861 L_PAREN@[1349; 1350)
862 TOKEN_TREE@[1350; 1356)
863 L_PAREN@[1350; 1351)
864 TRUE_KW@[1351; 1355)
865 R_PAREN@[1355; 1356)
866 R_PAREN@[1356; 1357)
867 WHITESPACE@[1357; 1358)
868 EQEQ@[1358; 1360)
869 WHITESPACE@[1360; 1361)
870 PAREN_EXPR@[1361; 1375)
871 L_PAREN@[1361; 1362)
872 MACRO_CALL@[1362; 1374)
873 PATH@[1362; 1368)
874 PATH_SEGMENT@[1362; 1368)
875 NAME_REF@[1362; 1368)
876 IDENT@[1362; 1368) "assert"
877 EXCL@[1368; 1369)
878 TOKEN_TREE@[1369; 1374)
879 L_PAREN@[1369; 1370)
880 IDENT@[1370; 1371) "p"
881 TOKEN_TREE@[1371; 1373)
882 L_PAREN@[1371; 1372)
883 R_PAREN@[1372; 1373)
884 R_PAREN@[1373; 1374)
885 R_PAREN@[1374; 1375)
886 R_PAREN@[1375; 1376)
887 SEMI@[1376; 1377)
888 WHITESPACE@[1377; 1382)
889 LET_STMT@[1382; 1414)
890 LET_KW@[1382; 1385)
891 WHITESPACE@[1385; 1386)
892 BIND_PAT@[1386; 1388)
893 NAME@[1386; 1388)
894 IDENT@[1386; 1388) "_c"
895 WHITESPACE@[1388; 1389)
896 EQ@[1389; 1390)
897 WHITESPACE@[1390; 1391)
898 PAREN_EXPR@[1391; 1413)
899 L_PAREN@[1391; 1392)
900 BIN_EXPR@[1392; 1412)
901 MACRO_CALL@[1392; 1406)
902 PATH@[1392; 1398)
903 PATH_SEGMENT@[1392; 1398)
904 NAME_REF@[1392; 1398)
905 IDENT@[1392; 1398) "assert"
906 EXCL@[1398; 1399)
907 TOKEN_TREE@[1399; 1406)
908 L_PAREN@[1399; 1400)
909 TOKEN_TREE@[1400; 1405)
910 L_PAREN@[1400; 1401)
911 IDENT@[1401; 1402) "p"
912 TOKEN_TREE@[1402; 1404)
913 L_PAREN@[1402; 1403)
914 R_PAREN@[1403; 1404)
915 R_PAREN@[1404; 1405)
916 R_PAREN@[1405; 1406)
917 WHITESPACE@[1406; 1407)
918 EQEQ@[1407; 1409)
919 WHITESPACE@[1409; 1410)
920 TUPLE_EXPR@[1410; 1412)
921 L_PAREN@[1410; 1411)
922 R_PAREN@[1411; 1412)
923 R_PAREN@[1412; 1413)
924 SEMI@[1413; 1414)
925 WHITESPACE@[1414; 1419)
926 LET_STMT@[1419; 1468)
927 LET_KW@[1419; 1422)
928 WHITESPACE@[1422; 1423)
929 BIND_PAT@[1423; 1425)
930 NAME@[1423; 1425)
931 IDENT@[1423; 1425) "_b"
932 COLON@[1425; 1426)
933 WHITESPACE@[1426; 1427)
934 PATH_TYPE@[1427; 1431)
935 PATH@[1427; 1431)
936 PATH_SEGMENT@[1427; 1431)
937 NAME_REF@[1427; 1431)
938 IDENT@[1427; 1431) "bool"
939 WHITESPACE@[1431; 1432)
940 EQ@[1432; 1433)
941 WHITESPACE@[1433; 1434)
942 PAREN_EXPR@[1434; 1467)
943 L_PAREN@[1434; 1435)
944 BIN_EXPR@[1435; 1466)
945 MACRO_CALL@[1435; 1452)
946 PATH@[1435; 1442)
947 PATH_SEGMENT@[1435; 1442)
948 NAME_REF@[1435; 1442)
949 IDENT@[1435; 1442) "println"
950 EXCL@[1442; 1443)
951 TOKEN_TREE@[1443; 1452)
952 L_PAREN@[1443; 1444)
953 STRING@[1444; 1448)
954 COMMA@[1448; 1449)
955 WHITESPACE@[1449; 1450)
956 INT_NUMBER@[1450; 1451) "0"
957 R_PAREN@[1451; 1452)
958 WHITESPACE@[1452; 1453)
959 EQEQ@[1453; 1455)
960 WHITESPACE@[1455; 1456)
961 PAREN_EXPR@[1456; 1466)
962 L_PAREN@[1456; 1457)
963 RETURN_EXPR@[1457; 1465)
964 RETURN_KW@[1457; 1463)
965 WHITESPACE@[1463; 1464)
966 LITERAL@[1464; 1465)
967 INT_NUMBER@[1464; 1465) "0"
968 R_PAREN@[1465; 1466)
969 R_PAREN@[1466; 1467)
970 SEMI@[1467; 1468)
971 WHITESPACE@[1468; 1469)
972 R_CURLY@[1469; 1470)
973 WHITESPACE@[1470; 1472)
974 FN_DEF@[1472; 1633)
975 FN_KW@[1472; 1474)
976 WHITESPACE@[1474; 1475)
977 NAME@[1475; 1484)
978 IDENT@[1475; 1484) "angrydome"
979 PARAM_LIST@[1484; 1486)
980 L_PAREN@[1484; 1485)
981 R_PAREN@[1485; 1486)
982 WHITESPACE@[1486; 1487)
983 BLOCK@[1487; 1633)
984 L_CURLY@[1487; 1488)
985 WHITESPACE@[1488; 1493)
986 EXPR_STMT@[1493; 1514)
987 LOOP_EXPR@[1493; 1514)
988 LOOP_KW@[1493; 1497)
989 WHITESPACE@[1497; 1498)
990 BLOCK@[1498; 1514)
991 L_CURLY@[1498; 1499)
992 WHITESPACE@[1499; 1500)
993 IF_EXPR@[1500; 1512)
994 IF_KW@[1500; 1502)
995 WHITESPACE@[1502; 1503)
996 CONDITION@[1503; 1508)
997 BREAK_EXPR@[1503; 1508)
998 BREAK_KW@[1503; 1508)
999 WHITESPACE@[1508; 1509)
1000 BLOCK@[1509; 1512)
1001 L_CURLY@[1509; 1510)
1002 WHITESPACE@[1510; 1511)
1003 R_CURLY@[1511; 1512)
1004 WHITESPACE@[1512; 1513)
1005 R_CURLY@[1513; 1514)
1006 WHITESPACE@[1514; 1519)
1007 LET_STMT@[1519; 1533)
1008 LET_KW@[1519; 1522)
1009 WHITESPACE@[1522; 1523)
1010 BIND_PAT@[1523; 1528)
1011 MUT_KW@[1523; 1526)
1012 WHITESPACE@[1526; 1527)
1013 NAME@[1527; 1528)
1014 IDENT@[1527; 1528) "i"
1015 WHITESPACE@[1528; 1529)
1016 EQ@[1529; 1530)
1017 WHITESPACE@[1530; 1531)
1018 LITERAL@[1531; 1532)
1019 INT_NUMBER@[1531; 1532) "0"
1020 SEMI@[1532; 1533)
1021 WHITESPACE@[1533; 1538)
1022 LOOP_EXPR@[1538; 1631)
1023 LOOP_KW@[1538; 1542)
1024 WHITESPACE@[1542; 1543)
1025 BLOCK@[1543; 1631)
1026 L_CURLY@[1543; 1544)
1027 WHITESPACE@[1544; 1545)
1028 EXPR_STMT@[1545; 1552)
1029 BIN_EXPR@[1545; 1551)
1030 PATH_EXPR@[1545; 1546)
1031 PATH@[1545; 1546)
1032 PATH_SEGMENT@[1545; 1546)
1033 NAME_REF@[1545; 1546)
1034 IDENT@[1545; 1546) "i"
1035 WHITESPACE@[1546; 1547)
1036 PLUSEQ@[1547; 1549)
1037 WHITESPACE@[1549; 1550)
1038 LITERAL@[1550; 1551)
1039 INT_NUMBER@[1550; 1551) "1"
1040 SEMI@[1551; 1552)
1041 WHITESPACE@[1552; 1553)
1042 EXPR_STMT@[1553; 1616)
1043 IF_EXPR@[1553; 1616)
1044 IF_KW@[1553; 1555)
1045 WHITESPACE@[1555; 1556)
1046 CONDITION@[1556; 1562)
1047 BIN_EXPR@[1556; 1562)
1048 PATH_EXPR@[1556; 1557)
1049 PATH@[1556; 1557)
1050 PATH_SEGMENT@[1556; 1557)
1051 NAME_REF@[1556; 1557)
1052 IDENT@[1556; 1557) "i"
1053 WHITESPACE@[1557; 1558)
1054 EQEQ@[1558; 1560)
1055 WHITESPACE@[1560; 1561)
1056 LITERAL@[1561; 1562)
1057 INT_NUMBER@[1561; 1562) "1"
1058 WHITESPACE@[1562; 1563)
1059 BLOCK@[1563; 1616)
1060 L_CURLY@[1563; 1564)
1061 WHITESPACE@[1564; 1565)
1062 MATCH_EXPR@[1565; 1614)
1063 MATCH_KW@[1565; 1570)
1064 WHITESPACE@[1570; 1571)
1065 PAREN_EXPR@[1571; 1581)
1066 L_PAREN@[1571; 1572)
1067 CONTINUE_EXPR@[1572; 1580)
1068 CONTINUE_KW@[1572; 1580)
1069 R_PAREN@[1580; 1581)
1070 WHITESPACE@[1581; 1582)
1071 MATCH_ARM_LIST@[1582; 1614)
1072 L_CURLY@[1582; 1583)
1073 WHITESPACE@[1583; 1584)
1074 MATCH_ARM@[1584; 1592)
1075 LITERAL@[1584; 1585)
1076 INT_NUMBER@[1584; 1585) "1"
1077 WHITESPACE@[1585; 1586)
1078 FAT_ARROW@[1586; 1588)
1079 WHITESPACE@[1588; 1589)
1080 BLOCK_EXPR@[1589; 1592)
1081 BLOCK@[1589; 1592)
1082 L_CURLY@[1589; 1590)
1083 WHITESPACE@[1590; 1591)
1084 R_CURLY@[1591; 1592)
1085 COMMA@[1592; 1593)
1086 WHITESPACE@[1593; 1594)
1087 MATCH_ARM@[1594; 1612)
1088 PLACEHOLDER_PAT@[1594; 1595)
1089 UNDERSCORE@[1594; 1595)
1090 WHITESPACE@[1595; 1596)
1091 FAT_ARROW@[1596; 1598)
1092 WHITESPACE@[1598; 1599)
1093 MACRO_CALL@[1599; 1612)
1094 PATH@[1599; 1604)
1095 PATH_SEGMENT@[1599; 1604)
1096 NAME_REF@[1599; 1604)
1097 IDENT@[1599; 1604) "panic"
1098 EXCL@[1604; 1605)
1099 TOKEN_TREE@[1605; 1612)
1100 L_PAREN@[1605; 1606)
1101 STRING@[1606; 1611)
1102 R_PAREN@[1611; 1612)
1103 WHITESPACE@[1612; 1613)
1104 R_CURLY@[1613; 1614)
1105 WHITESPACE@[1614; 1615)
1106 R_CURLY@[1615; 1616)
1107 WHITESPACE@[1616; 1623)
1108 EXPR_STMT@[1623; 1629)
1109 BREAK_EXPR@[1623; 1628)
1110 BREAK_KW@[1623; 1628)
1111 SEMI@[1628; 1629)
1112 WHITESPACE@[1629; 1630)
1113 R_CURLY@[1630; 1631)
1114 WHITESPACE@[1631; 1632)
1115 R_CURLY@[1632; 1633)
1116 WHITESPACE@[1633; 1635)
1117 FN_DEF@[1635; 1689)
1118 FN_KW@[1635; 1637)
1119 WHITESPACE@[1637; 1638)
1120 NAME@[1638; 1650)
1121 IDENT@[1638; 1650) "evil_lincoln"
1122 PARAM_LIST@[1650; 1652)
1123 L_PAREN@[1650; 1651)
1124 R_PAREN@[1651; 1652)
1125 WHITESPACE@[1652; 1653)
1126 BLOCK@[1653; 1689)
1127 L_CURLY@[1653; 1654)
1128 WHITESPACE@[1654; 1655)
1129 LET_STMT@[1655; 1687)
1130 LET_KW@[1655; 1658)
1131 WHITESPACE@[1658; 1659)
1132 BIND_PAT@[1659; 1664)
1133 NAME@[1659; 1664)
1134 IDENT@[1659; 1664) "_evil"
1135 WHITESPACE@[1664; 1665)
1136 EQ@[1665; 1666)
1137 WHITESPACE@[1666; 1667)
1138 MACRO_CALL@[1667; 1686)
1139 PATH@[1667; 1674)
1140 PATH_SEGMENT@[1667; 1674)
1141 NAME_REF@[1667; 1674)
1142 IDENT@[1667; 1674) "println"
1143 EXCL@[1674; 1675)
1144 TOKEN_TREE@[1675; 1686)
1145 L_PAREN@[1675; 1676)
1146 STRING@[1676; 1685)
1147 R_PAREN@[1685; 1686)
1148 SEMI@[1686; 1687)
1149 WHITESPACE@[1687; 1688)
1150 R_CURLY@[1688; 1689)
1151 WHITESPACE@[1689; 1691)
1152 FN_DEF@[1691; 1927)
1153 FN_KW@[1691; 1693)
1154 WHITESPACE@[1693; 1694)
1155 NAME@[1694; 1698)
1156 IDENT@[1694; 1698) "dots"
1157 PARAM_LIST@[1698; 1700)
1158 L_PAREN@[1698; 1699)
1159 R_PAREN@[1699; 1700)
1160 WHITESPACE@[1700; 1701)
1161 BLOCK@[1701; 1927)
1162 L_CURLY@[1701; 1702)
1163 WHITESPACE@[1702; 1707)
1164 EXPR_STMT@[1707; 1925)
1165 MACRO_CALL@[1707; 1924)
1166 PATH@[1707; 1716)
1167 PATH_SEGMENT@[1707; 1716)
1168 NAME_REF@[1707; 1716)
1169 IDENT@[1707; 1716) "assert_eq"
1170 EXCL@[1716; 1717)
1171 TOKEN_TREE@[1717; 1924)
1172 L_PAREN@[1717; 1718)
1173 IDENT@[1718; 1724) "String"
1174 COLONCOLON@[1724; 1726)
1175 IDENT@[1726; 1730) "from"
1176 TOKEN_TREE@[1730; 1784)
1177 L_PAREN@[1730; 1731)
1178 STRING@[1731; 1783)
1179 R_PAREN@[1783; 1784)
1180 COMMA@[1784; 1785)
1181 WHITESPACE@[1785; 1801)
1182 IDENT@[1801; 1807) "format"
1183 EXCL@[1807; 1808)
1184 TOKEN_TREE@[1808; 1923)
1185 L_PAREN@[1808; 1809)
1186 STRING@[1809; 1815)
1187 COMMA@[1815; 1816)
1188 WHITESPACE@[1816; 1817)
1189 DOTDOT@[1817; 1819)
1190 WHITESPACE@[1819; 1820)
1191 DOTDOT@[1820; 1822)
1192 WHITESPACE@[1822; 1823)
1193 DOTDOT@[1823; 1825)
1194 WHITESPACE@[1825; 1826)
1195 DOTDOT@[1826; 1828)
1196 WHITESPACE@[1828; 1829)
1197 DOTDOT@[1829; 1831)
1198 WHITESPACE@[1831; 1832)
1199 DOTDOT@[1832; 1834)
1200 WHITESPACE@[1834; 1835)
1201 DOTDOT@[1835; 1837)
1202 WHITESPACE@[1837; 1838)
1203 DOTDOT@[1838; 1840)
1204 WHITESPACE@[1840; 1841)
1205 DOTDOT@[1841; 1843)
1206 WHITESPACE@[1843; 1844)
1207 DOTDOT@[1844; 1846)
1208 WHITESPACE@[1846; 1847)
1209 DOTDOT@[1847; 1849)
1210 WHITESPACE@[1849; 1850)
1211 DOTDOT@[1850; 1852)
1212 WHITESPACE@[1852; 1853)
1213 DOTDOT@[1853; 1855)
1214 WHITESPACE@[1855; 1887)
1215 DOTDOT@[1887; 1889)
1216 WHITESPACE@[1889; 1890)
1217 DOTDOT@[1890; 1892)
1218 WHITESPACE@[1892; 1893)
1219 DOTDOT@[1893; 1895)
1220 WHITESPACE@[1895; 1896)
1221 DOTDOT@[1896; 1898)
1222 WHITESPACE@[1898; 1899)
1223 DOTDOT@[1899; 1901)
1224 WHITESPACE@[1901; 1902)
1225 DOTDOT@[1902; 1904)
1226 WHITESPACE@[1904; 1905)
1227 DOTDOT@[1905; 1907)
1228 WHITESPACE@[1907; 1908)
1229 DOTDOT@[1908; 1910)
1230 WHITESPACE@[1910; 1911)
1231 DOTDOT@[1911; 1913)
1232 WHITESPACE@[1913; 1914)
1233 DOTDOT@[1914; 1916)
1234 WHITESPACE@[1916; 1917)
1235 DOTDOT@[1917; 1919)
1236 WHITESPACE@[1919; 1920)
1237 DOTDOT@[1920; 1922)
1238 R_PAREN@[1922; 1923)
1239 R_PAREN@[1923; 1924)
1240 SEMI@[1924; 1925)
1241 WHITESPACE@[1925; 1926)
1242 R_CURLY@[1926; 1927)
1243 WHITESPACE@[1927; 1929)
1244 FN_DEF@[1929; 2422)
1245 FN_KW@[1929; 1931)
1246 WHITESPACE@[1931; 1932)
1247 NAME@[1932; 1934)
1248 IDENT@[1932; 1934) "u8"
1249 PARAM_LIST@[1934; 1942)
1250 L_PAREN@[1934; 1935)
1251 PARAM@[1935; 1941)
1252 BIND_PAT@[1935; 1937)
1253 NAME@[1935; 1937)
1254 IDENT@[1935; 1937) "u8"
1255 COLON@[1937; 1938)
1256 WHITESPACE@[1938; 1939)
1257 PATH_TYPE@[1939; 1941)
1258 PATH@[1939; 1941)
1259 PATH_SEGMENT@[1939; 1941)
1260 NAME_REF@[1939; 1941)
1261 IDENT@[1939; 1941) "u8"
1262 R_PAREN@[1941; 1942)
1263 WHITESPACE@[1942; 1943)
1264 BLOCK@[1943; 2422)
1265 L_CURLY@[1943; 1944)
1266 WHITESPACE@[1944; 1949)
1267 IF_EXPR@[1949; 2420)
1268 IF_KW@[1949; 1951)
1269 WHITESPACE@[1951; 1952)
1270 CONDITION@[1952; 1961)
1271 BIN_EXPR@[1952; 1961)
1272 PATH_EXPR@[1952; 1954)
1273 PATH@[1952; 1954)
1274 PATH_SEGMENT@[1952; 1954)
1275 NAME_REF@[1952; 1954)
1276 IDENT@[1952; 1954) "u8"
1277 WHITESPACE@[1954; 1955)
1278 NEQ@[1955; 1957)
1279 WHITESPACE@[1957; 1958)
1280 LITERAL@[1958; 1961)
1281 INT_NUMBER@[1958; 1961) "0u8"
1282 WHITESPACE@[1961; 1962)
1283 BLOCK@[1962; 2420)
1284 L_CURLY@[1962; 1963)
1285 WHITESPACE@[1963; 1972)
1286 EXPR_STMT@[1972; 2414)
1287 MACRO_CALL@[1972; 2413)
1288 PATH@[1972; 1981)
1289 PATH_SEGMENT@[1972; 1981)
1290 NAME_REF@[1972; 1981)
1291 IDENT@[1972; 1981) "assert_eq"
1292 EXCL@[1981; 1982)
1293 TOKEN_TREE@[1982; 2413)
1294 L_PAREN@[1982; 1983)
1295 INT_NUMBER@[1983; 1986) "8u8"
1296 COMMA@[1986; 1987)
1297 WHITESPACE@[1987; 1988)
1298 TOKEN_TREE@[1988; 2412)
1299 L_CURLY@[1988; 1989)
1300 WHITESPACE@[1989; 2002)
1301 IDENT@[2002; 2013) "macro_rules"
1302 EXCL@[2013; 2014)
1303 WHITESPACE@[2014; 2015)
1304 IDENT@[2015; 2017) "u8"
1305 WHITESPACE@[2017; 2018)
1306 TOKEN_TREE@[2018; 2296)
1307 L_CURLY@[2018; 2019)
1308 WHITESPACE@[2019; 2036)
1309 TOKEN_TREE@[2036; 2040)
1310 L_PAREN@[2036; 2037)
1311 IDENT@[2037; 2039) "u8"
1312 R_PAREN@[2039; 2040)
1313 WHITESPACE@[2040; 2041)
1314 FAT_ARROW@[2041; 2043)
1315 WHITESPACE@[2043; 2044)
1316 TOKEN_TREE@[2044; 2281)
1317 L_CURLY@[2044; 2045)
1318 WHITESPACE@[2045; 2066)
1319 MOD_KW@[2066; 2069)
1320 WHITESPACE@[2069; 2070)
1321 IDENT@[2070; 2072) "u8"
1322 WHITESPACE@[2072; 2073)
1323 TOKEN_TREE@[2073; 2263)
1324 L_CURLY@[2073; 2074)
1325 WHITESPACE@[2074; 2099)
1326 PUB_KW@[2099; 2102)
1327 WHITESPACE@[2102; 2103)
1328 FN_KW@[2103; 2105)
1329 WHITESPACE@[2105; 2106)
1330 IDENT@[2106; 2108) "u8"
1331 L_ANGLE@[2108; 2109)
1332 LIFETIME@[2109; 2112) "'u8"
1333 COLON@[2112; 2113)
1334 WHITESPACE@[2113; 2114)
1335 LIFETIME@[2114; 2117) "'u8"
1336 WHITESPACE@[2117; 2118)
1337 PLUS@[2118; 2119)
1338 WHITESPACE@[2119; 2120)
1339 LIFETIME@[2120; 2123) "'u8"
1340 R_ANGLE@[2123; 2124)
1341 TOKEN_TREE@[2124; 2137)
1342 L_PAREN@[2124; 2125)
1343 IDENT@[2125; 2127) "u8"
1344 COLON@[2127; 2128)
1345 WHITESPACE@[2128; 2129)
1346 AMP@[2129; 2130)
1347 LIFETIME@[2130; 2133) "'u8"
1348 WHITESPACE@[2133; 2134)
1349 IDENT@[2134; 2136) "u8"
1350 R_PAREN@[2136; 2137)
1351 WHITESPACE@[2137; 2138)
1352 THIN_ARROW@[2138; 2140)
1353 WHITESPACE@[2140; 2141)
1354 AMP@[2141; 2142)
1355 LIFETIME@[2142; 2145) "'u8"
1356 WHITESPACE@[2145; 2146)
1357 IDENT@[2146; 2148) "u8"
1358 WHITESPACE@[2148; 2149)
1359 TOKEN_TREE@[2149; 2241)
1360 L_CURLY@[2149; 2150)
1361 WHITESPACE@[2150; 2179)
1362 STRING@[2179; 2183)
1363 SEMI@[2183; 2184)
1364 WHITESPACE@[2184; 2213)
1365 IDENT@[2213; 2215) "u8"
1366 WHITESPACE@[2215; 2240)
1367 R_CURLY@[2240; 2241)
1368 WHITESPACE@[2241; 2262)
1369 R_CURLY@[2262; 2263)
1370 WHITESPACE@[2263; 2280)
1371 R_CURLY@[2280; 2281)
1372 SEMI@[2281; 2282)
1373 WHITESPACE@[2282; 2295)
1374 R_CURLY@[2295; 2296)
1375 WHITESPACE@[2296; 2310)
1376 IDENT@[2310; 2312) "u8"
1377 EXCL@[2312; 2313)
1378 TOKEN_TREE@[2313; 2317)
1379 L_PAREN@[2313; 2314)
1380 IDENT@[2314; 2316) "u8"
1381 R_PAREN@[2316; 2317)
1382 SEMI@[2317; 2318)
1383 WHITESPACE@[2318; 2331)
1384 LET_KW@[2331; 2334)
1385 WHITESPACE@[2334; 2335)
1386 AMP@[2335; 2336)
1387 IDENT@[2336; 2338) "u8"
1388 COLON@[2338; 2339)
1389 WHITESPACE@[2339; 2340)
1390 AMP@[2340; 2341)
1391 IDENT@[2341; 2343) "u8"
1392 WHITESPACE@[2343; 2344)
1393 EQ@[2344; 2345)
1394 WHITESPACE@[2345; 2346)
1395 IDENT@[2346; 2348) "u8"
1396 COLONCOLON@[2348; 2350)
1397 IDENT@[2350; 2352) "u8"
1398 TOKEN_TREE@[2352; 2358)
1399 L_PAREN@[2352; 2353)
1400 AMP@[2353; 2354)
1401 INT_NUMBER@[2354; 2357) "8u8"
1402 R_PAREN@[2357; 2358)
1403 SEMI@[2358; 2359)
1404 WHITESPACE@[2359; 2372)
1405 CRATE_KW@[2372; 2377)
1406 COLONCOLON@[2377; 2379)
1407 IDENT@[2379; 2381) "u8"
1408 TOKEN_TREE@[2381; 2386)
1409 L_PAREN@[2381; 2382)
1410 INT_NUMBER@[2382; 2385) "0u8"
1411 R_PAREN@[2385; 2386)
1412 SEMI@[2386; 2387)
1413 WHITESPACE@[2387; 2400)
1414 IDENT@[2400; 2402) "u8"
1415 WHITESPACE@[2402; 2411)
1416 R_CURLY@[2411; 2412)
1417 R_PAREN@[2412; 2413)
1418 SEMI@[2413; 2414)
1419 WHITESPACE@[2414; 2419)
1420 R_CURLY@[2419; 2420)
1421 WHITESPACE@[2420; 2421)
1422 R_CURLY@[2421; 2422)
1423 WHITESPACE@[2422; 2424)
1424 FN_DEF@[2424; 2561)
1425 FN_KW@[2424; 2426)
1426 WHITESPACE@[2426; 2427)
1427 NAME@[2427; 2432)
1428 IDENT@[2427; 2432) "fishy"
1429 PARAM_LIST@[2432; 2434)
1430 L_PAREN@[2432; 2433)
1431 R_PAREN@[2433; 2434)
1432 WHITESPACE@[2434; 2435)
1433 BLOCK@[2435; 2561)
1434 L_CURLY@[2435; 2436)
1435 WHITESPACE@[2436; 2441)
1436 EXPR_STMT@[2441; 2559)
1437 MACRO_CALL@[2441; 2558)
1438 PATH@[2441; 2450)
1439 PATH_SEGMENT@[2441; 2450)
1440 NAME_REF@[2441; 2450)
1441 IDENT@[2441; 2450) "assert_eq"
1442 EXCL@[2450; 2451)
1443 TOKEN_TREE@[2451; 2558)
1444 L_PAREN@[2451; 2452)
1445 IDENT@[2452; 2458) "String"
1446 COLONCOLON@[2458; 2460)
1447 IDENT@[2460; 2464) "from"
1448 TOKEN_TREE@[2464; 2471)
1449 L_PAREN@[2464; 2465)
1450 STRING@[2465; 2470)
1451 R_PAREN@[2470; 2471)
1452 COMMA@[2471; 2472)
1453 WHITESPACE@[2472; 2488)
1454 IDENT@[2488; 2494) "String"
1455 COLONCOLON@[2494; 2496)
1456 L_ANGLE@[2496; 2497)
1457 R_ANGLE@[2497; 2498)
1458 COLONCOLON@[2498; 2500)
1459 IDENT@[2500; 2504) "from"
1460 COLONCOLON@[2504; 2506)
1461 L_ANGLE@[2506; 2507)
1462 R_ANGLE@[2507; 2508)
1463 TOKEN_TREE@[2508; 2515)
1464 L_PAREN@[2508; 2509)
1465 STRING@[2509; 2514)
1466 R_PAREN@[2514; 2515)
1467 DOT@[2515; 2516)
1468 IDENT@[2516; 2521) "chars"
1469 COLONCOLON@[2521; 2523)
1470 L_ANGLE@[2523; 2524)
1471 R_ANGLE@[2524; 2525)
1472 TOKEN_TREE@[2525; 2527)
1473 L_PAREN@[2525; 2526)
1474 R_PAREN@[2526; 2527)
1475 DOT@[2527; 2528)
1476 IDENT@[2528; 2531) "rev"
1477 COLONCOLON@[2531; 2533)
1478 L_ANGLE@[2533; 2534)
1479 R_ANGLE@[2534; 2535)
1480 TOKEN_TREE@[2535; 2537)
1481 L_PAREN@[2535; 2536)
1482 R_PAREN@[2536; 2537)
1483 DOT@[2537; 2538)
1484 IDENT@[2538; 2545) "collect"
1485 COLONCOLON@[2545; 2547)
1486 L_ANGLE@[2547; 2548)
1487 IDENT@[2548; 2554) "String"
1488 R_ANGLE@[2554; 2555)
1489 TOKEN_TREE@[2555; 2557)
1490 L_PAREN@[2555; 2556)
1491 R_PAREN@[2556; 2557)
1492 R_PAREN@[2557; 2558)
1493 SEMI@[2558; 2559)
1494 WHITESPACE@[2559; 2560)
1495 R_CURLY@[2560; 2561)
1496 WHITESPACE@[2561; 2563)
1497 FN_DEF@[2563; 2635)
1498 FN_KW@[2563; 2565)
1499 WHITESPACE@[2565; 2566)
1500 NAME@[2566; 2571)
1501 IDENT@[2566; 2571) "union"
1502 PARAM_LIST@[2571; 2573)
1503 L_PAREN@[2571; 2572)
1504 R_PAREN@[2572; 2573)
1505 WHITESPACE@[2573; 2574)
1506 BLOCK@[2574; 2635)
1507 L_CURLY@[2574; 2575)
1508 WHITESPACE@[2575; 2580)
1509 STRUCT_DEF@[2580; 2633)
1510 UNION_KW@[2580; 2585)
1511 WHITESPACE@[2585; 2586)
1512 NAME@[2586; 2591)
1513 IDENT@[2586; 2591) "union"
1514 TYPE_PARAM_LIST@[2591; 2599)
1515 L_ANGLE@[2591; 2592)
1516 LIFETIME_PARAM@[2592; 2598)
1517 LIFETIME@[2592; 2598) "'union"
1518 R_ANGLE@[2598; 2599)
1519 WHITESPACE@[2599; 2600)
1520 NAMED_FIELD_DEF_LIST@[2600; 2633)
1521 L_CURLY@[2600; 2601)
1522 WHITESPACE@[2601; 2602)
1523 NAMED_FIELD_DEF@[2602; 2630)
1524 NAME@[2602; 2607)
1525 IDENT@[2602; 2607) "union"
1526 COLON@[2607; 2608)
1527 WHITESPACE@[2608; 2609)
1528 REFERENCE_TYPE@[2609; 2630)
1529 AMP@[2609; 2610)
1530 LIFETIME@[2610; 2616) "'union"
1531 WHITESPACE@[2616; 2617)
1532 PATH_TYPE@[2617; 2630)
1533 PATH@[2617; 2630)
1534 PATH_SEGMENT@[2617; 2630)
1535 NAME_REF@[2617; 2622)
1536 IDENT@[2617; 2622) "union"
1537 TYPE_ARG_LIST@[2622; 2630)
1538 L_ANGLE@[2622; 2623)
1539 LIFETIME_ARG@[2623; 2629)
1540 LIFETIME@[2623; 2629) "'union"
1541 R_ANGLE@[2629; 2630)
1542 COMMA@[2630; 2631)
1543 WHITESPACE@[2631; 2632)
1544 R_CURLY@[2632; 2633)
1545 WHITESPACE@[2633; 2634)
1546 R_CURLY@[2634; 2635)
1547 WHITESPACE@[2635; 2637)
1548 FN_DEF@[2637; 2771)
1549 FN_KW@[2637; 2639)
1550 WHITESPACE@[2639; 2640)
1551 NAME@[2640; 2658)
1552 IDENT@[2640; 2658) "special_characters"
1553 PARAM_LIST@[2658; 2660)
1554 L_PAREN@[2658; 2659)
1555 R_PAREN@[2659; 2660)
1556 WHITESPACE@[2660; 2661)
1557 BLOCK@[2661; 2771)
1558 L_CURLY@[2661; 2662)
1559 WHITESPACE@[2662; 2667)
1560 LET_STMT@[2667; 2750)
1561 LET_KW@[2667; 2670)
1562 WHITESPACE@[2670; 2671)
1563 BIND_PAT@[2671; 2674)
1564 NAME@[2671; 2674)
1565 IDENT@[2671; 2674) "val"
1566 WHITESPACE@[2674; 2675)
1567 EQ@[2675; 2676)
1568 WHITESPACE@[2676; 2677)
1569 PREFIX_EXPR@[2677; 2742)
1570 EXCL@[2677; 2678)
1571 PAREN_EXPR@[2678; 2742)
1572 L_PAREN@[2678; 2679)
1573 BIN_EXPR@[2679; 2741)
1574 CALL_EXPR@[2679; 2724)
1575 PAREN_EXPR@[2679; 2700)
1576 L_PAREN@[2679; 2680)
1577 LAMBDA_EXPR@[2680; 2699)
1578 PARAM_LIST@[2680; 2697)
1579 PIPE@[2680; 2681)
1580 PARAM@[2681; 2691)
1581 TUPLE_PAT@[2681; 2685)
1582 L_PAREN@[2681; 2682)
1583 DOTDOT@[2682; 2684)
1584 R_PAREN@[2684; 2685)
1585 COLON@[2685; 2686)
1586 TUPLE_TYPE@[2686; 2691)
1587 L_PAREN@[2686; 2687)
1588 PLACEHOLDER_TYPE@[2687; 2688)
1589 UNDERSCORE@[2687; 2688)
1590 COMMA@[2688; 2689)
1591 PLACEHOLDER_TYPE@[2689; 2690)
1592 UNDERSCORE@[2689; 2690)
1593 R_PAREN@[2690; 2691)
1594 COMMA@[2691; 2692)
1595 PARAM@[2692; 2696)
1596 BIND_PAT@[2692; 2696)
1597 NAME@[2692; 2694)
1598 IDENT@[2692; 2694) "__"
1599 AT@[2694; 2695)
1600 PLACEHOLDER_PAT@[2695; 2696)
1601 UNDERSCORE@[2695; 2696)
1602 PIPE@[2696; 2697)
1603 PATH_EXPR@[2697; 2699)
1604 PATH@[2697; 2699)
1605 PATH_SEGMENT@[2697; 2699)
1606 NAME_REF@[2697; 2699)
1607 IDENT@[2697; 2699) "__"
1608 R_PAREN@[2699; 2700)
1609 ARG_LIST@[2700; 2724)
1610 L_PAREN@[2700; 2701)
1611 TUPLE_EXPR@[2701; 2716)
1612 L_PAREN@[2701; 2702)
1613 REF_EXPR@[2702; 2708)
1614 AMP@[2702; 2703)
1615 PREFIX_EXPR@[2703; 2708)
1616 STAR@[2703; 2704)
1617 LITERAL@[2704; 2708)
1618 STRING@[2704; 2708)
1619 COMMA@[2708; 2709)
1620 LITERAL@[2709; 2715)
1621 CHAR@[2709; 2715)
1622 R_PAREN@[2715; 2716)
1623 COMMENT@[2716; 2720)
1624 COMMA@[2720; 2721)
1625 BLOCK_EXPR@[2721; 2723)
1626 BLOCK@[2721; 2723)
1627 L_CURLY@[2721; 2722)
1628 R_CURLY@[2722; 2723)
1629 R_PAREN@[2723; 2724)
1630 EQEQ@[2724; 2726)
1631 BLOCK_EXPR@[2726; 2741)
1632 BLOCK@[2726; 2741)
1633 L_CURLY@[2726; 2727)
1634 EXPR_STMT@[2727; 2740)
1635 REF_EXPR@[2727; 2739)
1636 AMP@[2727; 2728)
1637 INDEX_EXPR@[2728; 2739)
1638 ARRAY_EXPR@[2728; 2735)
1639 L_BRACK@[2728; 2729)
1640 RANGE_EXPR@[2729; 2734)
1641 DOTDOTEQ@[2729; 2732)
1642 RANGE_EXPR@[2732; 2734)
1643 DOTDOT@[2732; 2734)
1644 R_BRACK@[2734; 2735)
1645 L_BRACK@[2735; 2736)
1646 RANGE_EXPR@[2736; 2738)
1647 DOTDOT@[2736; 2738)
1648 R_BRACK@[2738; 2739)
1649 SEMI@[2739; 2740)
1650 R_CURLY@[2740; 2741)
1651 R_PAREN@[2741; 2742)
1652 COMMENT@[2742; 2744)
1653 WHITESPACE@[2744; 2749)
1654 SEMI@[2749; 2750)
1655 WHITESPACE@[2750; 2755)
1656 EXPR_STMT@[2755; 2769)
1657 MACRO_CALL@[2755; 2768)
1658 PATH@[2755; 2761)
1659 PATH_SEGMENT@[2755; 2761)
1660 NAME_REF@[2755; 2761)
1661 IDENT@[2755; 2761) "assert"
1662 EXCL@[2761; 2762)
1663 TOKEN_TREE@[2762; 2768)
1664 L_PAREN@[2762; 2763)
1665 EXCL@[2763; 2764)
1666 IDENT@[2764; 2767) "val"
1667 R_PAREN@[2767; 2768)
1668 SEMI@[2768; 2769)
1669 WHITESPACE@[2769; 2770)
1670 R_CURLY@[2770; 2771)
1671 WHITESPACE@[2771; 2773)
1672 FN_DEF@[2773; 3243)
1673 FN_KW@[2773; 2775)
1674 WHITESPACE@[2775; 2776)
1675 NAME@[2776; 2786)
1676 IDENT@[2776; 2786) "punch_card"
1677 PARAM_LIST@[2786; 2788)
1678 L_PAREN@[2786; 2787)
1679 R_PAREN@[2787; 2788)
1680 WHITESPACE@[2788; 2789)
1681 RET_TYPE@[2789; 2812)
1682 THIN_ARROW@[2789; 2791)
1683 WHITESPACE@[2791; 2792)
1684 IMPL_TRAIT_TYPE@[2792; 2812)
1685 IMPL_KW@[2792; 2796)
1686 WHITESPACE@[2796; 2797)
1687 PATH_TYPE@[2797; 2812)
1688 PATH@[2797; 2812)
1689 PATH@[2797; 2805)
1690 PATH@[2797; 2800)
1691 PATH_SEGMENT@[2797; 2800)
1692 NAME_REF@[2797; 2800)
1693 IDENT@[2797; 2800) "std"
1694 COLONCOLON@[2800; 2802)
1695 PATH_SEGMENT@[2802; 2805)
1696 NAME_REF@[2802; 2805)
1697 IDENT@[2802; 2805) "fmt"
1698 COLONCOLON@[2805; 2807)
1699 PATH_SEGMENT@[2807; 2812)
1700 NAME_REF@[2807; 2812)
1701 IDENT@[2807; 2812) "Debug"
1702 WHITESPACE@[2812; 2813)
1703 BLOCK@[2813; 3243)
1704 L_CURLY@[2813; 2814)
1705 WHITESPACE@[2814; 2819)
1706 RANGE_EXPR@[2819; 3241)
1707 DOTDOTEQ@[2819; 2822)
1708 RANGE_EXPR@[2822; 3241)
1709 DOTDOTEQ@[2822; 2825)
1710 RANGE_EXPR@[2825; 3241)
1711 DOTDOT@[2825; 2827)
1712 WHITESPACE@[2827; 2828)
1713 RANGE_EXPR@[2828; 3241)
1714 DOTDOT@[2828; 2830)
1715 WHITESPACE@[2830; 2834)
1716 RANGE_EXPR@[2834; 3241)
1717 DOTDOT@[2834; 2836)
1718 WHITESPACE@[2836; 2837)
1719 RANGE_EXPR@[2837; 3241)
1720 DOTDOT@[2837; 2839)
1721 WHITESPACE@[2839; 2840)
1722 RANGE_EXPR@[2840; 3241)
1723 DOTDOT@[2840; 2842)
1724 WHITESPACE@[2842; 2843)
1725 RANGE_EXPR@[2843; 3241)
1726 DOTDOT@[2843; 2845)
1727 WHITESPACE@[2845; 2849)
1728 RANGE_EXPR@[2849; 3241)
1729 DOTDOT@[2849; 2851)
1730 WHITESPACE@[2851; 2852)
1731 RANGE_EXPR@[2852; 3241)
1732 DOTDOT@[2852; 2854)
1733 WHITESPACE@[2854; 2855)
1734 RANGE_EXPR@[2855; 3241)
1735 DOTDOT@[2855; 2857)
1736 WHITESPACE@[2857; 2858)
1737 RANGE_EXPR@[2858; 3241)
1738 DOTDOT@[2858; 2860)
1739 WHITESPACE@[2860; 2864)
1740 RANGE_EXPR@[2864; 3241)
1741 DOTDOT@[2864; 2866)
1742 WHITESPACE@[2866; 2867)
1743 RANGE_EXPR@[2867; 3241)
1744 DOTDOTEQ@[2867; 2870)
1745 RANGE_EXPR@[2870; 3241)
1746 DOTDOT@[2870; 2872)
1747 WHITESPACE@[2872; 2873)
1748 RANGE_EXPR@[2873; 3241)
1749 DOTDOT@[2873; 2875)
1750 WHITESPACE@[2875; 2880)
1751 RANGE_EXPR@[2880; 3241)
1752 DOTDOTEQ@[2880; 2883)
1753 RANGE_EXPR@[2883; 3241)
1754 DOTDOT@[2883; 2885)
1755 WHITESPACE@[2885; 2886)
1756 RANGE_EXPR@[2886; 3241)
1757 DOTDOTEQ@[2886; 2889)
1758 RANGE_EXPR@[2889; 3241)
1759 DOTDOT@[2889; 2891)
1760 WHITESPACE@[2891; 2895)
1761 RANGE_EXPR@[2895; 3241)
1762 DOTDOT@[2895; 2897)
1763 WHITESPACE@[2897; 2898)
1764 RANGE_EXPR@[2898; 3241)
1765 DOTDOT@[2898; 2900)
1766 WHITESPACE@[2900; 2901)
1767 RANGE_EXPR@[2901; 3241)
1768 DOTDOT@[2901; 2903)
1769 WHITESPACE@[2903; 2904)
1770 RANGE_EXPR@[2904; 3241)
1771 DOTDOT@[2904; 2906)
1772 WHITESPACE@[2906; 2910)
1773 RANGE_EXPR@[2910; 3241)
1774 DOTDOT@[2910; 2912)
1775 WHITESPACE@[2912; 2913)
1776 RANGE_EXPR@[2913; 3241)
1777 DOTDOT@[2913; 2915)
1778 WHITESPACE@[2915; 2916)
1779 RANGE_EXPR@[2916; 3241)
1780 DOTDOT@[2916; 2918)
1781 WHITESPACE@[2918; 2919)
1782 RANGE_EXPR@[2919; 3241)
1783 DOTDOT@[2919; 2921)
1784 WHITESPACE@[2921; 2925)
1785 RANGE_EXPR@[2925; 3241)
1786 DOTDOTEQ@[2925; 2928)
1787 RANGE_EXPR@[2928; 3241)
1788 DOTDOTEQ@[2928; 2931)
1789 RANGE_EXPR@[2931; 3241)
1790 DOTDOTEQ@[2931; 2934)
1791 RANGE_EXPR@[2934; 3241)
1792 DOTDOT@[2934; 2936)
1793 WHITESPACE@[2936; 2941)
1794 RANGE_EXPR@[2941; 3241)
1795 DOTDOTEQ@[2941; 2944)
1796 RANGE_EXPR@[2944; 3241)
1797 DOTDOT@[2944; 2946)
1798 WHITESPACE@[2946; 2947)
1799 RANGE_EXPR@[2947; 3241)
1800 DOTDOTEQ@[2947; 2950)
1801 RANGE_EXPR@[2950; 3241)
1802 DOTDOT@[2950; 2952)
1803 WHITESPACE@[2952; 2956)
1804 RANGE_EXPR@[2956; 3241)
1805 DOTDOTEQ@[2956; 2959)
1806 RANGE_EXPR@[2959; 3241)
1807 DOTDOT@[2959; 2961)
1808 WHITESPACE@[2961; 2962)
1809 RANGE_EXPR@[2962; 3241)
1810 DOTDOTEQ@[2962; 2965)
1811 RANGE_EXPR@[2965; 3241)
1812 DOTDOT@[2965; 2967)
1813 WHITESPACE@[2967; 2971)
1814 RANGE_EXPR@[2971; 3241)
1815 DOTDOT@[2971; 2973)
1816 WHITESPACE@[2973; 2974)
1817 RANGE_EXPR@[2974; 3241)
1818 DOTDOTEQ@[2974; 2977)
1819 RANGE_EXPR@[2977; 3241)
1820 DOTDOTEQ@[2977; 2980)
1821 RANGE_EXPR@[2980; 3241)
1822 DOTDOT@[2980; 2982)
1823 WHITESPACE@[2982; 2986)
1824 RANGE_EXPR@[2986; 3241)
1825 DOTDOT@[2986; 2988)
1826 WHITESPACE@[2988; 2989)
1827 RANGE_EXPR@[2989; 3241)
1828 DOTDOTEQ@[2989; 2992)
1829 RANGE_EXPR@[2992; 3241)
1830 DOTDOT@[2992; 2994)
1831 WHITESPACE@[2994; 2995)
1832 RANGE_EXPR@[2995; 3241)
1833 DOTDOT@[2995; 2997)
1834 WHITESPACE@[2997; 3002)
1835 RANGE_EXPR@[3002; 3241)
1836 DOTDOTEQ@[3002; 3005)
1837 RANGE_EXPR@[3005; 3241)
1838 DOTDOTEQ@[3005; 3008)
1839 RANGE_EXPR@[3008; 3241)
1840 DOTDOT@[3008; 3010)
1841 WHITESPACE@[3010; 3011)
1842 RANGE_EXPR@[3011; 3241)
1843 DOTDOT@[3011; 3013)
1844 WHITESPACE@[3013; 3017)
1845 RANGE_EXPR@[3017; 3241)
1846 DOTDOTEQ@[3017; 3020)
1847 RANGE_EXPR@[3020; 3241)
1848 DOTDOT@[3020; 3022)
1849 WHITESPACE@[3022; 3023)
1850 RANGE_EXPR@[3023; 3241)
1851 DOTDOTEQ@[3023; 3026)
1852 RANGE_EXPR@[3026; 3241)
1853 DOTDOT@[3026; 3028)
1854 WHITESPACE@[3028; 3032)
1855 RANGE_EXPR@[3032; 3241)
1856 DOTDOTEQ@[3032; 3035)
1857 RANGE_EXPR@[3035; 3241)
1858 DOTDOT@[3035; 3037)
1859 WHITESPACE@[3037; 3038)
1860 RANGE_EXPR@[3038; 3241)
1861 DOTDOT@[3038; 3040)
1862 WHITESPACE@[3040; 3041)
1863 RANGE_EXPR@[3041; 3241)
1864 DOTDOT@[3041; 3043)
1865 WHITESPACE@[3043; 3047)
1866 RANGE_EXPR@[3047; 3241)
1867 DOTDOT@[3047; 3049)
1868 WHITESPACE@[3049; 3050)
1869 RANGE_EXPR@[3050; 3241)
1870 DOTDOTEQ@[3050; 3053)
1871 RANGE_EXPR@[3053; 3241)
1872 DOTDOT@[3053; 3055)
1873 WHITESPACE@[3055; 3056)
1874 RANGE_EXPR@[3056; 3241)
1875 DOTDOT@[3056; 3058)
1876 WHITESPACE@[3058; 3063)
1877 RANGE_EXPR@[3063; 3241)
1878 DOTDOTEQ@[3063; 3066)
1879 RANGE_EXPR@[3066; 3241)
1880 DOTDOT@[3066; 3068)
1881 WHITESPACE@[3068; 3069)
1882 RANGE_EXPR@[3069; 3241)
1883 DOTDOTEQ@[3069; 3072)
1884 RANGE_EXPR@[3072; 3241)
1885 DOTDOT@[3072; 3074)
1886 WHITESPACE@[3074; 3078)
1887 RANGE_EXPR@[3078; 3241)
1888 DOTDOTEQ@[3078; 3081)
1889 RANGE_EXPR@[3081; 3241)
1890 DOTDOT@[3081; 3083)
1891 WHITESPACE@[3083; 3084)
1892 RANGE_EXPR@[3084; 3241)
1893 DOTDOTEQ@[3084; 3087)
1894 RANGE_EXPR@[3087; 3241)
1895 DOTDOT@[3087; 3089)
1896 WHITESPACE@[3089; 3093)
1897 RANGE_EXPR@[3093; 3241)
1898 DOTDOT@[3093; 3095)
1899 WHITESPACE@[3095; 3096)
1900 RANGE_EXPR@[3096; 3241)
1901 DOTDOTEQ@[3096; 3099)
1902 RANGE_EXPR@[3099; 3241)
1903 DOTDOT@[3099; 3101)
1904 WHITESPACE@[3101; 3102)
1905 RANGE_EXPR@[3102; 3241)
1906 DOTDOT@[3102; 3104)
1907 WHITESPACE@[3104; 3108)
1908 RANGE_EXPR@[3108; 3241)
1909 DOTDOT@[3108; 3110)
1910 WHITESPACE@[3110; 3111)
1911 RANGE_EXPR@[3111; 3241)
1912 DOTDOTEQ@[3111; 3114)
1913 RANGE_EXPR@[3114; 3241)
1914 DOTDOT@[3114; 3116)
1915 WHITESPACE@[3116; 3117)
1916 RANGE_EXPR@[3117; 3241)
1917 DOTDOT@[3117; 3119)
1918 WHITESPACE@[3119; 3124)
1919 RANGE_EXPR@[3124; 3241)
1920 DOTDOTEQ@[3124; 3127)
1921 RANGE_EXPR@[3127; 3241)
1922 DOTDOT@[3127; 3129)
1923 WHITESPACE@[3129; 3130)
1924 RANGE_EXPR@[3130; 3241)
1925 DOTDOTEQ@[3130; 3133)
1926 RANGE_EXPR@[3133; 3241)
1927 DOTDOT@[3133; 3135)
1928 WHITESPACE@[3135; 3139)
1929 RANGE_EXPR@[3139; 3241)
1930 DOTDOTEQ@[3139; 3142)
1931 RANGE_EXPR@[3142; 3241)
1932 DOTDOT@[3142; 3144)
1933 WHITESPACE@[3144; 3145)
1934 RANGE_EXPR@[3145; 3241)
1935 DOTDOTEQ@[3145; 3148)
1936 RANGE_EXPR@[3148; 3241)
1937 DOTDOT@[3148; 3150)
1938 WHITESPACE@[3150; 3154)
1939 RANGE_EXPR@[3154; 3241)
1940 DOTDOT@[3154; 3156)
1941 WHITESPACE@[3156; 3157)
1942 RANGE_EXPR@[3157; 3241)
1943 DOTDOT@[3157; 3159)
1944 WHITESPACE@[3159; 3160)
1945 RANGE_EXPR@[3160; 3241)
1946 DOTDOTEQ@[3160; 3163)
1947 RANGE_EXPR@[3163; 3241)
1948 DOTDOT@[3163; 3165)
1949 WHITESPACE@[3165; 3169)
1950 RANGE_EXPR@[3169; 3241)
1951 DOTDOT@[3169; 3171)
1952 WHITESPACE@[3171; 3172)
1953 RANGE_EXPR@[3172; 3241)
1954 DOTDOTEQ@[3172; 3175)
1955 RANGE_EXPR@[3175; 3241)
1956 DOTDOT@[3175; 3177)
1957 WHITESPACE@[3177; 3178)
1958 RANGE_EXPR@[3178; 3241)
1959 DOTDOT@[3178; 3180)
1960 WHITESPACE@[3180; 3185)
1961 RANGE_EXPR@[3185; 3241)
1962 DOTDOTEQ@[3185; 3188)
1963 RANGE_EXPR@[3188; 3241)
1964 DOTDOT@[3188; 3190)
1965 WHITESPACE@[3190; 3191)
1966 RANGE_EXPR@[3191; 3241)
1967 DOTDOTEQ@[3191; 3194)
1968 RANGE_EXPR@[3194; 3241)
1969 DOTDOT@[3194; 3196)
1970 WHITESPACE@[3196; 3200)
1971 RANGE_EXPR@[3200; 3241)
1972 DOTDOT@[3200; 3202)
1973 WHITESPACE@[3202; 3203)
1974 RANGE_EXPR@[3203; 3241)
1975 DOTDOTEQ@[3203; 3206)
1976 RANGE_EXPR@[3206; 3241)
1977 DOTDOTEQ@[3206; 3209)
1978 RANGE_EXPR@[3209; 3241)
1979 DOTDOT@[3209; 3211)
1980 WHITESPACE@[3211; 3215)
1981 RANGE_EXPR@[3215; 3241)
1982 DOTDOTEQ@[3215; 3218)
1983 RANGE_EXPR@[3218; 3241)
1984 DOTDOTEQ@[3218; 3221)
1985 RANGE_EXPR@[3221; 3241)
1986 DOTDOT@[3221; 3223)
1987 WHITESPACE@[3223; 3224)
1988 RANGE_EXPR@[3224; 3241)
1989 DOTDOT@[3224; 3226)
1990 WHITESPACE@[3226; 3230)
1991 RANGE_EXPR@[3230; 3241)
1992 DOTDOT@[3230; 3232)
1993 WHITESPACE@[3232; 3233)
1994 RANGE_EXPR@[3233; 3241)
1995 DOTDOTEQ@[3233; 3236)
1996 RANGE_EXPR@[3236; 3241)
1997 DOTDOT@[3236; 3238)
1998 WHITESPACE@[3238; 3239)
1999 RANGE_EXPR@[3239; 3241)
2000 DOTDOT@[3239; 3241)
2001 WHITESPACE@[3241; 3242)
2002 R_CURLY@[3242; 3243)
2003 WHITESPACE@[3243; 3245)
2004 FN_DEF@[3245; 3281)
2005 FN_KW@[3245; 3247)
2006 WHITESPACE@[3247; 3248)
2007 NAME@[3248; 3254)
2008 IDENT@[3248; 3254) "ktulhu"
2009 PARAM_LIST@[3254; 3256)
2010 L_PAREN@[3254; 3255)
2011 R_PAREN@[3255; 3256)
2012 WHITESPACE@[3256; 3257)
2013 BLOCK@[3257; 3281)
2014 L_CURLY@[3257; 3258)
2015 WHITESPACE@[3258; 3263)
2016 SEMI@[3263; 3264)
2017 SEMI@[3264; 3265)
2018 SEMI@[3265; 3266)
2019 EXPR_STMT@[3266; 3269)
2020 TUPLE_EXPR@[3266; 3268)
2021 L_PAREN@[3266; 3267)
2022 R_PAREN@[3267; 3268)
2023 SEMI@[3268; 3269)
2024 SEMI@[3269; 3270)
2025 SEMI@[3270; 3271)
2026 SEMI@[3271; 3272)
2027 SEMI@[3272; 3273)
2028 SEMI@[3273; 3274)
2029 SEMI@[3274; 3275)
2030 SEMI@[3275; 3276)
2031 SEMI@[3276; 3277)
2032 TUPLE_EXPR@[3277; 3279)
2033 L_PAREN@[3277; 3278)
2034 R_PAREN@[3278; 3279)
2035 WHITESPACE@[3279; 3280)
2036 R_CURLY@[3280; 3281)
2037 WHITESPACE@[3281; 3283)
2038 FN_DEF@[3283; 3541)
2039 VISIBILITY@[3283; 3286)
2040 PUB_KW@[3283; 3286)
2041 WHITESPACE@[3286; 3287)
2042 FN_KW@[3287; 3289)
2043 WHITESPACE@[3289; 3290)
2044 NAME@[3290; 3294)
2045 IDENT@[3290; 3294) "main"
2046 PARAM_LIST@[3294; 3296)
2047 L_PAREN@[3294; 3295)
2048 R_PAREN@[3295; 3296)
2049 WHITESPACE@[3296; 3297)
2050 BLOCK@[3297; 3541)
2051 L_CURLY@[3297; 3298)
2052 WHITESPACE@[3298; 3303)
2053 EXPR_STMT@[3303; 3313)
2054 CALL_EXPR@[3303; 3312)
2055 PATH_EXPR@[3303; 3310)
2056 PATH@[3303; 3310)
2057 PATH_SEGMENT@[3303; 3310)
2058 NAME_REF@[3303; 3310)
2059 IDENT@[3303; 3310) "strange"
2060 ARG_LIST@[3310; 3312)
2061 L_PAREN@[3310; 3311)
2062 R_PAREN@[3311; 3312)
2063 SEMI@[3312; 3313)
2064 WHITESPACE@[3313; 3318)
2065 EXPR_STMT@[3318; 3326)
2066 CALL_EXPR@[3318; 3325)
2067 PATH_EXPR@[3318; 3323)
2068 PATH@[3318; 3323)
2069 PATH_SEGMENT@[3318; 3323)
2070 NAME_REF@[3318; 3323)
2071 IDENT@[3318; 3323) "funny"
2072 ARG_LIST@[3323; 3325)
2073 L_PAREN@[3323; 3324)
2074 R_PAREN@[3324; 3325)
2075 SEMI@[3325; 3326)
2076 WHITESPACE@[3326; 3331)
2077 EXPR_STMT@[3331; 3338)
2078 CALL_EXPR@[3331; 3337)
2079 PATH_EXPR@[3331; 3335)
2080 PATH@[3331; 3335)
2081 PATH_SEGMENT@[3331; 3335)
2082 NAME_REF@[3331; 3335)
2083 IDENT@[3331; 3335) "what"
2084 ARG_LIST@[3335; 3337)
2085 L_PAREN@[3335; 3336)
2086 R_PAREN@[3336; 3337)
2087 SEMI@[3337; 3338)
2088 WHITESPACE@[3338; 3343)
2089 EXPR_STMT@[3343; 3357)
2090 CALL_EXPR@[3343; 3356)
2091 PATH_EXPR@[3343; 3354)
2092 PATH@[3343; 3354)
2093 PATH_SEGMENT@[3343; 3354)
2094 NAME_REF@[3343; 3354)
2095 IDENT@[3343; 3354) "zombiejesus"
2096 ARG_LIST@[3354; 3356)
2097 L_PAREN@[3354; 3355)
2098 R_PAREN@[3355; 3356)
2099 SEMI@[3356; 3357)
2100 WHITESPACE@[3357; 3362)
2101 EXPR_STMT@[3362; 3372)
2102 CALL_EXPR@[3362; 3371)
2103 PATH_EXPR@[3362; 3369)
2104 PATH@[3362; 3369)
2105 PATH_SEGMENT@[3362; 3369)
2106 NAME_REF@[3362; 3369)
2107 IDENT@[3362; 3369) "notsure"
2108 ARG_LIST@[3369; 3371)
2109 L_PAREN@[3369; 3370)
2110 R_PAREN@[3370; 3371)
2111 SEMI@[3371; 3372)
2112 WHITESPACE@[3372; 3377)
2113 EXPR_STMT@[3377; 3393)
2114 CALL_EXPR@[3377; 3392)
2115 PATH_EXPR@[3377; 3390)
2116 PATH@[3377; 3390)
2117 PATH_SEGMENT@[3377; 3390)
2118 NAME_REF@[3377; 3390)
2119 IDENT@[3377; 3390) "canttouchthis"
2120 ARG_LIST@[3390; 3392)
2121 L_PAREN@[3390; 3391)
2122 R_PAREN@[3391; 3392)
2123 SEMI@[3392; 3393)
2124 WHITESPACE@[3393; 3398)
2125 EXPR_STMT@[3398; 3410)
2126 CALL_EXPR@[3398; 3409)
2127 PATH_EXPR@[3398; 3407)
2128 PATH@[3398; 3407)
2129 PATH_SEGMENT@[3398; 3407)
2130 NAME_REF@[3398; 3407)
2131 IDENT@[3398; 3407) "angrydome"
2132 ARG_LIST@[3407; 3409)
2133 L_PAREN@[3407; 3408)
2134 R_PAREN@[3408; 3409)
2135 SEMI@[3409; 3410)
2136 WHITESPACE@[3410; 3415)
2137 EXPR_STMT@[3415; 3430)
2138 CALL_EXPR@[3415; 3429)
2139 PATH_EXPR@[3415; 3427)
2140 PATH@[3415; 3427)
2141 PATH_SEGMENT@[3415; 3427)
2142 NAME_REF@[3415; 3427)
2143 IDENT@[3415; 3427) "evil_lincoln"
2144 ARG_LIST@[3427; 3429)
2145 L_PAREN@[3427; 3428)
2146 R_PAREN@[3428; 3429)
2147 SEMI@[3429; 3430)
2148 WHITESPACE@[3430; 3435)
2149 EXPR_STMT@[3435; 3442)
2150 CALL_EXPR@[3435; 3441)
2151 PATH_EXPR@[3435; 3439)
2152 PATH@[3435; 3439)
2153 PATH_SEGMENT@[3435; 3439)
2154 NAME_REF@[3435; 3439)
2155 IDENT@[3435; 3439) "dots"
2156 ARG_LIST@[3439; 3441)
2157 L_PAREN@[3439; 3440)
2158 R_PAREN@[3440; 3441)
2159 SEMI@[3441; 3442)
2160 WHITESPACE@[3442; 3447)
2161 EXPR_STMT@[3447; 3455)
2162 CALL_EXPR@[3447; 3454)
2163 PATH_EXPR@[3447; 3449)
2164 PATH@[3447; 3449)
2165 PATH_SEGMENT@[3447; 3449)
2166 NAME_REF@[3447; 3449)
2167 IDENT@[3447; 3449) "u8"
2168 ARG_LIST@[3449; 3454)
2169 L_PAREN@[3449; 3450)
2170 LITERAL@[3450; 3453)
2171 INT_NUMBER@[3450; 3453) "8u8"
2172 R_PAREN@[3453; 3454)
2173 SEMI@[3454; 3455)
2174 WHITESPACE@[3455; 3460)
2175 EXPR_STMT@[3460; 3468)
2176 CALL_EXPR@[3460; 3467)
2177 PATH_EXPR@[3460; 3465)
2178 PATH@[3460; 3465)
2179 PATH_SEGMENT@[3460; 3465)
2180 NAME_REF@[3460; 3465)
2181 IDENT@[3460; 3465) "fishy"
2182 ARG_LIST@[3465; 3467)
2183 L_PAREN@[3465; 3466)
2184 R_PAREN@[3466; 3467)
2185 SEMI@[3467; 3468)
2186 WHITESPACE@[3468; 3473)
2187 EXPR_STMT@[3473; 3481)
2188 CALL_EXPR@[3473; 3480)
2189 PATH_EXPR@[3473; 3478)
2190 PATH@[3473; 3478)
2191 PATH_SEGMENT@[3473; 3478)
2192 NAME_REF@[3473; 3478)
2193 IDENT@[3473; 3478) "union"
2194 ARG_LIST@[3478; 3480)
2195 L_PAREN@[3478; 3479)
2196 R_PAREN@[3479; 3480)
2197 SEMI@[3480; 3481)
2198 WHITESPACE@[3481; 3486)
2199 EXPR_STMT@[3486; 3507)
2200 CALL_EXPR@[3486; 3506)
2201 PATH_EXPR@[3486; 3504)
2202 PATH@[3486; 3504)
2203 PATH_SEGMENT@[3486; 3504)
2204 NAME_REF@[3486; 3504)
2205 IDENT@[3486; 3504) "special_characters"
2206 ARG_LIST@[3504; 3506)
2207 L_PAREN@[3504; 3505)
2208 R_PAREN@[3505; 3506)
2209 SEMI@[3506; 3507)
2210 WHITESPACE@[3507; 3512)
2211 EXPR_STMT@[3512; 3525)
2212 CALL_EXPR@[3512; 3524)
2213 PATH_EXPR@[3512; 3522)
2214 PATH@[3512; 3522)
2215 PATH_SEGMENT@[3512; 3522)
2216 NAME_REF@[3512; 3522)
2217 IDENT@[3512; 3522) "punch_card"
2218 ARG_LIST@[3522; 3524)
2219 L_PAREN@[3522; 3523)
2220 R_PAREN@[3523; 3524)
2221 SEMI@[3524; 3525)
2222 WHITESPACE@[3525; 3530)
2223 EXPR_STMT@[3530; 3539)
2224 CALL_EXPR@[3530; 3538)
2225 PATH_EXPR@[3530; 3536)
2226 PATH@[3530; 3536)
2227 PATH_SEGMENT@[3530; 3536)
2228 NAME_REF@[3530; 3536)
2229 IDENT@[3530; 3536) "ktulhu"
2230 ARG_LIST@[3536; 3538)
2231 L_PAREN@[3536; 3537)
2232 R_PAREN@[3537; 3538)
2233 SEMI@[3538; 3539)
2234 WHITESPACE@[3539; 3540)
2235 R_CURLY@[3540; 3541)
2236 WHITESPACE@[3541; 3542)