SOURCE_FILE@[0; 93) FN_DEF@[0; 92) FN_KW@[0; 2) "fn" 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_EXPR@[9; 92) BLOCK@[9; 92) L_CURLY@[9; 10) "{" WHITESPACE@[10; 15) "\n " EXPR_STMT@[15; 29) WHILE_EXPR@[15; 28) WHILE_KW@[15; 20) "while" WHITESPACE@[20; 21) " " CONDITION@[21; 25) LITERAL@[21; 25) TRUE_KW@[21; 25) "true" WHITESPACE@[25; 26) " " BLOCK_EXPR@[26; 28) BLOCK@[26; 28) L_CURLY@[26; 27) "{" R_CURLY@[27; 28) "}" SEMI@[28; 29) ";" WHITESPACE@[29; 34) "\n " EXPR_STMT@[34; 67) WHILE_EXPR@[34; 66) WHILE_KW@[34; 39) "while" WHITESPACE@[39; 40) " " CONDITION@[40; 63) LET_KW@[40; 43) "let" WHITESPACE@[43; 44) " " TUPLE_STRUCT_PAT@[44; 51) PATH@[44; 48) PATH_SEGMENT@[44; 48) NAME_REF@[44; 48) IDENT@[44; 48) "Some" L_PAREN@[48; 49) "(" BIND_PAT@[49; 50) NAME@[49; 50) IDENT@[49; 50) "x" R_PAREN@[50; 51) ")" WHITESPACE@[51; 52) " " EQ@[52; 53) "=" WHITESPACE@[53; 54) " " METHOD_CALL_EXPR@[54; 63) PATH_EXPR@[54; 56) PATH@[54; 56) PATH_SEGMENT@[54; 56) NAME_REF@[54; 56) IDENT@[54; 56) "it" DOT@[56; 57) "." NAME_REF@[57; 61) IDENT@[57; 61) "next" ARG_LIST@[61; 63) L_PAREN@[61; 62) "(" R_PAREN@[62; 63) ")" WHITESPACE@[63; 64) " " BLOCK_EXPR@[64; 66) BLOCK@[64; 66) L_CURLY@[64; 65) "{" R_CURLY@[65; 66) "}" SEMI@[66; 67) ";" WHITESPACE@[67; 72) "\n " EXPR_STMT@[72; 90) WHILE_EXPR@[72; 89) WHILE_KW@[72; 77) "while" WHITESPACE@[77; 78) " " CONDITION@[78; 86) BLOCK_EXPR@[78; 86) BLOCK@[78; 86) L_CURLY@[78; 79) "{" WHITESPACE@[79; 80) " " LITERAL@[80; 84) TRUE_KW@[80; 84) "true" WHITESPACE@[84; 85) " " R_CURLY@[85; 86) "}" WHITESPACE@[86; 87) " " BLOCK_EXPR@[87; 89) BLOCK@[87; 89) L_CURLY@[87; 88) "{" R_CURLY@[88; 89) "}" SEMI@[89; 90) ";" WHITESPACE@[90; 91) "\n" R_CURLY@[91; 92) "}" WHITESPACE@[92; 93) "\n"