SOURCE_FILE@[0; 167) FN_DEF@[0; 166) FN_KW@[0; 2) WHITESPACE@[2; 3) NAME@[3; 6) IDENT@[3; 6) "foo" PARAM_LIST@[6; 8) L_PAREN@[6; 7) R_PAREN@[7; 8) WHITESPACE@[8; 9) BLOCK@[9; 166) L_CURLY@[9; 10) WHITESPACE@[10; 15) EXPR_STMT@[15; 25) IF_EXPR@[15; 25) IF_KW@[15; 17) WHITESPACE@[17; 18) CONDITION@[18; 22) LITERAL@[18; 22) TRUE_KW@[18; 22) WHITESPACE@[22; 23) BLOCK@[23; 25) L_CURLY@[23; 24) R_CURLY@[24; 25) WHITESPACE@[25; 30) EXPR_STMT@[30; 37) LOOP_EXPR@[30; 37) LOOP_KW@[30; 34) WHITESPACE@[34; 35) BLOCK@[35; 37) L_CURLY@[35; 36) R_CURLY@[36; 37) WHITESPACE@[37; 42) EXPR_STMT@[42; 53) MATCH_EXPR@[42; 53) MATCH_KW@[42; 47) WHITESPACE@[47; 48) TUPLE_EXPR@[48; 50) L_PAREN@[48; 49) R_PAREN@[49; 50) WHITESPACE@[50; 51) MATCH_ARM_LIST@[51; 53) L_CURLY@[51; 52) R_CURLY@[52; 53) WHITESPACE@[53; 58) EXPR_STMT@[58; 71) WHILE_EXPR@[58; 71) WHILE_KW@[58; 63) WHITESPACE@[63; 64) CONDITION@[64; 68) LITERAL@[64; 68) TRUE_KW@[64; 68) WHITESPACE@[68; 69) BLOCK@[69; 71) L_CURLY@[69; 70) R_CURLY@[70; 71) WHITESPACE@[71; 76) EXPR_STMT@[76; 90) FOR_EXPR@[76; 90) FOR_KW@[76; 79) WHITESPACE@[79; 80) PLACEHOLDER_PAT@[80; 81) UNDERSCORE@[80; 81) WHITESPACE@[81; 82) IN_KW@[82; 84) WHITESPACE@[84; 85) TUPLE_EXPR@[85; 87) L_PAREN@[85; 86) R_PAREN@[86; 87) WHITESPACE@[87; 88) BLOCK@[88; 90) L_CURLY@[88; 89) R_CURLY@[89; 90) WHITESPACE@[90; 95) EXPR_STMT@[95; 97) BLOCK_EXPR@[95; 97) BLOCK@[95; 97) L_CURLY@[95; 96) R_CURLY@[96; 97) WHITESPACE@[97; 102) EXPR_STMT@[102; 104) BLOCK_EXPR@[102; 104) BLOCK@[102; 104) L_CURLY@[102; 103) R_CURLY@[103; 104) WHITESPACE@[104; 109) EXPR_STMT@[109; 152) MACRO_CALL@[109; 152) PATH@[109; 120) PATH_SEGMENT@[109; 120) NAME_REF@[109; 120) IDENT@[109; 120) "macro_rules" EXCL@[120; 121) WHITESPACE@[121; 122) IDENT@[122; 126) "test" WHITESPACE@[126; 127) TOKEN_TREE@[127; 152) L_CURLY@[127; 128) WHITESPACE@[128; 138) TOKEN_TREE@[138; 140) L_PAREN@[138; 139) R_PAREN@[139; 140) WHITESPACE@[140; 141) FAT_ARROW@[141; 143) WHITESPACE@[143; 144) TOKEN_TREE@[144; 146) L_CURLY@[144; 145) R_CURLY@[145; 146) WHITESPACE@[146; 151) R_CURLY@[151; 152) WHITESPACE@[152; 157) MACRO_CALL@[157; 164) PATH@[157; 161) PATH_SEGMENT@[157; 161) NAME_REF@[157; 161) IDENT@[157; 161) "test" EXCL@[161; 162) TOKEN_TREE@[162; 164) L_CURLY@[162; 163) R_CURLY@[163; 164) WHITESPACE@[164; 165) R_CURLY@[165; 166) WHITESPACE@[166; 167)