From 459241f272748ff2e57b2c7e84f5a04f78d67edb Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Wed, 24 Jul 2019 12:38:21 +0300 Subject: move syntax tests to unit tests --- .../test_data/parser/ok/0035_weird_exprs.txt | 2285 ++++++++++++++++++++ 1 file changed, 2285 insertions(+) create mode 100644 crates/ra_syntax/test_data/parser/ok/0035_weird_exprs.txt (limited to 'crates/ra_syntax/test_data/parser/ok/0035_weird_exprs.txt') diff --git a/crates/ra_syntax/test_data/parser/ok/0035_weird_exprs.txt b/crates/ra_syntax/test_data/parser/ok/0035_weird_exprs.txt new file mode 100644 index 000000000..c89b591e9 --- /dev/null +++ b/crates/ra_syntax/test_data/parser/ok/0035_weird_exprs.txt @@ -0,0 +1,2285 @@ +SOURCE_FILE@[0; 3813) + COMMENT@[0; 55) "//! Adapted from a `r ..." + WHITESPACE@[55; 56) "\n" + COMMENT@[56; 173) "//! https://github.co ..." + WHITESPACE@[173; 174) "\n" + COMMENT@[174; 178) "//! " + WHITESPACE@[178; 179) "\n" + COMMENT@[179; 269) "//! Reported to rust- ..." + WHITESPACE@[269; 271) "\n\n" + ATTR@[271; 302) + POUND@[271; 272) "#" + EXCL@[272; 273) "!" + TOKEN_TREE@[273; 302) + L_BRACK@[273; 274) "[" + IDENT@[274; 279) "allow" + TOKEN_TREE@[279; 301) + L_PAREN@[279; 280) "(" + IDENT@[280; 300) "non_camel_case_types" + R_PAREN@[300; 301) ")" + R_BRACK@[301; 302) "]" + WHITESPACE@[302; 303) "\n" + ATTR@[303; 323) + POUND@[303; 304) "#" + EXCL@[304; 305) "!" + TOKEN_TREE@[305; 323) + L_BRACK@[305; 306) "[" + IDENT@[306; 311) "allow" + TOKEN_TREE@[311; 322) + L_PAREN@[311; 312) "(" + IDENT@[312; 321) "dead_code" + R_PAREN@[321; 322) ")" + R_BRACK@[322; 323) "]" + WHITESPACE@[323; 324) "\n" + ATTR@[324; 351) + POUND@[324; 325) "#" + EXCL@[325; 326) "!" + TOKEN_TREE@[326; 351) + L_BRACK@[326; 327) "[" + IDENT@[327; 332) "allow" + TOKEN_TREE@[332; 350) + L_PAREN@[332; 333) "(" + IDENT@[333; 349) "unreachable_code" + R_PAREN@[349; 350) ")" + R_BRACK@[350; 351) "]" + WHITESPACE@[351; 352) "\n" + ATTR@[352; 376) + POUND@[352; 353) "#" + EXCL@[353; 354) "!" + TOKEN_TREE@[354; 376) + L_BRACK@[354; 355) "[" + IDENT@[355; 360) "allow" + TOKEN_TREE@[360; 375) + L_PAREN@[360; 361) "(" + IDENT@[361; 374) "unused_parens" + R_PAREN@[374; 375) ")" + R_BRACK@[375; 376) "]" + WHITESPACE@[376; 378) "\n\n" + ATTR@[378; 405) + POUND@[378; 379) "#" + EXCL@[379; 380) "!" + TOKEN_TREE@[380; 405) + L_BRACK@[380; 381) "[" + IDENT@[381; 396) "recursion_limit" + WHITESPACE@[396; 397) " " + EQ@[397; 398) "=" + WHITESPACE@[398; 399) " " + STRING@[399; 404) "\"128\"" + R_BRACK@[404; 405) "]" + WHITESPACE@[405; 407) "\n\n" + USE_ITEM@[407; 427) + USE_KW@[407; 410) "use" + WHITESPACE@[410; 411) " " + USE_TREE@[411; 426) + PATH@[411; 426) + PATH@[411; 420) + PATH@[411; 414) + PATH_SEGMENT@[411; 414) + NAME_REF@[411; 414) + IDENT@[411; 414) "std" + COLONCOLON@[414; 416) "::" + PATH_SEGMENT@[416; 420) + NAME_REF@[416; 420) + IDENT@[416; 420) "cell" + COLONCOLON@[420; 422) "::" + PATH_SEGMENT@[422; 426) + NAME_REF@[422; 426) + IDENT@[422; 426) "Cell" + SEMI@[426; 427) ";" + WHITESPACE@[427; 428) "\n" + USE_ITEM@[428; 447) + USE_KW@[428; 431) "use" + WHITESPACE@[431; 432) " " + USE_TREE@[432; 446) + PATH@[432; 446) + PATH@[432; 440) + PATH@[432; 435) + PATH_SEGMENT@[432; 435) + NAME_REF@[432; 435) + IDENT@[432; 435) "std" + COLONCOLON@[435; 437) "::" + PATH_SEGMENT@[437; 440) + NAME_REF@[437; 440) + IDENT@[437; 440) "mem" + COLONCOLON@[440; 442) "::" + PATH_SEGMENT@[442; 446) + NAME_REF@[442; 446) + IDENT@[442; 446) "swap" + SEMI@[446; 447) ";" + WHITESPACE@[447; 449) "\n\n" + COMMENT@[449; 518) "// Just a grab bag of ..." + WHITESPACE@[518; 520) "\n\n" + FN_DEF@[520; 572) + FN_KW@[520; 522) "fn" + WHITESPACE@[522; 523) " " + NAME@[523; 530) + IDENT@[523; 530) "strange" + PARAM_LIST@[530; 532) + L_PAREN@[530; 531) "(" + R_PAREN@[531; 532) ")" + WHITESPACE@[532; 533) " " + RET_TYPE@[533; 540) + THIN_ARROW@[533; 535) "->" + WHITESPACE@[535; 536) " " + PATH_TYPE@[536; 540) + PATH@[536; 540) + PATH_SEGMENT@[536; 540) + NAME_REF@[536; 540) + IDENT@[536; 540) "bool" + WHITESPACE@[540; 541) " " + BLOCK@[541; 572) + L_CURLY@[541; 542) "{" + WHITESPACE@[542; 543) " " + LET_STMT@[543; 570) + LET_KW@[543; 546) "let" + WHITESPACE@[546; 547) " " + BIND_PAT@[547; 549) + NAME@[547; 549) + IDENT@[547; 549) "_x" + COLON@[549; 550) ":" + WHITESPACE@[550; 551) " " + PATH_TYPE@[551; 555) + PATH@[551; 555) + PATH_SEGMENT@[551; 555) + NAME_REF@[551; 555) + IDENT@[551; 555) "bool" + WHITESPACE@[555; 556) " " + EQ@[556; 557) "=" + WHITESPACE@[557; 558) " " + RETURN_EXPR@[558; 569) + RETURN_KW@[558; 564) "return" + WHITESPACE@[564; 565) " " + LITERAL@[565; 569) + TRUE_KW@[565; 569) "true" + SEMI@[569; 570) ";" + WHITESPACE@[570; 571) " " + R_CURLY@[571; 572) "}" + WHITESPACE@[572; 574) "\n\n" + FN_DEF@[574; 624) + FN_KW@[574; 576) "fn" + WHITESPACE@[576; 577) " " + NAME@[577; 582) + IDENT@[577; 582) "funny" + PARAM_LIST@[582; 584) + L_PAREN@[582; 583) "(" + R_PAREN@[583; 584) ")" + WHITESPACE@[584; 585) " " + BLOCK@[585; 624) + L_CURLY@[585; 586) "{" + WHITESPACE@[586; 591) "\n " + FN_DEF@[591; 607) + FN_KW@[591; 593) "fn" + WHITESPACE@[593; 594) " " + NAME@[594; 595) + IDENT@[594; 595) "f" + PARAM_LIST@[595; 603) + L_PAREN@[595; 596) "(" + PARAM@[596; 602) + BIND_PAT@[596; 598) + NAME@[596; 598) + IDENT@[596; 598) "_x" + COLON@[598; 599) ":" + WHITESPACE@[599; 600) " " + TUPLE_TYPE@[600; 602) + L_PAREN@[600; 601) "(" + R_PAREN@[601; 602) ")" + R_PAREN@[602; 603) ")" + WHITESPACE@[603; 604) " " + BLOCK@[604; 607) + L_CURLY@[604; 605) "{" + WHITESPACE@[605; 606) " " + R_CURLY@[606; 607) "}" + WHITESPACE@[607; 612) "\n " + EXPR_STMT@[612; 622) + CALL_EXPR@[612; 621) + PATH_EXPR@[612; 613) + PATH@[612; 613) + PATH_SEGMENT@[612; 613) + NAME_REF@[612; 613) + IDENT@[612; 613) "f" + ARG_LIST@[613; 621) + L_PAREN@[613; 614) "(" + RETURN_EXPR@[614; 620) + RETURN_KW@[614; 620) "return" + R_PAREN@[620; 621) ")" + SEMI@[621; 622) ";" + WHITESPACE@[622; 623) "\n" + R_CURLY@[623; 624) "}" + WHITESPACE@[624; 626) "\n\n" + FN_DEF@[626; 816) + FN_KW@[626; 628) "fn" + WHITESPACE@[628; 629) " " + NAME@[629; 633) + IDENT@[629; 633) "what" + PARAM_LIST@[633; 635) + L_PAREN@[633; 634) "(" + R_PAREN@[634; 635) ")" + WHITESPACE@[635; 636) " " + BLOCK@[636; 816) + L_CURLY@[636; 637) "{" + WHITESPACE@[637; 642) "\n " + FN_DEF@[642; 720) + FN_KW@[642; 644) "fn" + WHITESPACE@[644; 645) " " + NAME@[645; 648) + IDENT@[645; 648) "the" + PARAM_LIST@[648; 664) + L_PAREN@[648; 649) "(" + PARAM@[649; 663) + BIND_PAT@[649; 650) + NAME@[649; 650) + IDENT@[649; 650) "x" + COLON@[650; 651) ":" + WHITESPACE@[651; 652) " " + REFERENCE_TYPE@[652; 663) + AMP@[652; 653) "&" + PATH_TYPE@[653; 663) + PATH@[653; 663) + PATH_SEGMENT@[653; 663) + NAME_REF@[653; 657) + IDENT@[653; 657) "Cell" + TYPE_ARG_LIST@[657; 663) + L_ANGLE@[657; 658) "<" + TYPE_ARG@[658; 662) + PATH_TYPE@[658; 662) + PATH@[658; 662) + PATH_SEGMENT@[658; 662) + NAME_REF@[658; 662) + IDENT@[658; 662) "bool" + R_ANGLE@[662; 663) ">" + R_PAREN@[663; 664) ")" + WHITESPACE@[664; 665) " " + BLOCK@[665; 720) + L_CURLY@[665; 666) "{" + WHITESPACE@[666; 675) "\n " + EXPR_STMT@[675; 714) + RETURN_EXPR@[675; 713) + RETURN_KW@[675; 681) "return" + WHITESPACE@[681; 682) " " + WHILE_EXPR@[682; 713) + WHILE_KW@[682; 687) "while" + WHITESPACE@[687; 688) " " + CONDITION@[688; 696) + PREFIX_EXPR@[688; 696) + EXCL@[688; 689) "!" + METHOD_CALL_EXPR@[689; 696) + PATH_EXPR@[689; 690) + PATH@[689; 690) + PATH_SEGMENT@[689; 690) + NAME_REF@[689; 690) + IDENT@[689; 690) "x" + DOT@[690; 691) "." + NAME_REF@[691; 694) + IDENT@[691; 694) "get" + ARG_LIST@[694; 696) + L_PAREN@[694; 695) "(" + R_PAREN@[695; 696) ")" + WHITESPACE@[696; 697) " " + BLOCK@[697; 713) + L_CURLY@[697; 698) "{" + WHITESPACE@[698; 699) " " + EXPR_STMT@[699; 711) + METHOD_CALL_EXPR@[699; 710) + PATH_EXPR@[699; 700) + PATH@[699; 700) + PATH_SEGMENT@[699; 700) + NAME_REF@[699; 700) + IDENT@[699; 700) "x" + DOT@[700; 701) "." + NAME_REF@[701; 704) + IDENT@[701; 704) "set" + ARG_LIST@[704; 710) + L_PAREN@[704; 705) "(" + LITERAL@[705; 709) + TRUE_KW@[705; 709) "true" + R_PAREN@[709; 710) ")" + SEMI@[710; 711) ";" + WHITESPACE@[711; 712) " " + R_CURLY@[712; 713) "}" + SEMI@[713; 714) ";" + WHITESPACE@[714; 719) "\n " + R_CURLY@[719; 720) "}" + WHITESPACE@[720; 725) "\n " + LET_STMT@[725; 751) + LET_KW@[725; 728) "let" + WHITESPACE@[728; 729) " " + BIND_PAT@[729; 730) + NAME@[729; 730) + IDENT@[729; 730) "i" + WHITESPACE@[730; 731) " " + EQ@[731; 732) "=" + WHITESPACE@[732; 733) " " + REF_EXPR@[733; 750) + AMP@[733; 734) "&" + CALL_EXPR@[734; 750) + PATH_EXPR@[734; 743) + PATH@[734; 743) + PATH@[734; 738) + PATH_SEGMENT@[734; 738) + NAME_REF@[734; 738) + IDENT@[734; 738) "Cell" + COLONCOLON@[738; 740) "::" + PATH_SEGMENT@[740; 743) + NAME_REF@[740; 743) + IDENT@[740; 743) "new" + ARG_LIST@[743; 750) + L_PAREN@[743; 744) "(" + LITERAL@[744; 749) + FALSE_KW@[744; 749) "false" + R_PAREN@[749; 750) ")" + SEMI@[750; 751) ";" + WHITESPACE@[751; 756) "\n " + LET_STMT@[756; 778) + LET_KW@[756; 759) "let" + WHITESPACE@[759; 760) " " + BIND_PAT@[760; 764) + NAME@[760; 764) + IDENT@[760; 764) "dont" + WHITESPACE@[764; 765) " " + EQ@[765; 766) "=" + WHITESPACE@[766; 767) " " + BLOCK_EXPR@[767; 777) + BLOCK@[767; 777) + L_CURLY@[767; 768) "{" + LAMBDA_EXPR@[768; 776) + PARAM_LIST@[768; 770) + PIPE@[768; 769) "|" + PIPE@[769; 770) "|" + CALL_EXPR@[770; 776) + PATH_EXPR@[770; 773) + PATH@[770; 773) + PATH_SEGMENT@[770; 773) + NAME_REF@[770; 773) + IDENT@[770; 773) "the" + ARG_LIST@[773; 776) + L_PAREN@[773; 774) "(" + PATH_EXPR@[774; 775) + PATH@[774; 775) + PATH_SEGMENT@[774; 775) + NAME_REF@[774; 775) + IDENT@[774; 775) "i" + R_PAREN@[775; 776) ")" + R_CURLY@[776; 777) "}" + SEMI@[777; 778) ";" + WHITESPACE@[778; 783) "\n " + EXPR_STMT@[783; 790) + CALL_EXPR@[783; 789) + PATH_EXPR@[783; 787) + PATH@[783; 787) + PATH_SEGMENT@[783; 787) + NAME_REF@[783; 787) + IDENT@[783; 787) "dont" + ARG_LIST@[787; 789) + L_PAREN@[787; 788) "(" + R_PAREN@[788; 789) ")" + SEMI@[789; 790) ";" + WHITESPACE@[790; 795) "\n " + EXPR_STMT@[795; 814) + MACRO_CALL@[795; 813) + PATH@[795; 801) + PATH_SEGMENT@[795; 801) + NAME_REF@[795; 801) + IDENT@[795; 801) "assert" + EXCL@[801; 802) "!" + TOKEN_TREE@[802; 813) + L_PAREN@[802; 803) "(" + TOKEN_TREE@[803; 812) + L_PAREN@[803; 804) "(" + IDENT@[804; 805) "i" + DOT@[805; 806) "." + IDENT@[806; 809) "get" + TOKEN_TREE@[809; 811) + L_PAREN@[809; 810) "(" + R_PAREN@[810; 811) ")" + R_PAREN@[811; 812) ")" + R_PAREN@[812; 813) ")" + SEMI@[813; 814) ";" + WHITESPACE@[814; 815) "\n" + R_CURLY@[815; 816) "}" + WHITESPACE@[816; 818) "\n\n" + FN_DEF@[818; 1322) + FN_KW@[818; 820) "fn" + WHITESPACE@[820; 821) " " + NAME@[821; 832) + IDENT@[821; 832) "zombiejesus" + PARAM_LIST@[832; 834) + L_PAREN@[832; 833) "(" + R_PAREN@[833; 834) ")" + WHITESPACE@[834; 835) " " + BLOCK@[835; 1322) + L_CURLY@[835; 836) "{" + WHITESPACE@[836; 841) "\n " + LOOP_EXPR@[841; 1320) + LOOP_KW@[841; 845) "loop" + WHITESPACE@[845; 846) " " + BLOCK@[846; 1320) + L_CURLY@[846; 847) "{" + WHITESPACE@[847; 856) "\n " + EXPR_STMT@[856; 1283) + WHILE_EXPR@[856; 1283) + WHILE_KW@[856; 861) "while" + WHITESPACE@[861; 862) " " + CONDITION@[862; 870) + PAREN_EXPR@[862; 870) + L_PAREN@[862; 863) "(" + RETURN_EXPR@[863; 869) + RETURN_KW@[863; 869) "return" + R_PAREN@[869; 870) ")" + WHITESPACE@[870; 871) " " + BLOCK@[871; 1283) + L_CURLY@[871; 872) "{" + WHITESPACE@[872; 885) "\n " + IF_EXPR@[885; 1273) + IF_KW@[885; 887) "if" + WHITESPACE@[887; 888) " " + CONDITION@[888; 896) + PAREN_EXPR@[888; 896) + L_PAREN@[888; 889) "(" + RETURN_EXPR@[889; 895) + RETURN_KW@[889; 895) "return" + R_PAREN@[895; 896) ")" + WHITESPACE@[896; 897) " " + BLOCK@[897; 1216) + L_CURLY@[897; 898) "{" + WHITESPACE@[898; 915) "\n " + EXPR_STMT@[915; 1202) + MATCH_EXPR@[915; 1201) + MATCH_KW@[915; 920) "match" + WHITESPACE@[920; 921) " " + PAREN_EXPR@[921; 929) + L_PAREN@[921; 922) "(" + RETURN_EXPR@[922; 928) + RETURN_KW@[922; 928) "return" + R_PAREN@[928; 929) ")" + WHITESPACE@[929; 930) " " + MATCH_ARM_LIST@[930; 1201) + L_CURLY@[930; 931) "{" + WHITESPACE@[931; 952) "\n " + MATCH_ARM@[952; 1147) + LITERAL_PAT@[952; 953) + LITERAL@[952; 953) + INT_NUMBER@[952; 953) "1" + WHITESPACE@[953; 954) " " + FAT_ARROW@[954; 956) "=>" + WHITESPACE@[956; 957) " " + BLOCK_EXPR@[957; 1147) + BLOCK@[957; 1147) + L_CURLY@[957; 958) "{" + WHITESPACE@[958; 983) "\n ..." + IF_EXPR@[983; 1125) + IF_KW@[983; 985) "if" + WHITESPACE@[985; 986) " " + CONDITION@[986; 994) + PAREN_EXPR@[986; 994) + L_PAREN@[986; 987) "(" + RETURN_EXPR@[987; 993) + RETURN_KW@[987; 993) "return" + R_PAREN@[993; 994) ")" + WHITESPACE@[994; 995) " " + BLOCK@[995; 1057) + L_CURLY@[995; 996) "{" + WHITESPACE@[996; 1025) "\n ..." + RETURN_EXPR@[1025; 1031) + RETURN_KW@[1025; 1031) "return" + WHITESPACE@[1031; 1056) "\n ..." + R_CURLY@[1056; 1057) "}" + WHITESPACE@[1057; 1058) " " + ELSE_KW@[1058; 1062) "else" + WHITESPACE@[1062; 1063) " " + BLOCK@[1063; 1125) + L_CURLY@[1063; 1064) "{" + WHITESPACE@[1064; 1093) "\n ..." + RETURN_EXPR@[1093; 1099) + RETURN_KW@[1093; 1099) "return" + WHITESPACE@[1099; 1124) "\n ..." + R_CURLY@[1124; 1125) "}" + WHITESPACE@[1125; 1146) "\n " + R_CURLY@[1146; 1147) "}" + WHITESPACE@[1147; 1168) "\n " + MATCH_ARM@[1168; 1183) + PLACEHOLDER_PAT@[1168; 1169) + UNDERSCORE@[1168; 1169) "_" + WHITESPACE@[1169; 1170) " " + FAT_ARROW@[1170; 1172) "=>" + WHITESPACE@[1172; 1173) " " + BLOCK_EXPR@[1173; 1183) + BLOCK@[1173; 1183) + L_CURLY@[1173; 1174) "{" + WHITESPACE@[1174; 1175) " " + RETURN_EXPR@[1175; 1181) + RETURN_KW@[1175; 1181) "return" + WHITESPACE@[1181; 1182) " " + R_CURLY@[1182; 1183) "}" + WHITESPACE@[1183; 1200) "\n " + R_CURLY@[1200; 1201) "}" + SEMI@[1201; 1202) ";" + WHITESPACE@[1202; 1215) "\n " + R_CURLY@[1215; 1216) "}" + WHITESPACE@[1216; 1217) " " + ELSE_KW@[1217; 1221) "else" + WHITESPACE@[1221; 1222) " " + IF_EXPR@[1222; 1273) + IF_KW@[1222; 1224) "if" + WHITESPACE@[1224; 1225) " " + CONDITION@[1225; 1233) + PAREN_EXPR@[1225; 1233) + L_PAREN@[1225; 1226) "(" + RETURN_EXPR@[1226; 1232) + RETURN_KW@[1226; 1232) "return" + R_PAREN@[1232; 1233) ")" + WHITESPACE@[1233; 1234) " " + BLOCK@[1234; 1273) + L_CURLY@[1234; 1235) "{" + WHITESPACE@[1235; 1252) "\n " + EXPR_STMT@[1252; 1259) + RETURN_EXPR@[1252; 1258) + RETURN_KW@[1252; 1258) "return" + SEMI@[1258; 1259) ";" + WHITESPACE@[1259; 1272) "\n " + R_CURLY@[1272; 1273) "}" + WHITESPACE@[1273; 1282) "\n " + R_CURLY@[1282; 1283) "}" + WHITESPACE@[1283; 1292) "\n " + IF_EXPR@[1292; 1314) + IF_KW@[1292; 1294) "if" + WHITESPACE@[1294; 1295) " " + CONDITION@[1295; 1303) + PAREN_EXPR@[1295; 1303) + L_PAREN@[1295; 1296) "(" + RETURN_EXPR@[1296; 1302) + RETURN_KW@[1296; 1302) "return" + R_PAREN@[1302; 1303) ")" + WHITESPACE@[1303; 1304) " " + BLOCK@[1304; 1314) + L_CURLY@[1304; 1305) "{" + WHITESPACE@[1305; 1306) " " + EXPR_STMT@[1306; 1312) + BREAK_EXPR@[1306; 1311) + BREAK_KW@[1306; 1311) "break" + SEMI@[1311; 1312) ";" + WHITESPACE@[1312; 1313) " " + R_CURLY@[1313; 1314) "}" + WHITESPACE@[1314; 1319) "\n " + R_CURLY@[1319; 1320) "}" + WHITESPACE@[1320; 1321) "\n" + R_CURLY@[1321; 1322) "}" + WHITESPACE@[1322; 1324) "\n\n" + FN_DEF@[1324; 1539) + FN_KW@[1324; 1326) "fn" + WHITESPACE@[1326; 1327) " " + NAME@[1327; 1334) + IDENT@[1327; 1334) "notsure" + PARAM_LIST@[1334; 1336) + L_PAREN@[1334; 1335) "(" + R_PAREN@[1335; 1336) ")" + WHITESPACE@[1336; 1337) " " + BLOCK@[1337; 1539) + L_CURLY@[1337; 1338) "{" + WHITESPACE@[1338; 1343) "\n " + LET_STMT@[1343; 1361) + LET_KW@[1343; 1346) "let" + WHITESPACE@[1346; 1347) " " + BIND_PAT@[1347; 1353) + MUT_KW@[1347; 1350) "mut" + WHITESPACE@[1350; 1351) " " + NAME@[1351; 1353) + IDENT@[1351; 1353) "_x" + COLON@[1353; 1354) ":" + WHITESPACE@[1354; 1355) " " + PATH_TYPE@[1355; 1360) + PATH@[1355; 1360) + PATH_SEGMENT@[1355; 1360) + NAME_REF@[1355; 1360) + IDENT@[1355; 1360) "isize" + SEMI@[1360; 1361) ";" + WHITESPACE@[1361; 1366) "\n " + LET_STMT@[1366; 1400) + LET_KW@[1366; 1369) "let" + WHITESPACE@[1369; 1370) " " + BIND_PAT@[1370; 1376) + MUT_KW@[1370; 1373) "mut" + WHITESPACE@[1373; 1374) " " + NAME@[1374; 1376) + IDENT@[1374; 1376) "_y" + WHITESPACE@[1376; 1377) " " + EQ@[1377; 1378) "=" + WHITESPACE@[1378; 1379) " " + BIN_EXPR@[1379; 1399) + PAREN_EXPR@[1379; 1387) + L_PAREN@[1379; 1380) "(" + BIN_EXPR@[1380; 1386) + PATH_EXPR@[1380; 1382) + PATH@[1380; 1382) + PATH_SEGMENT@[1380; 1382) + NAME_REF@[1380; 1382) + IDENT@[1380; 1382) "_x" + WHITESPACE@[1382; 1383) " " + EQ@[1383; 1384) "=" + WHITESPACE@[1384; 1385) " " + LITERAL@[1385; 1386) + INT_NUMBER@[1385; 1386) "0" + R_PAREN@[1386; 1387) ")" + WHITESPACE@[1387; 1388) " " + EQEQ@[1388; 1390) "==" + WHITESPACE@[1390; 1391) " " + PAREN_EXPR@[1391; 1399) + L_PAREN@[1391; 1392) "(" + BIN_EXPR@[1392; 1398) + PATH_EXPR@[1392; 1394) + PATH@[1392; 1394) + PATH_SEGMENT@[1392; 1394) + NAME_REF@[1392; 1394) + IDENT@[1392; 1394) "_x" + WHITESPACE@[1394; 1395) " " + EQ@[1395; 1396) "=" + WHITESPACE@[1396; 1397) " " + LITERAL@[1397; 1398) + INT_NUMBER@[1397; 1398) "0" + R_PAREN@[1398; 1399) ")" + SEMI@[1399; 1400) ";" + WHITESPACE@[1400; 1405) "\n " + LET_STMT@[1405; 1438) + LET_KW@[1405; 1408) "let" + WHITESPACE@[1408; 1409) " " + BIND_PAT@[1409; 1415) + MUT_KW@[1409; 1412) "mut" + WHITESPACE@[1412; 1413) " " + NAME@[1413; 1415) + IDENT@[1413; 1415) "_z" + WHITESPACE@[1415; 1416) " " + EQ@[1416; 1417) "=" + WHITESPACE@[1417; 1418) " " + BIN_EXPR@[1418; 1437) + PAREN_EXPR@[1418; 1426) + L_PAREN@[1418; 1419) "(" + BIN_EXPR@[1419; 1425) + PATH_EXPR@[1419; 1421) + PATH@[1419; 1421) + PATH_SEGMENT@[1419; 1421) + NAME_REF@[1419; 1421) + IDENT@[1419; 1421) "_x" + WHITESPACE@[1421; 1422) " " + EQ@[1422; 1423) "=" + WHITESPACE@[1423; 1424) " " + LITERAL@[1424; 1425) + INT_NUMBER@[1424; 1425) "0" + R_PAREN@[1425; 1426) ")" + WHITESPACE@[1426; 1427) " " + L_ANGLE@[1427; 1428) "<" + WHITESPACE@[1428; 1429) " " + PAREN_EXPR@[1429; 1437) + L_PAREN@[1429; 1430) "(" + BIN_EXPR@[1430; 1436) + PATH_EXPR@[1430; 1432) + PATH@[1430; 1432) + PATH_SEGMENT@[1430; 1432) + NAME_REF@[1430; 1432) + IDENT@[1430; 1432) "_x" + WHITESPACE@[1432; 1433) " " + EQ@[1433; 1434) "=" + WHITESPACE@[1434; 1435) " " + LITERAL@[1435; 1436) + INT_NUMBER@[1435; 1436) "0" + R_PAREN@[1436; 1437) ")" + SEMI@[1437; 1438) ";" + WHITESPACE@[1438; 1443) "\n " + LET_STMT@[1443; 1474) + LET_KW@[1443; 1446) "let" + WHITESPACE@[1446; 1447) " " + BIND_PAT@[1447; 1449) + NAME@[1447; 1449) + IDENT@[1447; 1449) "_a" + WHITESPACE@[1449; 1450) " " + EQ@[1450; 1451) "=" + WHITESPACE@[1451; 1452) " " + BIN_EXPR@[1452; 1473) + PAREN_EXPR@[1452; 1461) + L_PAREN@[1452; 1453) "(" + BIN_EXPR@[1453; 1460) + PATH_EXPR@[1453; 1455) + PATH@[1453; 1455) + PATH_SEGMENT@[1453; 1455) + NAME_REF@[1453; 1455) + IDENT@[1453; 1455) "_x" + WHITESPACE@[1455; 1456) " " + PLUSEQ@[1456; 1458) "+=" + WHITESPACE@[1458; 1459) " " + LITERAL@[1459; 1460) + INT_NUMBER@[1459; 1460) "0" + R_PAREN@[1460; 1461) ")" + WHITESPACE@[1461; 1462) " " + EQEQ@[1462; 1464) "==" + WHITESPACE@[1464; 1465) " " + PAREN_EXPR@[1465; 1473) + L_PAREN@[1465; 1466) "(" + BIN_EXPR@[1466; 1472) + PATH_EXPR@[1466; 1468) + PATH@[1466; 1468) + PATH_SEGMENT@[1466; 1468) + NAME_REF@[1466; 1468) + IDENT@[1466; 1468) "_x" + WHITESPACE@[1468; 1469) " " + EQ@[1469; 1470) "=" + WHITESPACE@[1470; 1471) " " + LITERAL@[1471; 1472) + INT_NUMBER@[1471; 1472) "0" + R_PAREN@[1472; 1473) ")" + SEMI@[1473; 1474) ";" + WHITESPACE@[1474; 1479) "\n " + LET_STMT@[1479; 1537) + LET_KW@[1479; 1482) "let" + WHITESPACE@[1482; 1483) " " + BIND_PAT@[1483; 1485) + NAME@[1483; 1485) + IDENT@[1483; 1485) "_b" + WHITESPACE@[1485; 1486) " " + EQ@[1486; 1487) "=" + WHITESPACE@[1487; 1488) " " + BIN_EXPR@[1488; 1536) + CALL_EXPR@[1488; 1510) + PATH_EXPR@[1488; 1492) + PATH@[1488; 1492) + PATH_SEGMENT@[1488; 1492) + NAME_REF@[1488; 1492) + IDENT@[1488; 1492) "swap" + ARG_LIST@[1492; 1510) + L_PAREN@[1492; 1493) "(" + REF_EXPR@[1493; 1500) + AMP@[1493; 1494) "&" + MUT_KW@[1494; 1497) "mut" + WHITESPACE@[1497; 1498) " " + PATH_EXPR@[1498; 1500) + PATH@[1498; 1500) + PATH_SEGMENT@[1498; 1500) + NAME_REF@[1498; 1500) + IDENT@[1498; 1500) "_y" + COMMA@[1500; 1501) "," + WHITESPACE@[1501; 1502) " " + REF_EXPR@[1502; 1509) + AMP@[1502; 1503) "&" + MUT_KW@[1503; 1506) "mut" + WHITESPACE@[1506; 1507) " " + PATH_EXPR@[1507; 1509) + PATH@[1507; 1509) + PATH_SEGMENT@[1507; 1509) + NAME_REF@[1507; 1509) + IDENT@[1507; 1509) "_z" + R_PAREN@[1509; 1510) ")" + WHITESPACE@[1510; 1511) " " + EQEQ@[1511; 1513) "==" + WHITESPACE@[1513; 1514) " " + CALL_EXPR@[1514; 1536) + PATH_EXPR@[1514; 1518) + PATH@[1514; 1518) + PATH_SEGMENT@[1514; 1518) + NAME_REF@[1514; 1518) + IDENT@[1514; 1518) "swap" + ARG_LIST@[1518; 1536) + L_PAREN@[1518; 1519) "(" + REF_EXPR@[1519; 1526) + AMP@[1519; 1520) "&" + MUT_KW@[1520; 1523) "mut" + WHITESPACE@[1523; 1524) " " + PATH_EXPR@[1524; 1526) + PATH@[1524; 1526) + PATH_SEGMENT@[1524; 1526) + NAME_REF@[1524; 1526) + IDENT@[1524; 1526) "_y" + COMMA@[1526; 1527) "," + WHITESPACE@[1527; 1528) " " + REF_EXPR@[1528; 1535) + AMP@[1528; 1529) "&" + MUT_KW@[1529; 1532) "mut" + WHITESPACE@[1532; 1533) " " + PATH_EXPR@[1533; 1535) + PATH@[1533; 1535) + PATH_SEGMENT@[1533; 1535) + NAME_REF@[1533; 1535) + IDENT@[1533; 1535) "_z" + R_PAREN@[1535; 1536) ")" + SEMI@[1536; 1537) ";" + WHITESPACE@[1537; 1538) "\n" + R_CURLY@[1538; 1539) "}" + WHITESPACE@[1539; 1541) "\n\n" + FN_DEF@[1541; 1741) + FN_KW@[1541; 1543) "fn" + WHITESPACE@[1543; 1544) " " + NAME@[1544; 1557) + IDENT@[1544; 1557) "canttouchthis" + PARAM_LIST@[1557; 1559) + L_PAREN@[1557; 1558) "(" + R_PAREN@[1558; 1559) ")" + WHITESPACE@[1559; 1560) " " + RET_TYPE@[1560; 1568) + THIN_ARROW@[1560; 1562) "->" + WHITESPACE@[1562; 1563) " " + PATH_TYPE@[1563; 1568) + PATH@[1563; 1568) + PATH_SEGMENT@[1563; 1568) + NAME_REF@[1563; 1568) + IDENT@[1563; 1568) "usize" + WHITESPACE@[1568; 1569) " " + BLOCK@[1569; 1741) + L_CURLY@[1569; 1570) "{" + WHITESPACE@[1570; 1575) "\n " + FN_DEF@[1575; 1598) + FN_KW@[1575; 1577) "fn" + WHITESPACE@[1577; 1578) " " + NAME@[1578; 1579) + IDENT@[1578; 1579) "p" + PARAM_LIST@[1579; 1581) + L_PAREN@[1579; 1580) "(" + R_PAREN@[1580; 1581) ")" + WHITESPACE@[1581; 1582) " " + RET_TYPE@[1582; 1589) + THIN_ARROW@[1582; 1584) "->" + WHITESPACE@[1584; 1585) " " + PATH_TYPE@[1585; 1589) + PATH@[1585; 1589) + PATH_SEGMENT@[1585; 1589) + NAME_REF@[1585; 1589) + IDENT@[1585; 1589) "bool" + WHITESPACE@[1589; 1590) " " + BLOCK@[1590; 1598) + L_CURLY@[1590; 1591) "{" + WHITESPACE@[1591; 1592) " " + LITERAL@[1592; 1596) + TRUE_KW@[1592; 1596) "true" + WHITESPACE@[1596; 1597) " " + R_CURLY@[1597; 1598) "}" + WHITESPACE@[1598; 1603) "\n " + LET_STMT@[1603; 1648) + LET_KW@[1603; 1606) "let" + WHITESPACE@[1606; 1607) " " + BIND_PAT@[1607; 1609) + NAME@[1607; 1609) + IDENT@[1607; 1609) "_a" + WHITESPACE@[1609; 1610) " " + EQ@[1610; 1611) "=" + WHITESPACE@[1611; 1612) " " + PAREN_EXPR@[1612; 1647) + L_PAREN@[1612; 1613) "(" + BIN_EXPR@[1613; 1646) + MACRO_CALL@[1613; 1628) + PATH@[1613; 1619) + PATH_SEGMENT@[1613; 1619) + NAME_REF@[1613; 1619) + IDENT@[1613; 1619) "assert" + EXCL@[1619; 1620) "!" + TOKEN_TREE@[1620; 1628) + L_PAREN@[1620; 1621) "(" + TOKEN_TREE@[1621; 1627) + L_PAREN@[1621; 1622) "(" + TRUE_KW@[1622; 1626) "true" + R_PAREN@[1626; 1627) ")" + R_PAREN@[1627; 1628) ")" + WHITESPACE@[1628; 1629) " " + EQEQ@[1629; 1631) "==" + WHITESPACE@[1631; 1632) " " + PAREN_EXPR@[1632; 1646) + L_PAREN@[1632; 1633) "(" + MACRO_CALL@[1633; 1645) + PATH@[1633; 1639) + PATH_SEGMENT@[1633; 1639) + NAME_REF@[1633; 1639) + IDENT@[1633; 1639) "assert" + EXCL@[1639; 1640) "!" + TOKEN_TREE@[1640; 1645) + L_PAREN@[1640; 1641) "(" + IDENT@[1641; 1642) "p" + TOKEN_TREE@[1642; 1644) + L_PAREN@[1642; 1643) "(" + R_PAREN@[1643; 1644) ")" + R_PAREN@[1644; 1645) ")" + R_PAREN@[1645; 1646) ")" + R_PAREN@[1646; 1647) ")" + SEMI@[1647; 1648) ";" + WHITESPACE@[1648; 1653) "\n " + LET_STMT@[1653; 1685) + LET_KW@[1653; 1656) "let" + WHITESPACE@[1656; 1657) " " + BIND_PAT@[1657; 1659) + NAME@[1657; 1659) + IDENT@[1657; 1659) "_c" + WHITESPACE@[1659; 1660) " " + EQ@[1660; 1661) "=" + WHITESPACE@[1661; 1662) " " + PAREN_EXPR@[1662; 1684) + L_PAREN@[1662; 1663) "(" + BIN_EXPR@[1663; 1683) + MACRO_CALL@[1663; 1677) + PATH@[1663; 1669) + PATH_SEGMENT@[1663; 1669) + NAME_REF@[1663; 1669) + IDENT@[1663; 1669) "assert" + EXCL@[1669; 1670) "!" + TOKEN_TREE@[1670; 1677) + L_PAREN@[1670; 1671) "(" + TOKEN_TREE@[1671; 1676) + L_PAREN@[1671; 1672) "(" + IDENT@[1672; 1673) "p" + TOKEN_TREE@[1673; 1675) + L_PAREN@[1673; 1674) "(" + R_PAREN@[1674; 1675) ")" + R_PAREN@[1675; 1676) ")" + R_PAREN@[1676; 1677) ")" + WHITESPACE@[1677; 1678) " " + EQEQ@[1678; 1680) "==" + WHITESPACE@[1680; 1681) " " + TUPLE_EXPR@[1681; 1683) + L_PAREN@[1681; 1682) "(" + R_PAREN@[1682; 1683) ")" + R_PAREN@[1683; 1684) ")" + SEMI@[1684; 1685) ";" + WHITESPACE@[1685; 1690) "\n " + LET_STMT@[1690; 1739) + LET_KW@[1690; 1693) "let" + WHITESPACE@[1693; 1694) " " + BIND_PAT@[1694; 1696) + NAME@[1694; 1696) + IDENT@[1694; 1696) "_b" + COLON@[1696; 1697) ":" + WHITESPACE@[1697; 1698) " " + PATH_TYPE@[1698; 1702) + PATH@[1698; 1702) + PATH_SEGMENT@[1698; 1702) + NAME_REF@[1698; 1702) + IDENT@[1698; 1702) "bool" + WHITESPACE@[1702; 1703) " " + EQ@[1703; 1704) "=" + WHITESPACE@[1704; 1705) " " + PAREN_EXPR@[1705; 1738) + L_PAREN@[1705; 1706) "(" + BIN_EXPR@[1706; 1737) + MACRO_CALL@[1706; 1723) + PATH@[1706; 1713) + PATH_SEGMENT@[1706; 1713) + NAME_REF@[1706; 1713) + IDENT@[1706; 1713) "println" + EXCL@[1713; 1714) "!" + TOKEN_TREE@[1714; 1723) + L_PAREN@[1714; 1715) "(" + STRING@[1715; 1719) "\"{}\"" + COMMA@[1719; 1720) "," + WHITESPACE@[1720; 1721) " " + INT_NUMBER@[1721; 1722) "0" + R_PAREN@[1722; 1723) ")" + WHITESPACE@[1723; 1724) " " + EQEQ@[1724; 1726) "==" + WHITESPACE@[1726; 1727) " " + PAREN_EXPR@[1727; 1737) + L_PAREN@[1727; 1728) "(" + RETURN_EXPR@[1728; 1736) + RETURN_KW@[1728; 1734) "return" + WHITESPACE@[1734; 1735) " " + LITERAL@[1735; 1736) + INT_NUMBER@[1735; 1736) "0" + R_PAREN@[1736; 1737) ")" + R_PAREN@[1737; 1738) ")" + SEMI@[1738; 1739) ";" + WHITESPACE@[1739; 1740) "\n" + R_CURLY@[1740; 1741) "}" + WHITESPACE@[1741; 1743) "\n\n" + FN_DEF@[1743; 1904) + FN_KW@[1743; 1745) "fn" + WHITESPACE@[1745; 1746) " " + NAME@[1746; 1755) + IDENT@[1746; 1755) "angrydome" + PARAM_LIST@[1755; 1757) + L_PAREN@[1755; 1756) "(" + R_PAREN@[1756; 1757) ")" + WHITESPACE@[1757; 1758) " " + BLOCK@[1758; 1904) + L_CURLY@[1758; 1759) "{" + WHITESPACE@[1759; 1764) "\n " + EXPR_STMT@[1764; 1785) + LOOP_EXPR@[1764; 1785) + LOOP_KW@[1764; 1768) "loop" + WHITESPACE@[1768; 1769) " " + BLOCK@[1769; 1785) + L_CURLY@[1769; 1770) "{" + WHITESPACE@[1770; 1771) " " + IF_EXPR@[1771; 1783) + IF_KW@[1771; 1773) "if" + WHITESPACE@[1773; 1774) " " + CONDITION@[1774; 1779) + BREAK_EXPR@[1774; 1779) + BREAK_KW@[1774; 1779) "break" + WHITESPACE@[1779; 1780) " " + BLOCK@[1780; 1783) + L_CURLY@[1780; 1781) "{" + WHITESPACE@[1781; 1782) " " + R_CURLY@[1782; 1783) "}" + WHITESPACE@[1783; 1784) " " + R_CURLY@[1784; 1785) "}" + WHITESPACE@[1785; 1790) "\n " + LET_STMT@[1790; 1804) + LET_KW@[1790; 1793) "let" + WHITESPACE@[1793; 1794) " " + BIND_PAT@[1794; 1799) + MUT_KW@[1794; 1797) "mut" + WHITESPACE@[1797; 1798) " " + NAME@[1798; 1799) + IDENT@[1798; 1799) "i" + WHITESPACE@[1799; 1800) " " + EQ@[1800; 1801) "=" + WHITESPACE@[1801; 1802) " " + LITERAL@[1802; 1803) + INT_NUMBER@[1802; 1803) "0" + SEMI@[1803; 1804) ";" + WHITESPACE@[1804; 1809) "\n " + LOOP_EXPR@[1809; 1902) + LOOP_KW@[1809; 1813) "loop" + WHITESPACE@[1813; 1814) " " + BLOCK@[1814; 1902) + L_CURLY@[1814; 1815) "{" + WHITESPACE@[1815; 1816) " " + EXPR_STMT@[1816; 1823) + BIN_EXPR@[1816; 1822) + PATH_EXPR@[1816; 1817) + PATH@[1816; 1817) + PATH_SEGMENT@[1816; 1817) + NAME_REF@[1816; 1817) + IDENT@[1816; 1817) "i" + WHITESPACE@[1817; 1818) " " + PLUSEQ@[1818; 1820) "+=" + WHITESPACE@[1820; 1821) " " + LITERAL@[1821; 1822) + INT_NUMBER@[1821; 1822) "1" + SEMI@[1822; 1823) ";" + WHITESPACE@[1823; 1824) " " + EXPR_STMT@[1824; 1887) + IF_EXPR@[1824; 1887) + IF_KW@[1824; 1826) "if" + WHITESPACE@[1826; 1827) " " + CONDITION@[1827; 1833) + BIN_EXPR@[1827; 1833) + PATH_EXPR@[1827; 1828) + PATH@[1827; 1828) + PATH_SEGMENT@[1827; 1828) + NAME_REF@[1827; 1828) + IDENT@[1827; 1828) "i" + WHITESPACE@[1828; 1829) " " + EQEQ@[1829; 1831) "==" + WHITESPACE@[1831; 1832) " " + LITERAL@[1832; 1833) + INT_NUMBER@[1832; 1833) "1" + WHITESPACE@[1833; 1834) " " + BLOCK@[1834; 1887) + L_CURLY@[1834; 1835) "{" + WHITESPACE@[1835; 1836) " " + MATCH_EXPR@[1836; 1885) + MATCH_KW@[1836; 1841) "match" + WHITESPACE@[1841; 1842) " " + PAREN_EXPR@[1842; 1852) + L_PAREN@[1842; 1843) "(" + CONTINUE_EXPR@[1843; 1851) + CONTINUE_KW@[1843; 1851) "continue" + R_PAREN@[1851; 1852) ")" + WHITESPACE@[1852; 1853) " " + MATCH_ARM_LIST@[1853; 1885) + L_CURLY@[1853; 1854) "{" + WHITESPACE@[1854; 1855) " " + MATCH_ARM@[1855; 1863) + LITERAL_PAT@[1855; 1856) + LITERAL@[1855; 1856) + INT_NUMBER@[1855; 1856) "1" + WHITESPACE@[1856; 1857) " " + FAT_ARROW@[1857; 1859) "=>" + WHITESPACE@[1859; 1860) " " + BLOCK_EXPR@[1860; 1863) + BLOCK@[1860; 1863) + L_CURLY@[1860; 1861) "{" + WHITESPACE@[1861; 1862) " " + R_CURLY@[1862; 1863) "}" + COMMA@[1863; 1864) "," + WHITESPACE@[1864; 1865) " " + MATCH_ARM@[1865; 1883) + PLACEHOLDER_PAT@[1865; 1866) + UNDERSCORE@[1865; 1866) "_" + WHITESPACE@[1866; 1867) " " + FAT_ARROW@[1867; 1869) "=>" + WHITESPACE@[1869; 1870) " " + MACRO_CALL@[1870; 1883) + PATH@[1870; 1875) + PATH_SEGMENT@[1870; 1875) + NAME_REF@[1870; 1875) + IDENT@[1870; 1875) "panic" + EXCL@[1875; 1876) "!" + TOKEN_TREE@[1876; 1883) + L_PAREN@[1876; 1877) "(" + STRING@[1877; 1882) "\"wat\"" + R_PAREN@[1882; 1883) ")" + WHITESPACE@[1883; 1884) " " + R_CURLY@[1884; 1885) "}" + WHITESPACE@[1885; 1886) " " + R_CURLY@[1886; 1887) "}" + WHITESPACE@[1887; 1894) "\n " + EXPR_STMT@[1894; 1900) + BREAK_EXPR@[1894; 1899) + BREAK_KW@[1894; 1899) "break" + SEMI@[1899; 1900) ";" + WHITESPACE@[1900; 1901) " " + R_CURLY@[1901; 1902) "}" + WHITESPACE@[1902; 1903) "\n" + R_CURLY@[1903; 1904) "}" + WHITESPACE@[1904; 1906) "\n\n" + FN_DEF@[1906; 1960) + FN_KW@[1906; 1908) "fn" + WHITESPACE@[1908; 1909) " " + NAME@[1909; 1921) + IDENT@[1909; 1921) "evil_lincoln" + PARAM_LIST@[1921; 1923) + L_PAREN@[1921; 1922) "(" + R_PAREN@[1922; 1923) ")" + WHITESPACE@[1923; 1924) " " + BLOCK@[1924; 1960) + L_CURLY@[1924; 1925) "{" + WHITESPACE@[1925; 1926) " " + LET_STMT@[1926; 1958) + LET_KW@[1926; 1929) "let" + WHITESPACE@[1929; 1930) " " + BIND_PAT@[1930; 1935) + NAME@[1930; 1935) + IDENT@[1930; 1935) "_evil" + WHITESPACE@[1935; 1936) " " + EQ@[1936; 1937) "=" + WHITESPACE@[1937; 1938) " " + MACRO_CALL@[1938; 1957) + PATH@[1938; 1945) + PATH_SEGMENT@[1938; 1945) + NAME_REF@[1938; 1945) + IDENT@[1938; 1945) "println" + EXCL@[1945; 1946) "!" + TOKEN_TREE@[1946; 1957) + L_PAREN@[1946; 1947) "(" + STRING@[1947; 1956) "\"lincoln\"" + R_PAREN@[1956; 1957) ")" + SEMI@[1957; 1958) ";" + WHITESPACE@[1958; 1959) " " + R_CURLY@[1959; 1960) "}" + WHITESPACE@[1960; 1962) "\n\n" + FN_DEF@[1962; 2198) + FN_KW@[1962; 1964) "fn" + WHITESPACE@[1964; 1965) " " + NAME@[1965; 1969) + IDENT@[1965; 1969) "dots" + PARAM_LIST@[1969; 1971) + L_PAREN@[1969; 1970) "(" + R_PAREN@[1970; 1971) ")" + WHITESPACE@[1971; 1972) " " + BLOCK@[1972; 2198) + L_CURLY@[1972; 1973) "{" + WHITESPACE@[1973; 1978) "\n " + EXPR_STMT@[1978; 2196) + MACRO_CALL@[1978; 2195) + PATH@[1978; 1987) + PATH_SEGMENT@[1978; 1987) + NAME_REF@[1978; 1987) + IDENT@[1978; 1987) "assert_eq" + EXCL@[1987; 1988) "!" + TOKEN_TREE@[1988; 2195) + L_PAREN@[1988; 1989) "(" + IDENT@[1989; 1995) "String" + COLON@[1995; 1996) ":" + COLON@[1996; 1997) ":" + IDENT@[1997; 2001) "from" + TOKEN_TREE@[2001; 2055) + L_PAREN@[2001; 2002) "(" + STRING@[2002; 2054) "\".................... ..." + R_PAREN@[2054; 2055) ")" + COMMA@[2055; 2056) "," + WHITESPACE@[2056; 2072) "\n " + IDENT@[2072; 2078) "format" + EXCL@[2078; 2079) "!" + TOKEN_TREE@[2079; 2194) + L_PAREN@[2079; 2080) "(" + STRING@[2080; 2086) "\"{:?}\"" + COMMA@[2086; 2087) "," + WHITESPACE@[2087; 2088) " " + DOT@[2088; 2089) "." + DOT@[2089; 2090) "." + WHITESPACE@[2090; 2091) " " + DOT@[2091; 2092) "." + DOT@[2092; 2093) "." + WHITESPACE@[2093; 2094) " " + DOT@[2094; 2095) "." + DOT@[2095; 2096) "." + WHITESPACE@[2096; 2097) " " + DOT@[2097; 2098) "." + DOT@[2098; 2099) "." + WHITESPACE@[2099; 2100) " " + DOT@[2100; 2101) "." + DOT@[2101; 2102) "." + WHITESPACE@[2102; 2103) " " + DOT@[2103; 2104) "." + DOT@[2104; 2105) "." + WHITESPACE@[2105; 2106) " " + DOT@[2106; 2107) "." + DOT@[2107; 2108) "." + WHITESPACE@[2108; 2109) " " + DOT@[2109; 2110) "." + DOT@[2110; 2111) "." + WHITESPACE@[2111; 2112) " " + DOT@[2112; 2113) "." + DOT@[2113; 2114) "." + WHITESPACE@[2114; 2115) " " + DOT@[2115; 2116) "." + DOT@[2116; 2117) "." + WHITESPACE@[2117; 2118) " " + DOT@[2118; 2119) "." + DOT@[2119; 2120) "." + WHITESPACE@[2120; 2121) " " + DOT@[2121; 2122) "." + DOT@[2122; 2123) "." + WHITESPACE@[2123; 2124) " " + DOT@[2124; 2125) "." + DOT@[2125; 2126) "." + WHITESPACE@[2126; 2158) "\n ..." + DOT@[2158; 2159) "." + DOT@[2159; 2160) "." + WHITESPACE@[2160; 2161) " " + DOT@[2161; 2162) "." + DOT@[2162; 2163) "." + WHITESPACE@[2163; 2164) " " + DOT@[2164; 2165) "." + DOT@[2165; 2166) "." + WHITESPACE@[2166; 2167) " " + DOT@[2167; 2168) "." + DOT@[2168; 2169) "." + WHITESPACE@[2169; 2170) " " + DOT@[2170; 2171) "." + DOT@[2171; 2172) "." + WHITESPACE@[2172; 2173) " " + DOT@[2173; 2174) "." + DOT@[2174; 2175) "." + WHITESPACE@[2175; 2176) " " + DOT@[2176; 2177) "." + DOT@[2177; 2178) "." + WHITESPACE@[2178; 2179) " " + DOT@[2179; 2180) "." + DOT@[2180; 2181) "." + WHITESPACE@[2181; 2182) " " + DOT@[2182; 2183) "." + DOT@[2183; 2184) "." + WHITESPACE@[2184; 2185) " " + DOT@[2185; 2186) "." + DOT@[2186; 2187) "." + WHITESPACE@[2187; 2188) " " + DOT@[2188; 2189) "." + DOT@[2189; 2190) "." + WHITESPACE@[2190; 2191) " " + DOT@[2191; 2192) "." + DOT@[2192; 2193) "." + R_PAREN@[2193; 2194) ")" + R_PAREN@[2194; 2195) ")" + SEMI@[2195; 2196) ";" + WHITESPACE@[2196; 2197) "\n" + R_CURLY@[2197; 2198) "}" + WHITESPACE@[2198; 2200) "\n\n" + FN_DEF@[2200; 2693) + FN_KW@[2200; 2202) "fn" + WHITESPACE@[2202; 2203) " " + NAME@[2203; 2205) + IDENT@[2203; 2205) "u8" + PARAM_LIST@[2205; 2213) + L_PAREN@[2205; 2206) "(" + PARAM@[2206; 2212) + BIND_PAT@[2206; 2208) + NAME@[2206; 2208) + IDENT@[2206; 2208) "u8" + COLON@[2208; 2209) ":" + WHITESPACE@[2209; 2210) " " + PATH_TYPE@[2210; 2212) + PATH@[2210; 2212) + PATH_SEGMENT@[2210; 2212) + NAME_REF@[2210; 2212) + IDENT@[2210; 2212) "u8" + R_PAREN@[2212; 2213) ")" + WHITESPACE@[2213; 2214) " " + BLOCK@[2214; 2693) + L_CURLY@[2214; 2215) "{" + WHITESPACE@[2215; 2220) "\n " + IF_EXPR@[2220; 2691) + IF_KW@[2220; 2222) "if" + WHITESPACE@[2222; 2223) " " + CONDITION@[2223; 2232) + BIN_EXPR@[2223; 2232) + PATH_EXPR@[2223; 2225) + PATH@[2223; 2225) + PATH_SEGMENT@[2223; 2225) + NAME_REF@[2223; 2225) + IDENT@[2223; 2225) "u8" + WHITESPACE@[2225; 2226) " " + NEQ@[2226; 2228) "!=" + WHITESPACE@[2228; 2229) " " + LITERAL@[2229; 2232) + INT_NUMBER@[2229; 2232) "0u8" + WHITESPACE@[2232; 2233) " " + BLOCK@[2233; 2691) + L_CURLY@[2233; 2234) "{" + WHITESPACE@[2234; 2243) "\n " + EXPR_STMT@[2243; 2685) + MACRO_CALL@[2243; 2684) + PATH@[2243; 2252) + PATH_SEGMENT@[2243; 2252) + NAME_REF@[2243; 2252) + IDENT@[2243; 2252) "assert_eq" + EXCL@[2252; 2253) "!" + TOKEN_TREE@[2253; 2684) + L_PAREN@[2253; 2254) "(" + INT_NUMBER@[2254; 2257) "8u8" + COMMA@[2257; 2258) "," + WHITESPACE@[2258; 2259) " " + TOKEN_TREE@[2259; 2683) + L_CURLY@[2259; 2260) "{" + WHITESPACE@[2260; 2273) "\n " + IDENT@[2273; 2284) "macro_rules" + EXCL@[2284; 2285) "!" + WHITESPACE@[2285; 2286) " " + IDENT@[2286; 2288) "u8" + WHITESPACE@[2288; 2289) " " + TOKEN_TREE@[2289; 2567) + L_CURLY@[2289; 2290) "{" + WHITESPACE@[2290; 2307) "\n " + TOKEN_TREE@[2307; 2311) + L_PAREN@[2307; 2308) "(" + IDENT@[2308; 2310) "u8" + R_PAREN@[2310; 2311) ")" + WHITESPACE@[2311; 2312) " " + EQ@[2312; 2313) "=" + R_ANGLE@[2313; 2314) ">" + WHITESPACE@[2314; 2315) " " + TOKEN_TREE@[2315; 2552) + L_CURLY@[2315; 2316) "{" + WHITESPACE@[2316; 2337) "\n " + MOD_KW@[2337; 2340) "mod" + WHITESPACE@[2340; 2341) " " + IDENT@[2341; 2343) "u8" + WHITESPACE@[2343; 2344) " " + TOKEN_TREE@[2344; 2534) + L_CURLY@[2344; 2345) "{" + WHITESPACE@[2345; 2370) "\n ..." + PUB_KW@[2370; 2373) "pub" + WHITESPACE@[2373; 2374) " " + FN_KW@[2374; 2376) "fn" + WHITESPACE@[2376; 2377) " " + IDENT@[2377; 2379) "u8" + L_ANGLE@[2379; 2380) "<" + LIFETIME@[2380; 2383) "\'u8" + COLON@[2383; 2384) ":" + WHITESPACE@[2384; 2385) " " + LIFETIME@[2385; 2388) "\'u8" + WHITESPACE@[2388; 2389) " " + PLUS@[2389; 2390) "+" + WHITESPACE@[2390; 2391) " " + LIFETIME@[2391; 2394) "\'u8" + R_ANGLE@[2394; 2395) ">" + TOKEN_TREE@[2395; 2408) + L_PAREN@[2395; 2396) "(" + IDENT@[2396; 2398) "u8" + COLON@[2398; 2399) ":" + WHITESPACE@[2399; 2400) " " + AMP@[2400; 2401) "&" + LIFETIME@[2401; 2404) "\'u8" + WHITESPACE@[2404; 2405) " " + IDENT@[2405; 2407) "u8" + R_PAREN@[2407; 2408) ")" + WHITESPACE@[2408; 2409) " " + MINUS@[2409; 2410) "-" + R_ANGLE@[2410; 2411) ">" + WHITESPACE@[2411; 2412) " " + AMP@[2412; 2413) "&" + LIFETIME@[2413; 2416) "\'u8" + WHITESPACE@[2416; 2417) " " + IDENT@[2417; 2419) "u8" + WHITESPACE@[2419; 2420) " " + TOKEN_TREE@[2420; 2512) + L_CURLY@[2420; 2421) "{" + WHITESPACE@[2421; 2450) "\n ..." + STRING@[2450; 2454) "\"u8\"" + SEMI@[2454; 2455) ";" + WHITESPACE@[2455; 2484) "\n ..." + IDENT@[2484; 2486) "u8" + WHITESPACE@[2486; 2511) "\n ..." + R_CURLY@[2511; 2512) "}" + WHITESPACE@[2512; 2533) "\n " + R_CURLY@[2533; 2534) "}" + WHITESPACE@[2534; 2551) "\n " + R_CURLY@[2551; 2552) "}" + SEMI@[2552; 2553) ";" + WHITESPACE@[2553; 2566) "\n " + R_CURLY@[2566; 2567) "}" + WHITESPACE@[2567; 2581) "\n\n " + IDENT@[2581; 2583) "u8" + EXCL@[2583; 2584) "!" + TOKEN_TREE@[2584; 2588) + L_PAREN@[2584; 2585) "(" + IDENT@[2585; 2587) "u8" + R_PAREN@[2587; 2588) ")" + SEMI@[2588; 2589) ";" + WHITESPACE@[2589; 2602) "\n " + LET_KW@[2602; 2605) "let" + WHITESPACE@[2605; 2606) " " + AMP@[2606; 2607) "&" + IDENT@[2607; 2609) "u8" + COLON@[2609; 2610) ":" + WHITESPACE@[2610; 2611) " " + AMP@[2611; 2612) "&" + IDENT@[2612; 2614) "u8" + WHITESPACE@[2614; 2615) " " + EQ@[2615; 2616) "=" + WHITESPACE@[2616; 2617) " " + IDENT@[2617; 2619) "u8" + COLON@[2619; 2620) ":" + COLON@[2620; 2621) ":" + IDENT@[2621; 2623) "u8" + TOKEN_TREE@[2623; 2629) + L_PAREN@[2623; 2624) "(" + AMP@[2624; 2625) "&" + INT_NUMBER@[2625; 2628) "8u8" + R_PAREN@[2628; 2629) ")" + SEMI@[2629; 2630) ";" + WHITESPACE@[2630; 2643) "\n " + CRATE_KW@[2643; 2648) "crate" + COLON@[2648; 2649) ":" + COLON@[2649; 2650) ":" + IDENT@[2650; 2652) "u8" + TOKEN_TREE@[2652; 2657) + L_PAREN@[2652; 2653) "(" + INT_NUMBER@[2653; 2656) "0u8" + R_PAREN@[2656; 2657) ")" + SEMI@[2657; 2658) ";" + WHITESPACE@[2658; 2671) "\n " + IDENT@[2671; 2673) "u8" + WHITESPACE@[2673; 2682) "\n " + R_CURLY@[2682; 2683) "}" + R_PAREN@[2683; 2684) ")" + SEMI@[2684; 2685) ";" + WHITESPACE@[2685; 2690) "\n " + R_CURLY@[2690; 2691) "}" + WHITESPACE@[2691; 2692) "\n" + R_CURLY@[2692; 2693) "}" + WHITESPACE@[2693; 2695) "\n\n" + FN_DEF@[2695; 2832) + FN_KW@[2695; 2697) "fn" + WHITESPACE@[2697; 2698) " " + NAME@[2698; 2703) + IDENT@[2698; 2703) "fishy" + PARAM_LIST@[2703; 2705) + L_PAREN@[2703; 2704) "(" + R_PAREN@[2704; 2705) ")" + WHITESPACE@[2705; 2706) " " + BLOCK@[2706; 2832) + L_CURLY@[2706; 2707) "{" + WHITESPACE@[2707; 2712) "\n " + EXPR_STMT@[2712; 2830) + MACRO_CALL@[2712; 2829) + PATH@[2712; 2721) + PATH_SEGMENT@[2712; 2721) + NAME_REF@[2712; 2721) + IDENT@[2712; 2721) "assert_eq" + EXCL@[2721; 2722) "!" + TOKEN_TREE@[2722; 2829) + L_PAREN@[2722; 2723) "(" + IDENT@[2723; 2729) "String" + COLON@[2729; 2730) ":" + COLON@[2730; 2731) ":" + IDENT@[2731; 2735) "from" + TOKEN_TREE@[2735; 2742) + L_PAREN@[2735; 2736) "(" + STRING@[2736; 2741) "\"><>\"" + R_PAREN@[2741; 2742) ")" + COMMA@[2742; 2743) "," + WHITESPACE@[2743; 2759) "\n " + IDENT@[2759; 2765) "String" + COLON@[2765; 2766) ":" + COLON@[2766; 2767) ":" + L_ANGLE@[2767; 2768) "<" + R_ANGLE@[2768; 2769) ">" + COLON@[2769; 2770) ":" + COLON@[2770; 2771) ":" + IDENT@[2771; 2775) "from" + COLON@[2775; 2776) ":" + COLON@[2776; 2777) ":" + L_ANGLE@[2777; 2778) "<" + R_ANGLE@[2778; 2779) ">" + TOKEN_TREE@[2779; 2786) + L_PAREN@[2779; 2780) "(" + STRING@[2780; 2785) "\"><>\"" + R_PAREN@[2785; 2786) ")" + DOT@[2786; 2787) "." + IDENT@[2787; 2792) "chars" + COLON@[2792; 2793) ":" + COLON@[2793; 2794) ":" + L_ANGLE@[2794; 2795) "<" + R_ANGLE@[2795; 2796) ">" + TOKEN_TREE@[2796; 2798) + L_PAREN@[2796; 2797) "(" + R_PAREN@[2797; 2798) ")" + DOT@[2798; 2799) "." + IDENT@[2799; 2802) "rev" + COLON@[2802; 2803) ":" + COLON@[2803; 2804) ":" + L_ANGLE@[2804; 2805) "<" + R_ANGLE@[2805; 2806) ">" + TOKEN_TREE@[2806; 2808) + L_PAREN@[2806; 2807) "(" + R_PAREN@[2807; 2808) ")" + DOT@[2808; 2809) "." + IDENT@[2809; 2816) "collect" + COLON@[2816; 2817) ":" + COLON@[2817; 2818) ":" + L_ANGLE@[2818; 2819) "<" + IDENT@[2819; 2825) "String" + R_ANGLE@[2825; 2826) ">" + TOKEN_TREE@[2826; 2828) + L_PAREN@[2826; 2827) "(" + R_PAREN@[2827; 2828) ")" + R_PAREN@[2828; 2829) ")" + SEMI@[2829; 2830) ";" + WHITESPACE@[2830; 2831) "\n" + R_CURLY@[2831; 2832) "}" + WHITESPACE@[2832; 2834) "\n\n" + FN_DEF@[2834; 2906) + FN_KW@[2834; 2836) "fn" + WHITESPACE@[2836; 2837) " " + NAME@[2837; 2842) + IDENT@[2837; 2842) "union" + PARAM_LIST@[2842; 2844) + L_PAREN@[2842; 2843) "(" + R_PAREN@[2843; 2844) ")" + WHITESPACE@[2844; 2845) " " + BLOCK@[2845; 2906) + L_CURLY@[2845; 2846) "{" + WHITESPACE@[2846; 2851) "\n " + STRUCT_DEF@[2851; 2904) + UNION_KW@[2851; 2856) "union" + WHITESPACE@[2856; 2857) " " + NAME@[2857; 2862) + IDENT@[2857; 2862) "union" + TYPE_PARAM_LIST@[2862; 2870) + L_ANGLE@[2862; 2863) "<" + LIFETIME_PARAM@[2863; 2869) + LIFETIME@[2863; 2869) "\'union" + R_ANGLE@[2869; 2870) ">" + WHITESPACE@[2870; 2871) " " + NAMED_FIELD_DEF_LIST@[2871; 2904) + L_CURLY@[2871; 2872) "{" + WHITESPACE@[2872; 2873) " " + NAMED_FIELD_DEF@[2873; 2901) + NAME@[2873; 2878) + IDENT@[2873; 2878) "union" + COLON@[2878; 2879) ":" + WHITESPACE@[2879; 2880) " " + REFERENCE_TYPE@[2880; 2901) + AMP@[2880; 2881) "&" + LIFETIME@[2881; 2887) "\'union" + WHITESPACE@[2887; 2888) " " + PATH_TYPE@[2888; 2901) + PATH@[2888; 2901) + PATH_SEGMENT@[2888; 2901) + NAME_REF@[2888; 2893) + IDENT@[2888; 2893) "union" + TYPE_ARG_LIST@[2893; 2901) + L_ANGLE@[2893; 2894) "<" + LIFETIME_ARG@[2894; 2900) + LIFETIME@[2894; 2900) "\'union" + R_ANGLE@[2900; 2901) ">" + COMMA@[2901; 2902) "," + WHITESPACE@[2902; 2903) " " + R_CURLY@[2903; 2904) "}" + WHITESPACE@[2904; 2905) "\n" + R_CURLY@[2905; 2906) "}" + WHITESPACE@[2906; 2908) "\n\n" + FN_DEF@[2908; 3042) + FN_KW@[2908; 2910) "fn" + WHITESPACE@[2910; 2911) " " + NAME@[2911; 2929) + IDENT@[2911; 2929) "special_characters" + PARAM_LIST@[2929; 2931) + L_PAREN@[2929; 2930) "(" + R_PAREN@[2930; 2931) ")" + WHITESPACE@[2931; 2932) " " + BLOCK@[2932; 3042) + L_CURLY@[2932; 2933) "{" + WHITESPACE@[2933; 2938) "\n " + LET_STMT@[2938; 3021) + LET_KW@[2938; 2941) "let" + WHITESPACE@[2941; 2942) " " + BIND_PAT@[2942; 2945) + NAME@[2942; 2945) + IDENT@[2942; 2945) "val" + WHITESPACE@[2945; 2946) " " + EQ@[2946; 2947) "=" + WHITESPACE@[2947; 2948) " " + PREFIX_EXPR@[2948; 3013) + EXCL@[2948; 2949) "!" + PAREN_EXPR@[2949; 3013) + L_PAREN@[2949; 2950) "(" + BIN_EXPR@[2950; 3012) + CALL_EXPR@[2950; 2995) + PAREN_EXPR@[2950; 2971) + L_PAREN@[2950; 2951) "(" + LAMBDA_EXPR@[2951; 2970) + PARAM_LIST@[2951; 2968) + PIPE@[2951; 2952) "|" + PARAM@[2952; 2962) + TUPLE_PAT@[2952; 2956) + L_PAREN@[2952; 2953) "(" + DOTDOT@[2953; 2955) ".." + R_PAREN@[2955; 2956) ")" + COLON@[2956; 2957) ":" + TUPLE_TYPE@[2957; 2962) + L_PAREN@[2957; 2958) "(" + PLACEHOLDER_TYPE@[2958; 2959) + UNDERSCORE@[2958; 2959) "_" + COMMA@[2959; 2960) "," + PLACEHOLDER_TYPE@[2960; 2961) + UNDERSCORE@[2960; 2961) "_" + R_PAREN@[2961; 2962) ")" + COMMA@[2962; 2963) "," + PARAM@[2963; 2967) + BIND_PAT@[2963; 2967) + NAME@[2963; 2965) + IDENT@[2963; 2965) "__" + AT@[2965; 2966) "@" + PLACEHOLDER_PAT@[2966; 2967) + UNDERSCORE@[2966; 2967) "_" + PIPE@[2967; 2968) "|" + PATH_EXPR@[2968; 2970) + PATH@[2968; 2970) + PATH_SEGMENT@[2968; 2970) + NAME_REF@[2968; 2970) + IDENT@[2968; 2970) "__" + R_PAREN@[2970; 2971) ")" + ARG_LIST@[2971; 2995) + L_PAREN@[2971; 2972) "(" + TUPLE_EXPR@[2972; 2987) + L_PAREN@[2972; 2973) "(" + REF_EXPR@[2973; 2979) + AMP@[2973; 2974) "&" + PREFIX_EXPR@[2974; 2979) + STAR@[2974; 2975) "*" + LITERAL@[2975; 2979) + STRING@[2975; 2979) "\"\\\\\"" + COMMA@[2979; 2980) "," + LITERAL@[2980; 2986) + CHAR@[2980; 2986) "\'🤔\'" + R_PAREN@[2986; 2987) ")" + COMMENT@[2987; 2991) "/**/" + COMMA@[2991; 2992) "," + BLOCK_EXPR@[2992; 2994) + BLOCK@[2992; 2994) + L_CURLY@[2992; 2993) "{" + R_CURLY@[2993; 2994) "}" + R_PAREN@[2994; 2995) ")" + EQEQ@[2995; 2997) "==" + BLOCK_EXPR@[2997; 3012) + BLOCK@[2997; 3012) + L_CURLY@[2997; 2998) "{" + EXPR_STMT@[2998; 3011) + REF_EXPR@[2998; 3010) + AMP@[2998; 2999) "&" + INDEX_EXPR@[2999; 3010) + ARRAY_EXPR@[2999; 3006) + L_BRACK@[2999; 3000) "[" + RANGE_EXPR@[3000; 3005) + DOTDOTEQ@[3000; 3003) "..=" + RANGE_EXPR@[3003; 3005) + DOTDOT@[3003; 3005) ".." + R_BRACK@[3005; 3006) "]" + L_BRACK@[3006; 3007) "[" + RANGE_EXPR@[3007; 3009) + DOTDOT@[3007; 3009) ".." + R_BRACK@[3009; 3010) "]" + SEMI@[3010; 3011) ";" + R_CURLY@[3011; 3012) "}" + R_PAREN@[3012; 3013) ")" + COMMENT@[3013; 3015) "//" + WHITESPACE@[3015; 3020) "\n " + SEMI@[3020; 3021) ";" + WHITESPACE@[3021; 3026) "\n " + EXPR_STMT@[3026; 3040) + MACRO_CALL@[3026; 3039) + PATH@[3026; 3032) + PATH_SEGMENT@[3026; 3032) + NAME_REF@[3026; 3032) + IDENT@[3026; 3032) "assert" + EXCL@[3032; 3033) "!" + TOKEN_TREE@[3033; 3039) + L_PAREN@[3033; 3034) "(" + EXCL@[3034; 3035) "!" + IDENT@[3035; 3038) "val" + R_PAREN@[3038; 3039) ")" + SEMI@[3039; 3040) ";" + WHITESPACE@[3040; 3041) "\n" + R_CURLY@[3041; 3042) "}" + WHITESPACE@[3042; 3044) "\n\n" + FN_DEF@[3044; 3514) + FN_KW@[3044; 3046) "fn" + WHITESPACE@[3046; 3047) " " + NAME@[3047; 3057) + IDENT@[3047; 3057) "punch_card" + PARAM_LIST@[3057; 3059) + L_PAREN@[3057; 3058) "(" + R_PAREN@[3058; 3059) ")" + WHITESPACE@[3059; 3060) " " + RET_TYPE@[3060; 3083) + THIN_ARROW@[3060; 3062) "->" + WHITESPACE@[3062; 3063) " " + IMPL_TRAIT_TYPE@[3063; 3083) + IMPL_KW@[3063; 3067) "impl" + WHITESPACE@[3067; 3068) " " + TYPE_BOUND_LIST@[3068; 3083) + TYPE_BOUND@[3068; 3083) + PATH_TYPE@[3068; 3083) + PATH@[3068; 3083) + PATH@[3068; 3076) + PATH@[3068; 3071) + PATH_SEGMENT@[3068; 3071) + NAME_REF@[3068; 3071) + IDENT@[3068; 3071) "std" + COLONCOLON@[3071; 3073) "::" + PATH_SEGMENT@[3073; 3076) + NAME_REF@[3073; 3076) + IDENT@[3073; 3076) "fmt" + COLONCOLON@[3076; 3078) "::" + PATH_SEGMENT@[3078; 3083) + NAME_REF@[3078; 3083) + IDENT@[3078; 3083) "Debug" + WHITESPACE@[3083; 3084) " " + BLOCK@[3084; 3514) + L_CURLY@[3084; 3085) "{" + WHITESPACE@[3085; 3090) "\n " + RANGE_EXPR@[3090; 3512) + DOTDOTEQ@[3090; 3093) "..=" + RANGE_EXPR@[3093; 3512) + DOTDOTEQ@[3093; 3096) "..=" + RANGE_EXPR@[3096; 3512) + DOTDOT@[3096; 3098) ".." + WHITESPACE@[3098; 3099) " " + RANGE_EXPR@[3099; 3512) + DOTDOT@[3099; 3101) ".." + WHITESPACE@[3101; 3105) " " + RANGE_EXPR@[3105; 3512) + DOTDOT@[3105; 3107) ".." + WHITESPACE@[3107; 3108) " " + RANGE_EXPR@[3108; 3512) + DOTDOT@[3108; 3110) ".." + WHITESPACE@[3110; 3111) " " + RANGE_EXPR@[3111; 3512) + DOTDOT@[3111; 3113) ".." + WHITESPACE@[3113; 3114) " " + RANGE_EXPR@[3114; 3512) + DOTDOT@[3114; 3116) ".." + WHITESPACE@[3116; 3120) " " + RANGE_EXPR@[3120; 3512) + DOTDOT@[3120; 3122) ".." + WHITESPACE@[3122; 3123) " " + RANGE_EXPR@[3123; 3512) + DOTDOT@[3123; 3125) ".." + WHITESPACE@[3125; 3126) " " + RANGE_EXPR@[3126; 3512) + DOTDOT@[3126; 3128) ".." + WHITESPACE@[3128; 3129) " " + RANGE_EXPR@[3129; 3512) + DOTDOT@[3129; 3131) ".." + WHITESPACE@[3131; 3135) " " + RANGE_EXPR@[3135; 3512) + DOTDOT@[3135; 3137) ".." + WHITESPACE@[3137; 3138) " " + RANGE_EXPR@[3138; 3512) + DOTDOTEQ@[3138; 3141) "..=" + RANGE_EXPR@[3141; 3512) + DOTDOT@[3141; 3143) ".." + WHITESPACE@[3143; 3144) " " + RANGE_EXPR@[3144; 3512) + DOTDOT@[3144; 3146) ".." + WHITESPACE@[3146; 3151) "\n " + RANGE_EXPR@[3151; 3512) + DOTDOTEQ@[3151; 3154) "..=" + RANGE_EXPR@[3154; 3512) + DOTDOT@[3154; 3156) ".." + WHITESPACE@[3156; 3157) " " + RANGE_EXPR@[3157; 3512) + DOTDOTEQ@[3157; 3160) "..=" + RANGE_EXPR@[3160; 3512) + DOTDOT@[3160; 3162) ".." + WHITESPACE@[3162; 3166) " " + RANGE_EXPR@[3166; 3512) + DOTDOT@[3166; 3168) ".." + WHITESPACE@[3168; 3169) " " + RANGE_EXPR@[3169; 3512) + DOTDOT@[3169; 3171) ".." + WHITESPACE@[3171; 3172) " " + RANGE_EXPR@[3172; 3512) + DOTDOT@[3172; 3174) ".." + WHITESPACE@[3174; 3175) " " + RANGE_EXPR@[3175; 3512) + DOTDOT@[3175; 3177) ".." + WHITESPACE@[3177; 3181) " " + RANGE_EXPR@[3181; 3512) + DOTDOT@[3181; 3183) ".." + WHITESPACE@[3183; 3184) " " + RANGE_EXPR@[3184; 3512) + DOTDOT@[3184; 3186) ".." + WHITESPACE@[3186; 3187) " " + RANGE_EXPR@[3187; 3512) + DOTDOT@[3187; 3189) ".." + WHITESPACE@[3189; 3190) " " + RANGE_EXPR@[3190; 3512) + DOTDOT@[3190; 3192) ".." + WHITESPACE@[3192; 3196) " " + RANGE_EXPR@[3196; 3512) + DOTDOTEQ@[3196; 3199) "..=" + RANGE_EXPR@[3199; 3512) + DOTDOTEQ@[3199; 3202) "..=" + RANGE_EXPR@[3202; 3512) + DOTDOTEQ@[3202; 3205) "..=" + RANGE_EXPR@[3205; 3512) + DOTDOT@[3205; 3207) ".." + WHITESPACE@[3207; 3212) "\n " + RANGE_EXPR@[3212; 3512) + DOTDOTEQ@[3212; 3215) "..=" + RANGE_EXPR@[3215; 3512) + DOTDOT@[3215; 3217) ".." + WHITESPACE@[3217; 3218) " " + RANGE_EXPR@[3218; 3512) + DOTDOTEQ@[3218; 3221) "..=" + RANGE_EXPR@[3221; 3512) + DOTDOT@[3221; 3223) ".." + WHITESPACE@[3223; 3227) " " + RANGE_EXPR@[3227; 3512) + DOTDOTEQ@[3227; 3230) "..=" + RANGE_EXPR@[3230; 3512) + DOTDOT@[3230; 3232) ".." + WHITESPACE@[3232; 3233) " " + RANGE_EXPR@[3233; 3512) + DOTDOTEQ@[3233; 3236) "..=" + RANGE_EXPR@[3236; 3512) + DOTDOT@[3236; 3238) ".." + WHITESPACE@[3238; 3242) " " + RANGE_EXPR@[3242; 3512) + DOTDOT@[3242; 3244) ".." + WHITESPACE@[3244; 3245) " " + RANGE_EXPR@[3245; 3512) + DOTDOTEQ@[3245; 3248) "..=" + RANGE_EXPR@[3248; 3512) + DOTDOTEQ@[3248; 3251) "..=" + RANGE_EXPR@[3251; 3512) + DOTDOT@[3251; 3253) ".." + WHITESPACE@[3253; 3257) " " + RANGE_EXPR@[3257; 3512) + DOTDOT@[3257; 3259) ".." + WHITESPACE@[3259; 3260) " " + RANGE_EXPR@[3260; 3512) + DOTDOTEQ@[3260; 3263) "..=" + RANGE_EXPR@[3263; 3512) + DOTDOT@[3263; 3265) ".." + WHITESPACE@[3265; 3266) " " + RANGE_EXPR@[3266; 3512) + DOTDOT@[3266; 3268) ".." + WHITESPACE@[3268; 3273) "\n " + RANGE_EXPR@[3273; 3512) + DOTDOTEQ@[3273; 3276) "..=" + RANGE_EXPR@[3276; 3512) + DOTDOTEQ@[3276; 3279) "..=" + RANGE_EXPR@[3279; 3512) + DOTDOT@[3279; 3281) ".." + WHITESPACE@[3281; 3282) " " + RANGE_EXPR@[3282; 3512) + DOTDOT@[3282; 3284) ".." + WHITESPACE@[3284; 3288) " " + RANGE_EXPR@[3288; 3512) + DOTDOTEQ@[3288; 3291) "..=" + RANGE_EXPR@[3291; 3512) + DOTDOT@[3291; 3293) ".." + WHITESPACE@[3293; 3294) " " + RANGE_EXPR@[3294; 3512) + DOTDOTEQ@[3294; 3297) "..=" + RANGE_EXPR@[3297; 3512) + DOTDOT@[3297; 3299) ".." + WHITESPACE@[3299; 3303) " " + RANGE_EXPR@[3303; 3512) + DOTDOTEQ@[3303; 3306) "..=" + RANGE_EXPR@[3306; 3512) + DOTDOT@[3306; 3308) ".." + WHITESPACE@[3308; 3309) " " + RANGE_EXPR@[3309; 3512) + DOTDOT@[3309; 3311) ".." + WHITESPACE@[3311; 3312) " " + RANGE_EXPR@[3312; 3512) + DOTDOT@[3312; 3314) ".." + WHITESPACE@[3314; 3318) " " + RANGE_EXPR@[3318; 3512) + DOTDOT@[3318; 3320) ".." + WHITESPACE@[3320; 3321) " " + RANGE_EXPR@[3321; 3512) + DOTDOTEQ@[3321; 3324) "..=" + RANGE_EXPR@[3324; 3512) + DOTDOT@[3324; 3326) ".." + WHITESPACE@[3326; 3327) " " + RANGE_EXPR@[3327; 3512) + DOTDOT@[3327; 3329) ".." + WHITESPACE@[3329; 3334) "\n " + RANGE_EXPR@[3334; 3512) + DOTDOTEQ@[3334; 3337) "..=" + RANGE_EXPR@[3337; 3512) + DOTDOT@[3337; 3339) ".." + WHITESPACE@[3339; 3340) " " + RANGE_EXPR@[3340; 3512) + DOTDOTEQ@[3340; 3343) "..=" + RANGE_EXPR@[3343; 3512) + DOTDOT@[3343; 3345) ".." + WHITESPACE@[3345; 3349) " " + RANGE_EXPR@[3349; 3512) + DOTDOTEQ@[3349; 3352) "..=" + RANGE_EXPR@[3352; 3512) + DOTDOT@[3352; 3354) ".." + WHITESPACE@[3354; 3355) " " + RANGE_EXPR@[3355; 3512) + DOTDOTEQ@[3355; 3358) "..=" + RANGE_EXPR@[3358; 3512) + DOTDOT@[3358; 3360) ".." + WHITESPACE@[3360; 3364) " " + RANGE_EXPR@[3364; 3512) + DOTDOT@[3364; 3366) ".." + WHITESPACE@[3366; 3367) " " + RANGE_EXPR@[3367; 3512) + DOTDOTEQ@[3367; 3370) "..=" + RANGE_EXPR@[3370; 3512) + DOTDOT@[3370; 3372) ".." + WHITESPACE@[3372; 3373) " " + RANGE_EXPR@[3373; 3512) + DOTDOT@[3373; 3375) ".." + WHITESPACE@[3375; 3379) " " + RANGE_EXPR@[3379; 3512) + DOTDOT@[3379; 3381) ".." + WHITESPACE@[3381; 3382) " " + RANGE_EXPR@[3382; 3512) + DOTDOTEQ@[3382; 3385) "..=" + RANGE_EXPR@[3385; 3512) + DOTDOT@[3385; 3387) ".." + WHITESPACE@[3387; 3388) " " + RANGE_EXPR@[3388; 3512) + DOTDOT@[3388; 3390) ".." + WHITESPACE@[3390; 3395) "\n " + RANGE_EXPR@[3395; 3512) + DOTDOTEQ@[3395; 3398) "..=" + RANGE_EXPR@[3398; 3512) + DOTDOT@[3398; 3400) ".." + WHITESPACE@[3400; 3401) " " + RANGE_EXPR@[3401; 3512) + DOTDOTEQ@[3401; 3404) "..=" + RANGE_EXPR@[3404; 3512) + DOTDOT@[3404; 3406) ".." + WHITESPACE@[3406; 3410) " " + RANGE_EXPR@[3410; 3512) + DOTDOTEQ@[3410; 3413) "..=" + RANGE_EXPR@[3413; 3512) + DOTDOT@[3413; 3415) ".." + WHITESPACE@[3415; 3416) " " + RANGE_EXPR@[3416; 3512) + DOTDOTEQ@[3416; 3419) "..=" + RANGE_EXPR@[3419; 3512) + DOTDOT@[3419; 3421) ".." + WHITESPACE@[3421; 3425) " " + RANGE_EXPR@[3425; 3512) + DOTDOT@[3425; 3427) ".." + WHITESPACE@[3427; 3428) " " + RANGE_EXPR@[3428; 3512) + DOTDOT@[3428; 3430) ".." + WHITESPACE@[3430; 3431) " " + RANGE_EXPR@[3431; 3512) + DOTDOTEQ@[3431; 3434) "..=" + RANGE_EXPR@[3434; 3512) + DOTDOT@[3434; 3436) ".." + WHITESPACE@[3436; 3440) " " + RANGE_EXPR@[3440; 3512) + DOTDOT@[3440; 3442) ".." + WHITESPACE@[3442; 3443) " " + RANGE_EXPR@[3443; 3512) + DOTDOTEQ@[3443; 3446) "..=" + RANGE_EXPR@[3446; 3512) + DOTDOT@[3446; 3448) ".." + WHITESPACE@[3448; 3449) " " + RANGE_EXPR@[3449; 3512) + DOTDOT@[3449; 3451) ".." + WHITESPACE@[3451; 3456) "\n " + RANGE_EXPR@[3456; 3512) + DOTDOTEQ@[3456; 3459) "..=" + RANGE_EXPR@[3459; 3512) + DOTDOT@[3459; 3461) ".." + WHITESPACE@[3461; 3462) " " + RANGE_EXPR@[3462; 3512) + DOTDOTEQ@[3462; 3465) "..=" + RANGE_EXPR@[3465; 3512) + DOTDOT@[3465; 3467) ".." + WHITESPACE@[3467; 3471) " " + RANGE_EXPR@[3471; 3512) + DOTDOT@[3471; 3473) ".." + WHITESPACE@[3473; 3474) " " + RANGE_EXPR@[3474; 3512) + DOTDOTEQ@[3474; 3477) "..=" + RANGE_EXPR@[3477; 3512) + DOTDOTEQ@[3477; 3480) "..=" + RANGE_EXPR@[3480; 3512) + DOTDOT@[3480; 3482) ".." + WHITESPACE@[3482; 3486) " " + RANGE_EXPR@[3486; 3512) + DOTDOTEQ@[3486; 3489) "..=" + RANGE_EXPR@[3489; 3512) + DOTDOTEQ@[3489; 3492) "..=" + RANGE_EXPR@[3492; 3512) + DOTDOT@[3492; 3494) ".." + WHITESPACE@[3494; 3495) " " + RANGE_EXPR@[3495; 3512) + DOTDOT@[3495; 3497) ".." + WHITESPACE@[3497; 3501) " " + RANGE_EXPR@[3501; 3512) + DOTDOT@[3501; 3503) ".." + WHITESPACE@[3503; 3504) " " + RANGE_EXPR@[3504; 3512) + DOTDOTEQ@[3504; 3507) "..=" + RANGE_EXPR@[3507; 3512) + DOTDOT@[3507; 3509) ".." + WHITESPACE@[3509; 3510) " " + RANGE_EXPR@[3510; 3512) + DOTDOT@[3510; 3512) ".." + WHITESPACE@[3512; 3513) "\n" + R_CURLY@[3513; 3514) "}" + WHITESPACE@[3514; 3516) "\n\n" + FN_DEF@[3516; 3552) + FN_KW@[3516; 3518) "fn" + WHITESPACE@[3518; 3519) " " + NAME@[3519; 3525) + IDENT@[3519; 3525) "ktulhu" + PARAM_LIST@[3525; 3527) + L_PAREN@[3525; 3526) "(" + R_PAREN@[3526; 3527) ")" + WHITESPACE@[3527; 3528) " " + BLOCK@[3528; 3552) + L_CURLY@[3528; 3529) "{" + WHITESPACE@[3529; 3534) "\n " + SEMI@[3534; 3535) ";" + SEMI@[3535; 3536) ";" + SEMI@[3536; 3537) ";" + EXPR_STMT@[3537; 3540) + TUPLE_EXPR@[3537; 3539) + L_PAREN@[3537; 3538) "(" + R_PAREN@[3538; 3539) ")" + SEMI@[3539; 3540) ";" + SEMI@[3540; 3541) ";" + SEMI@[3541; 3542) ";" + SEMI@[3542; 3543) ";" + SEMI@[3543; 3544) ";" + SEMI@[3544; 3545) ";" + SEMI@[3545; 3546) ";" + SEMI@[3546; 3547) ";" + SEMI@[3547; 3548) ";" + TUPLE_EXPR@[3548; 3550) + L_PAREN@[3548; 3549) "(" + R_PAREN@[3549; 3550) ")" + WHITESPACE@[3550; 3551) "\n" + R_CURLY@[3551; 3552) "}" + WHITESPACE@[3552; 3554) "\n\n" + FN_DEF@[3554; 3812) + VISIBILITY@[3554; 3557) + PUB_KW@[3554; 3557) "pub" + WHITESPACE@[3557; 3558) " " + FN_KW@[3558; 3560) "fn" + WHITESPACE@[3560; 3561) " " + NAME@[3561; 3565) + IDENT@[3561; 3565) "main" + PARAM_LIST@[3565; 3567) + L_PAREN@[3565; 3566) "(" + R_PAREN@[3566; 3567) ")" + WHITESPACE@[3567; 3568) " " + BLOCK@[3568; 3812) + L_CURLY@[3568; 3569) "{" + WHITESPACE@[3569; 3574) "\n " + EXPR_STMT@[3574; 3584) + CALL_EXPR@[3574; 3583) + PATH_EXPR@[3574; 3581) + PATH@[3574; 3581) + PATH_SEGMENT@[3574; 3581) + NAME_REF@[3574; 3581) + IDENT@[3574; 3581) "strange" + ARG_LIST@[3581; 3583) + L_PAREN@[3581; 3582) "(" + R_PAREN@[3582; 3583) ")" + SEMI@[3583; 3584) ";" + WHITESPACE@[3584; 3589) "\n " + EXPR_STMT@[3589; 3597) + CALL_EXPR@[3589; 3596) + PATH_EXPR@[3589; 3594) + PATH@[3589; 3594) + PATH_SEGMENT@[3589; 3594) + NAME_REF@[3589; 3594) + IDENT@[3589; 3594) "funny" + ARG_LIST@[3594; 3596) + L_PAREN@[3594; 3595) "(" + R_PAREN@[3595; 3596) ")" + SEMI@[3596; 3597) ";" + WHITESPACE@[3597; 3602) "\n " + EXPR_STMT@[3602; 3609) + CALL_EXPR@[3602; 3608) + PATH_EXPR@[3602; 3606) + PATH@[3602; 3606) + PATH_SEGMENT@[3602; 3606) + NAME_REF@[3602; 3606) + IDENT@[3602; 3606) "what" + ARG_LIST@[3606; 3608) + L_PAREN@[3606; 3607) "(" + R_PAREN@[3607; 3608) ")" + SEMI@[3608; 3609) ";" + WHITESPACE@[3609; 3614) "\n " + EXPR_STMT@[3614; 3628) + CALL_EXPR@[3614; 3627) + PATH_EXPR@[3614; 3625) + PATH@[3614; 3625) + PATH_SEGMENT@[3614; 3625) + NAME_REF@[3614; 3625) + IDENT@[3614; 3625) "zombiejesus" + ARG_LIST@[3625; 3627) + L_PAREN@[3625; 3626) "(" + R_PAREN@[3626; 3627) ")" + SEMI@[3627; 3628) ";" + WHITESPACE@[3628; 3633) "\n " + EXPR_STMT@[3633; 3643) + CALL_EXPR@[3633; 3642) + PATH_EXPR@[3633; 3640) + PATH@[3633; 3640) + PATH_SEGMENT@[3633; 3640) + NAME_REF@[3633; 3640) + IDENT@[3633; 3640) "notsure" + ARG_LIST@[3640; 3642) + L_PAREN@[3640; 3641) "(" + R_PAREN@[3641; 3642) ")" + SEMI@[3642; 3643) ";" + WHITESPACE@[3643; 3648) "\n " + EXPR_STMT@[3648; 3664) + CALL_EXPR@[3648; 3663) + PATH_EXPR@[3648; 3661) + PATH@[3648; 3661) + PATH_SEGMENT@[3648; 3661) + NAME_REF@[3648; 3661) + IDENT@[3648; 3661) "canttouchthis" + ARG_LIST@[3661; 3663) + L_PAREN@[3661; 3662) "(" + R_PAREN@[3662; 3663) ")" + SEMI@[3663; 3664) ";" + WHITESPACE@[3664; 3669) "\n " + EXPR_STMT@[3669; 3681) + CALL_EXPR@[3669; 3680) + PATH_EXPR@[3669; 3678) + PATH@[3669; 3678) + PATH_SEGMENT@[3669; 3678) + NAME_REF@[3669; 3678) + IDENT@[3669; 3678) "angrydome" + ARG_LIST@[3678; 3680) + L_PAREN@[3678; 3679) "(" + R_PAREN@[3679; 3680) ")" + SEMI@[3680; 3681) ";" + WHITESPACE@[3681; 3686) "\n " + EXPR_STMT@[3686; 3701) + CALL_EXPR@[3686; 3700) + PATH_EXPR@[3686; 3698) + PATH@[3686; 3698) + PATH_SEGMENT@[3686; 3698) + NAME_REF@[3686; 3698) + IDENT@[3686; 3698) "evil_lincoln" + ARG_LIST@[3698; 3700) + L_PAREN@[3698; 3699) "(" + R_PAREN@[3699; 3700) ")" + SEMI@[3700; 3701) ";" + WHITESPACE@[3701; 3706) "\n " + EXPR_STMT@[3706; 3713) + CALL_EXPR@[3706; 3712) + PATH_EXPR@[3706; 3710) + PATH@[3706; 3710) + PATH_SEGMENT@[3706; 3710) + NAME_REF@[3706; 3710) + IDENT@[3706; 3710) "dots" + ARG_LIST@[3710; 3712) + L_PAREN@[3710; 3711) "(" + R_PAREN@[3711; 3712) ")" + SEMI@[3712; 3713) ";" + WHITESPACE@[3713; 3718) "\n " + EXPR_STMT@[3718; 3726) + CALL_EXPR@[3718; 3725) + PATH_EXPR@[3718; 3720) + PATH@[3718; 3720) + PATH_SEGMENT@[3718; 3720) + NAME_REF@[3718; 3720) + IDENT@[3718; 3720) "u8" + ARG_LIST@[3720; 3725) + L_PAREN@[3720; 3721) "(" + LITERAL@[3721; 3724) + INT_NUMBER@[3721; 3724) "8u8" + R_PAREN@[3724; 3725) ")" + SEMI@[3725; 3726) ";" + WHITESPACE@[3726; 3731) "\n " + EXPR_STMT@[3731; 3739) + CALL_EXPR@[3731; 3738) + PATH_EXPR@[3731; 3736) + PATH@[3731; 3736) + PATH_SEGMENT@[3731; 3736) + NAME_REF@[3731; 3736) + IDENT@[3731; 3736) "fishy" + ARG_LIST@[3736; 3738) + L_PAREN@[3736; 3737) "(" + R_PAREN@[3737; 3738) ")" + SEMI@[3738; 3739) ";" + WHITESPACE@[3739; 3744) "\n " + EXPR_STMT@[3744; 3752) + CALL_EXPR@[3744; 3751) + PATH_EXPR@[3744; 3749) + PATH@[3744; 3749) + PATH_SEGMENT@[3744; 3749) + NAME_REF@[3744; 3749) + IDENT@[3744; 3749) "union" + ARG_LIST@[3749; 3751) + L_PAREN@[3749; 3750) "(" + R_PAREN@[3750; 3751) ")" + SEMI@[3751; 3752) ";" + WHITESPACE@[3752; 3757) "\n " + EXPR_STMT@[3757; 3778) + CALL_EXPR@[3757; 3777) + PATH_EXPR@[3757; 3775) + PATH@[3757; 3775) + PATH_SEGMENT@[3757; 3775) + NAME_REF@[3757; 3775) + IDENT@[3757; 3775) "special_characters" + ARG_LIST@[3775; 3777) + L_PAREN@[3775; 3776) "(" + R_PAREN@[3776; 3777) ")" + SEMI@[3777; 3778) ";" + WHITESPACE@[3778; 3783) "\n " + EXPR_STMT@[3783; 3796) + CALL_EXPR@[3783; 3795) + PATH_EXPR@[3783; 3793) + PATH@[3783; 3793) + PATH_SEGMENT@[3783; 3793) + NAME_REF@[3783; 3793) + IDENT@[3783; 3793) "punch_card" + ARG_LIST@[3793; 3795) + L_PAREN@[3793; 3794) "(" + R_PAREN@[3794; 3795) ")" + SEMI@[3795; 3796) ";" + WHITESPACE@[3796; 3801) "\n " + EXPR_STMT@[3801; 3810) + CALL_EXPR@[3801; 3809) + PATH_EXPR@[3801; 3807) + PATH@[3801; 3807) + PATH_SEGMENT@[3801; 3807) + NAME_REF@[3801; 3807) + IDENT@[3801; 3807) "ktulhu" + ARG_LIST@[3807; 3809) + L_PAREN@[3807; 3808) "(" + R_PAREN@[3808; 3809) ")" + SEMI@[3809; 3810) ";" + WHITESPACE@[3810; 3811) "\n" + R_CURLY@[3811; 3812) "}" + WHITESPACE@[3812; 3813) "\n" -- cgit v1.2.3