From 470fc4765cd3ccc764d3265034d18766374371aa Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Mon, 2 Sep 2019 19:33:21 +0300 Subject: update test data --- .../test_data/parser/ok/0035_weird_exprs.txt | 3948 ++++++++++---------- 1 file changed, 1990 insertions(+), 1958 deletions(-) (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 index c13ebfe37..c18e3c329 100644 --- a/crates/ra_syntax/test_data/parser/ok/0035_weird_exprs.txt +++ b/crates/ra_syntax/test_data/parser/ok/0035_weird_exprs.txt @@ -127,33 +127,34 @@ SOURCE_FILE@[0; 3813) 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) "}" + BLOCK_EXPR@[541; 572) + 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" @@ -164,47 +165,49 @@ SOURCE_FILE@[0; 3813) 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) "}" + BLOCK_EXPR@[585; 624) + 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_EXPR@[604; 607) + 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" @@ -215,187 +218,190 @@ SOURCE_FILE@[0; 3813) 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) "}" + BLOCK_EXPR@[636; 816) + 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_EXPR@[665; 720) + 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_EXPR@[697; 713) + 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" @@ -406,163 +412,171 @@ SOURCE_FILE@[0; 3813) 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) "}" + BLOCK_EXPR@[835; 1322) + BLOCK@[835; 1322) + L_CURLY@[835; 836) "{" + WHITESPACE@[836; 841) "\n " + LOOP_EXPR@[841; 1320) + LOOP_KW@[841; 845) "loop" + WHITESPACE@[845; 846) " " + BLOCK_EXPR@[846; 1320) + 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_EXPR@[871; 1283) + 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_EXPR@[897; 1216) + 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_EXPR@[995; 1057) + 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_EXPR@[1063; 1125) + 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_EXPR@[1234; 1273) + 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_EXPR@[1304; 1314) + 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" @@ -573,233 +587,234 @@ SOURCE_FILE@[0; 3813) 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) "}" + BLOCK_EXPR@[1337; 1539) + 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" @@ -819,166 +834,168 @@ SOURCE_FILE@[0; 3813) 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) "}" + BLOCK_EXPR@[1569; 1741) + 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_EXPR@[1590; 1598) + 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" @@ -989,140 +1006,145 @@ SOURCE_FILE@[0; 3813) 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) "}" + BLOCK_EXPR@[1758; 1904) + 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_EXPR@[1769; 1785) + 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_EXPR@[1780; 1783) + 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_EXPR@[1814; 1902) + 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_EXPR@[1834; 1887) + 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" @@ -1133,31 +1155,32 @@ SOURCE_FILE@[0; 3813) 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) "}" + BLOCK_EXPR@[1924; 1960) + 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" @@ -1168,114 +1191,115 @@ SOURCE_FILE@[0; 3813) 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) "}" + BLOCK_EXPR@[1972; 2198) + 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" @@ -1297,169 +1321,171 @@ SOURCE_FILE@[0; 3813) 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) "}" + BLOCK_EXPR@[2214; 2693) + 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_EXPR@[2233; 2691) + 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" @@ -1470,76 +1496,77 @@ SOURCE_FILE@[0; 3813) 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) "}" + BLOCK_EXPR@[2706; 2832) + 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" @@ -1550,47 +1577,48 @@ SOURCE_FILE@[0; 3813) 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) " " - RECORD_FIELD_DEF_LIST@[2871; 2904) - L_CURLY@[2871; 2872) "{" - WHITESPACE@[2872; 2873) " " - RECORD_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) "}" + BLOCK_EXPR@[2845; 2906) + 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) " " + RECORD_FIELD_DEF_LIST@[2871; 2904) + L_CURLY@[2871; 2872) "{" + WHITESPACE@[2872; 2873) " " + RECORD_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" @@ -1601,120 +1629,121 @@ SOURCE_FILE@[0; 3813) 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) "}" + BLOCK_EXPR@[2932; 3042) + 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" @@ -1749,306 +1778,307 @@ SOURCE_FILE@[0; 3813) 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) "}" + BLOCK_EXPR@[3084; 3514) + 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" @@ -2059,30 +2089,31 @@ SOURCE_FILE@[0; 3813) 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) "}" + BLOCK_EXPR@[3528; 3552) + 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) @@ -2096,190 +2127,191 @@ SOURCE_FILE@[0; 3813) 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) "}" + BLOCK_EXPR@[3568; 3812) + 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