R_PAREN@26..27 ")"
WHITESPACE@27..28 " "
BLOCK_EXPR@28..31
- BLOCK@28..31
- L_CURLY@28..29 "{"
- WHITESPACE@29..30 "\n"
- R_CURLY@30..31 "}"
+ L_CURLY@28..29 "{"
+ WHITESPACE@29..30 "\n"
+ R_CURLY@30..31 "}"
WHITESPACE@31..34 "\n\n\n"
ATTR@34..53
POUND@34..35 "#"
L_PAREN@23..24 "("
R_PAREN@24..25 ")"
BLOCK_EXPR@25..27
- BLOCK@25..27
- L_CURLY@25..26 "{"
- R_CURLY@26..27 "}"
+ L_CURLY@25..26 "{"
+ R_CURLY@26..27 "}"
WHITESPACE@27..29 "\n\n"
ERROR@29..30
R_CURLY@29..30 "}"
R_PAREN@7..8 ")"
WHITESPACE@8..9 " "
BLOCK_EXPR@9..12
- BLOCK@9..12
- L_CURLY@9..10 "{"
- WHITESPACE@10..11 "\n"
- R_CURLY@11..12 "}"
+ L_CURLY@9..10 "{"
+ WHITESPACE@10..11 "\n"
+ R_CURLY@11..12 "}"
WHITESPACE@12..14 "\n\n"
MACRO_CALL@14..19
PATH@14..17
TRUE_KW@29..33 "true"
WHITESPACE@33..34 " "
BLOCK_EXPR@34..51
- BLOCK@34..51
- L_CURLY@34..35 "{"
- WHITESPACE@35..44 "\n "
- LITERAL@44..45
- INT_NUMBER@44..45 "1"
- WHITESPACE@45..50 "\n "
- R_CURLY@50..51 "}"
+ L_CURLY@34..35 "{"
+ WHITESPACE@35..44 "\n "
+ LITERAL@44..45
+ INT_NUMBER@44..45 "1"
+ WHITESPACE@45..50 "\n "
+ R_CURLY@50..51 "}"
WHITESPACE@51..52 " "
ELSE_KW@52..56 "else"
WHITESPACE@56..57 " "
BLOCK_EXPR@57..78
- BLOCK@57..78
- L_CURLY@57..58 "{"
- WHITESPACE@58..67 "\n "
- BIN_EXPR@67..72
- LITERAL@67..68
- INT_NUMBER@67..68 "2"
- WHITESPACE@68..69 " "
- PLUS@69..70 "+"
- WHITESPACE@70..71 " "
- LITERAL@71..72
- INT_NUMBER@71..72 "3"
- WHITESPACE@72..77 "\n "
- R_CURLY@77..78 "}"
+ L_CURLY@57..58 "{"
+ WHITESPACE@58..67 "\n "
+ BIN_EXPR@67..72
+ LITERAL@67..68
+ INT_NUMBER@67..68 "2"
+ WHITESPACE@68..69 " "
+ PLUS@69..70 "+"
+ WHITESPACE@70..71 " "
+ LITERAL@71..72
+ INT_NUMBER@71..72 "3"
+ WHITESPACE@72..77 "\n "
+ R_CURLY@77..78 "}"
WHITESPACE@78..79 "\n"
R_CURLY@79..80 "}"
WHITESPACE@80..82 "\n\n"
R_PAREN@89..90 ")"
WHITESPACE@90..91 " "
BLOCK_EXPR@91..94
- BLOCK@91..94
- L_CURLY@91..92 "{"
- WHITESPACE@92..93 "\n"
- R_CURLY@93..94 "}"
+ L_CURLY@91..92 "{"
+ WHITESPACE@92..93 "\n"
+ R_CURLY@93..94 "}"
WHITESPACE@94..95 "\n"
error 17..17: expected BANG
error 19..19: expected SEMICOLON
R_PAREN@8..9 ")"
WHITESPACE@9..10 " "
BLOCK_EXPR@10..41
- BLOCK@10..41
- L_CURLY@10..11 "{"
- WHITESPACE@11..16 "\n "
- EXPR_STMT@16..24
- LAMBDA_EXPR@16..24
- PARAM_LIST@16..18
- PIPE@16..17 "|"
- PIPE@17..18 "|"
- WHITESPACE@18..19 " "
- RET_TYPE@19..24
- THIN_ARROW@19..21 "->"
- WHITESPACE@21..22 " "
- TUPLE_TYPE@22..24
- L_PAREN@22..23 "("
- R_PAREN@23..24 ")"
- WHITESPACE@24..25 " "
- EXPR_STMT@25..39
- BLOCK_EXPR@25..38
- UNSAFE_KW@25..31 "unsafe"
- WHITESPACE@31..32 " "
- BLOCK@32..38
- L_CURLY@32..33 "{"
- WHITESPACE@33..34 " "
- TUPLE_EXPR@34..36
- L_PAREN@34..35 "("
- R_PAREN@35..36 ")"
- WHITESPACE@36..37 " "
- R_CURLY@37..38 "}"
- SEMICOLON@38..39 ";"
- WHITESPACE@39..40 "\n"
- R_CURLY@40..41 "}"
+ L_CURLY@10..11 "{"
+ WHITESPACE@11..16 "\n "
+ EXPR_STMT@16..24
+ LAMBDA_EXPR@16..24
+ PARAM_LIST@16..18
+ PIPE@16..17 "|"
+ PIPE@17..18 "|"
+ WHITESPACE@18..19 " "
+ RET_TYPE@19..24
+ THIN_ARROW@19..21 "->"
+ WHITESPACE@21..22 " "
+ TUPLE_TYPE@22..24
+ L_PAREN@22..23 "("
+ R_PAREN@23..24 ")"
+ WHITESPACE@24..25 " "
+ EXPR_STMT@25..39
+ EFFECT_EXPR@25..38
+ UNSAFE_KW@25..31 "unsafe"
+ WHITESPACE@31..32 " "
+ BLOCK_EXPR@32..38
+ L_CURLY@32..33 "{"
+ WHITESPACE@33..34 " "
+ TUPLE_EXPR@34..36
+ L_PAREN@34..35 "("
+ R_PAREN@35..36 ")"
+ WHITESPACE@36..37 " "
+ R_CURLY@37..38 "}"
+ SEMICOLON@38..39 ";"
+ WHITESPACE@39..40 "\n"
+ R_CURLY@40..41 "}"
WHITESPACE@41..42 "\n"
error 24..24: expected `{`
error 24..24: expected SEMICOLON
IDENT@18..19 "T"
WHITESPACE@19..20 " "
BLOCK_EXPR@20..22
- BLOCK@20..22
- L_CURLY@20..21 "{"
- R_CURLY@21..22 "}"
+ L_CURLY@20..21 "{"
+ R_CURLY@21..22 "}"
WHITESPACE@22..23 "\n"
error 19..19: expected colon
R_PAREN@7..8 ")"
WHITESPACE@8..9 " "
BLOCK_EXPR@9..55
- BLOCK@9..55
- L_CURLY@9..10 "{"
- WHITESPACE@10..15 "\n "
- EXPR_STMT@15..38
- CALL_EXPR@15..38
- PATH_EXPR@15..18
- PATH@15..18
- PATH_SEGMENT@15..18
- NAME_REF@15..18
- IDENT@15..18 "foo"
- ARG_LIST@18..38
- L_PAREN@18..19 "("
- WHITESPACE@19..28 "\n "
- LITERAL@28..29
- INT_NUMBER@28..29 "1"
- COMMA@29..30 ","
- WHITESPACE@30..31 " "
- LITERAL@31..32
- INT_NUMBER@31..32 "2"
- WHITESPACE@32..37 "\n "
- R_PAREN@37..38 ")"
- WHITESPACE@38..43 "\n "
- EXPR_STMT@43..53
- RETURN_EXPR@43..52
- RETURN_KW@43..49 "return"
- WHITESPACE@49..50 " "
- LITERAL@50..52
- INT_NUMBER@50..52 "92"
- SEMICOLON@52..53 ";"
- WHITESPACE@53..54 "\n"
- R_CURLY@54..55 "}"
+ L_CURLY@9..10 "{"
+ WHITESPACE@10..15 "\n "
+ EXPR_STMT@15..38
+ CALL_EXPR@15..38
+ PATH_EXPR@15..18
+ PATH@15..18
+ PATH_SEGMENT@15..18
+ NAME_REF@15..18
+ IDENT@15..18 "foo"
+ ARG_LIST@18..38
+ L_PAREN@18..19 "("
+ WHITESPACE@19..28 "\n "
+ LITERAL@28..29
+ INT_NUMBER@28..29 "1"
+ COMMA@29..30 ","
+ WHITESPACE@30..31 " "
+ LITERAL@31..32
+ INT_NUMBER@31..32 "2"
+ WHITESPACE@32..37 "\n "
+ R_PAREN@37..38 ")"
+ WHITESPACE@38..43 "\n "
+ EXPR_STMT@43..53
+ RETURN_EXPR@43..52
+ RETURN_KW@43..49 "return"
+ WHITESPACE@49..50 " "
+ LITERAL@50..52
+ INT_NUMBER@50..52 "92"
+ SEMICOLON@52..53 ";"
+ WHITESPACE@53..54 "\n"
+ R_CURLY@54..55 "}"
WHITESPACE@55..56 "\n"
error 38..38: expected SEMICOLON
R_PAREN@15..16 ")"
WHITESPACE@16..17 " "
BLOCK_EXPR@17..46
- BLOCK@17..46
- L_CURLY@17..18 "{"
- WHITESPACE@18..23 "\n "
- LET_STMT@23..36
- LET_KW@23..26 "let"
- WHITESPACE@26..27 " "
- BIND_PAT@27..30
- NAME@27..30
- IDENT@27..30 "bar"
- WHITESPACE@30..31 " "
- EQ@31..32 "="
- WHITESPACE@32..33 " "
- LITERAL@33..35
- INT_NUMBER@33..35 "92"
- SEMICOLON@35..36 ";"
- WHITESPACE@36..41 "\n "
- BIN_EXPR@41..44
- LITERAL@41..42
- INT_NUMBER@41..42 "1"
- WHITESPACE@42..43 " "
- PLUS@43..44 "+"
- WHITESPACE@44..45 "\n"
- R_CURLY@45..46 "}"
+ L_CURLY@17..18 "{"
+ WHITESPACE@18..23 "\n "
+ LET_STMT@23..36
+ LET_KW@23..26 "let"
+ WHITESPACE@26..27 " "
+ BIND_PAT@27..30
+ NAME@27..30
+ IDENT@27..30 "bar"
+ WHITESPACE@30..31 " "
+ EQ@31..32 "="
+ WHITESPACE@32..33 " "
+ LITERAL@33..35
+ INT_NUMBER@33..35 "92"
+ SEMICOLON@35..36 ";"
+ WHITESPACE@36..41 "\n "
+ BIN_EXPR@41..44
+ LITERAL@41..42
+ INT_NUMBER@41..42 "1"
+ WHITESPACE@42..43 " "
+ PLUS@43..44 "+"
+ WHITESPACE@44..45 "\n"
+ R_CURLY@45..46 "}"
WHITESPACE@46..47 "\n"
error 44..44: expected expression
IDENT@39..46 "ScopeId"
WHITESPACE@46..47 " "
BLOCK_EXPR@47..161
- BLOCK@47..161
- L_CURLY@47..48 "{"
- WHITESPACE@48..57 "\n "
- LET_STMT@57..85
- LET_KW@57..60 "let"
- WHITESPACE@60..61 " "
- BIND_PAT@61..64
- NAME@61..64
- IDENT@61..64 "res"
- WHITESPACE@64..65 " "
- EQ@65..66 "="
- WHITESPACE@66..67 " "
- METHOD_CALL_EXPR@67..84
- FIELD_EXPR@67..78
- PATH_EXPR@67..71
- PATH@67..71
- PATH_SEGMENT@67..71
- SELF_KW@67..71 "self"
- DOT@71..72 "."
- NAME_REF@72..78
- IDENT@72..78 "scopes"
- DOT@78..79 "."
- NAME_REF@79..82
- IDENT@79..82 "len"
- ARG_LIST@82..84
- L_PAREN@82..83 "("
- R_PAREN@83..84 ")"
- SEMICOLON@84..85 ";"
- WHITESPACE@85..94 "\n "
- METHOD_CALL_EXPR@94..155
- FIELD_EXPR@94..105
- PATH_EXPR@94..98
- PATH@94..98
- PATH_SEGMENT@94..98
- SELF_KW@94..98 "self"
- DOT@98..99 "."
- NAME_REF@99..105
- IDENT@99..105 "scopes"
- DOT@105..106 "."
- NAME_REF@106..110
- IDENT@106..110 "push"
- ARG_LIST@110..155
- L_PAREN@110..111 "("
- RECORD_LIT@111..154
- PATH@111..120
- PATH_SEGMENT@111..120
- NAME_REF@111..120
- IDENT@111..120 "ScopeData"
- WHITESPACE@120..121 " "
- RECORD_FIELD_LIST@121..154
- L_CURLY@121..122 "{"
- WHITESPACE@122..123 " "
- RECORD_FIELD@123..135
- NAME_REF@123..129
- IDENT@123..129 "parent"
- COLON@129..130 ":"
- WHITESPACE@130..131 " "
- PATH_EXPR@131..135
- PATH@131..135
- PATH_SEGMENT@131..135
- NAME_REF@131..135
- IDENT@131..135 "None"
- COMMA@135..136 ","
- WHITESPACE@136..137 " "
- RECORD_FIELD@137..152
- NAME_REF@137..144
- IDENT@137..144 "entries"
- COLON@144..145 ":"
- WHITESPACE@145..146 " "
- MACRO_CALL@146..152
- PATH@146..149
- PATH_SEGMENT@146..149
- NAME_REF@146..149
- IDENT@146..149 "vec"
- BANG@149..150 "!"
- TOKEN_TREE@150..152
- L_BRACK@150..151 "["
- R_BRACK@151..152 "]"
- WHITESPACE@152..153 " "
- R_CURLY@153..154 "}"
- R_PAREN@154..155 ")"
- WHITESPACE@155..160 "\n "
- R_CURLY@160..161 "}"
+ L_CURLY@47..48 "{"
+ WHITESPACE@48..57 "\n "
+ LET_STMT@57..85
+ LET_KW@57..60 "let"
+ WHITESPACE@60..61 " "
+ BIND_PAT@61..64
+ NAME@61..64
+ IDENT@61..64 "res"
+ WHITESPACE@64..65 " "
+ EQ@65..66 "="
+ WHITESPACE@66..67 " "
+ METHOD_CALL_EXPR@67..84
+ FIELD_EXPR@67..78
+ PATH_EXPR@67..71
+ PATH@67..71
+ PATH_SEGMENT@67..71
+ SELF_KW@67..71 "self"
+ DOT@71..72 "."
+ NAME_REF@72..78
+ IDENT@72..78 "scopes"
+ DOT@78..79 "."
+ NAME_REF@79..82
+ IDENT@79..82 "len"
+ ARG_LIST@82..84
+ L_PAREN@82..83 "("
+ R_PAREN@83..84 ")"
+ SEMICOLON@84..85 ";"
+ WHITESPACE@85..94 "\n "
+ METHOD_CALL_EXPR@94..155
+ FIELD_EXPR@94..105
+ PATH_EXPR@94..98
+ PATH@94..98
+ PATH_SEGMENT@94..98
+ SELF_KW@94..98 "self"
+ DOT@98..99 "."
+ NAME_REF@99..105
+ IDENT@99..105 "scopes"
+ DOT@105..106 "."
+ NAME_REF@106..110
+ IDENT@106..110 "push"
+ ARG_LIST@110..155
+ L_PAREN@110..111 "("
+ RECORD_LIT@111..154
+ PATH@111..120
+ PATH_SEGMENT@111..120
+ NAME_REF@111..120
+ IDENT@111..120 "ScopeData"
+ WHITESPACE@120..121 " "
+ RECORD_FIELD_LIST@121..154
+ L_CURLY@121..122 "{"
+ WHITESPACE@122..123 " "
+ RECORD_FIELD@123..135
+ NAME_REF@123..129
+ IDENT@123..129 "parent"
+ COLON@129..130 ":"
+ WHITESPACE@130..131 " "
+ PATH_EXPR@131..135
+ PATH@131..135
+ PATH_SEGMENT@131..135
+ NAME_REF@131..135
+ IDENT@131..135 "None"
+ COMMA@135..136 ","
+ WHITESPACE@136..137 " "
+ RECORD_FIELD@137..152
+ NAME_REF@137..144
+ IDENT@137..144 "entries"
+ COLON@144..145 ":"
+ WHITESPACE@145..146 " "
+ MACRO_CALL@146..152
+ PATH@146..149
+ PATH_SEGMENT@146..149
+ NAME_REF@146..149
+ IDENT@146..149 "vec"
+ BANG@149..150 "!"
+ TOKEN_TREE@150..152
+ L_BRACK@150..151 "["
+ R_BRACK@151..152 "]"
+ WHITESPACE@152..153 " "
+ R_CURLY@153..154 "}"
+ R_PAREN@154..155 ")"
+ WHITESPACE@155..160 "\n "
+ R_CURLY@160..161 "}"
WHITESPACE@161..167 "\n\n "
FN_DEF@167..180
FN_KW@167..169 "fn"
R_PAREN@7..8 ")"
WHITESPACE@8..9 " "
BLOCK_EXPR@9..138
- BLOCK@9..138
- L_CURLY@9..10 "{"
- WHITESPACE@10..15 "\n "
- LET_STMT@15..24
- LET_KW@15..18 "let"
- WHITESPACE@18..19 " "
- BIND_PAT@19..22
- NAME@19..22
- IDENT@19..22 "foo"
- WHITESPACE@22..23 " "
- EQ@23..24 "="
- WHITESPACE@24..29 "\n "
- LET_STMT@29..41
- LET_KW@29..32 "let"
- WHITESPACE@32..33 " "
- BIND_PAT@33..36
- NAME@33..36
- IDENT@33..36 "bar"
- WHITESPACE@36..37 " "
- EQ@37..38 "="
- WHITESPACE@38..39 " "
- LITERAL@39..40
- INT_NUMBER@39..40 "1"
- SEMICOLON@40..41 ";"
- WHITESPACE@41..46 "\n "
- LET_STMT@46..49
- LET_KW@46..49 "let"
- WHITESPACE@49..54 "\n "
- LET_STMT@54..67
- LET_KW@54..57 "let"
- WHITESPACE@57..58 " "
- BIND_PAT@58..61
- NAME@58..61
- IDENT@58..61 "baz"
- WHITESPACE@61..62 " "
- EQ@62..63 "="
- WHITESPACE@63..64 " "
- LITERAL@64..66
- INT_NUMBER@64..66 "92"
- SEMICOLON@66..67 ";"
- WHITESPACE@67..72 "\n "
- LET_STMT@72..75
- LET_KW@72..75 "let"
- WHITESPACE@75..80 "\n "
- EXPR_STMT@80..90
- IF_EXPR@80..90
- IF_KW@80..82 "if"
- WHITESPACE@82..83 " "
- CONDITION@83..87
- LITERAL@83..87
- TRUE_KW@83..87 "true"
- WHITESPACE@87..88 " "
- BLOCK_EXPR@88..90
- BLOCK@88..90
- L_CURLY@88..89 "{"
- R_CURLY@89..90 "}"
- WHITESPACE@90..95 "\n "
- LET_STMT@95..98
- LET_KW@95..98 "let"
- WHITESPACE@98..103 "\n "
- EXPR_STMT@103..116
- WHILE_EXPR@103..116
- WHILE_KW@103..108 "while"
- WHITESPACE@108..109 " "
- CONDITION@109..113
- LITERAL@109..113
- TRUE_KW@109..113 "true"
- WHITESPACE@113..114 " "
- BLOCK_EXPR@114..116
- BLOCK@114..116
- L_CURLY@114..115 "{"
- R_CURLY@115..116 "}"
- WHITESPACE@116..121 "\n "
- LET_STMT@121..124
- LET_KW@121..124 "let"
- WHITESPACE@124..129 "\n "
- LOOP_EXPR@129..136
- LOOP_KW@129..133 "loop"
- WHITESPACE@133..134 " "
- BLOCK_EXPR@134..136
- BLOCK@134..136
- L_CURLY@134..135 "{"
- R_CURLY@135..136 "}"
- WHITESPACE@136..137 "\n"
- R_CURLY@137..138 "}"
+ L_CURLY@9..10 "{"
+ WHITESPACE@10..15 "\n "
+ LET_STMT@15..24
+ LET_KW@15..18 "let"
+ WHITESPACE@18..19 " "
+ BIND_PAT@19..22
+ NAME@19..22
+ IDENT@19..22 "foo"
+ WHITESPACE@22..23 " "
+ EQ@23..24 "="
+ WHITESPACE@24..29 "\n "
+ LET_STMT@29..41
+ LET_KW@29..32 "let"
+ WHITESPACE@32..33 " "
+ BIND_PAT@33..36
+ NAME@33..36
+ IDENT@33..36 "bar"
+ WHITESPACE@36..37 " "
+ EQ@37..38 "="
+ WHITESPACE@38..39 " "
+ LITERAL@39..40
+ INT_NUMBER@39..40 "1"
+ SEMICOLON@40..41 ";"
+ WHITESPACE@41..46 "\n "
+ LET_STMT@46..49
+ LET_KW@46..49 "let"
+ WHITESPACE@49..54 "\n "
+ LET_STMT@54..67
+ LET_KW@54..57 "let"
+ WHITESPACE@57..58 " "
+ BIND_PAT@58..61
+ NAME@58..61
+ IDENT@58..61 "baz"
+ WHITESPACE@61..62 " "
+ EQ@62..63 "="
+ WHITESPACE@63..64 " "
+ LITERAL@64..66
+ INT_NUMBER@64..66 "92"
+ SEMICOLON@66..67 ";"
+ WHITESPACE@67..72 "\n "
+ LET_STMT@72..75
+ LET_KW@72..75 "let"
+ WHITESPACE@75..80 "\n "
+ EXPR_STMT@80..90
+ IF_EXPR@80..90
+ IF_KW@80..82 "if"
+ WHITESPACE@82..83 " "
+ CONDITION@83..87
+ LITERAL@83..87
+ TRUE_KW@83..87 "true"
+ WHITESPACE@87..88 " "
+ BLOCK_EXPR@88..90
+ L_CURLY@88..89 "{"
+ R_CURLY@89..90 "}"
+ WHITESPACE@90..95 "\n "
+ LET_STMT@95..98
+ LET_KW@95..98 "let"
+ WHITESPACE@98..103 "\n "
+ EXPR_STMT@103..116
+ WHILE_EXPR@103..116
+ WHILE_KW@103..108 "while"
+ WHITESPACE@108..109 " "
+ CONDITION@109..113
+ LITERAL@109..113
+ TRUE_KW@109..113 "true"
+ WHITESPACE@113..114 " "
+ BLOCK_EXPR@114..116
+ L_CURLY@114..115 "{"
+ R_CURLY@115..116 "}"
+ WHITESPACE@116..121 "\n "
+ LET_STMT@121..124
+ LET_KW@121..124 "let"
+ WHITESPACE@124..129 "\n "
+ LOOP_EXPR@129..136
+ LOOP_KW@129..133 "loop"
+ WHITESPACE@133..134 " "
+ BLOCK_EXPR@134..136
+ L_CURLY@134..135 "{"
+ R_CURLY@135..136 "}"
+ WHITESPACE@136..137 "\n"
+ R_CURLY@137..138 "}"
WHITESPACE@138..139 "\n"
error 24..24: expected expression
error 24..24: expected SEMICOLON
R_PAREN@11..12 ")"
WHITESPACE@12..13 " "
BLOCK_EXPR@13..15
- BLOCK@13..15
- L_CURLY@13..14 "{"
- R_CURLY@14..15 "}"
+ L_CURLY@13..14 "{"
+ R_CURLY@14..15 "}"
WHITESPACE@15..16 "\n"
error 2..2: expected a name
error 2..2: expected function arguments
R_PAREN@16..17 ")"
WHITESPACE@17..18 " "
BLOCK_EXPR@18..21
- BLOCK@18..21
- L_CURLY@18..19 "{"
- WHITESPACE@19..20 "\n"
- R_CURLY@20..21 "}"
+ L_CURLY@18..19 "{"
+ WHITESPACE@19..20 "\n"
+ R_CURLY@20..21 "}"
WHITESPACE@21..22 "\n"
error 16..16: expected COLON
error 16..16: expected type
R_PAREN@5..6 ")"
WHITESPACE@6..7 " "
BLOCK_EXPR@7..33
- BLOCK@7..33
- L_CURLY@7..8 "{"
- WHITESPACE@8..9 " "
- EXPR_STMT@9..17
- ARRAY_EXPR@9..17
- L_BRACK@9..10 "["
- LITERAL@10..11
- INT_NUMBER@10..11 "1"
- COMMA@11..12 ","
- WHITESPACE@12..13 " "
- LITERAL@13..14
- INT_NUMBER@13..14 "2"
- COMMA@14..15 ","
- WHITESPACE@15..16 " "
- ERROR@16..17
- AT@16..17 "@"
- EXPR_STMT@17..18
- ERROR@17..18
- COMMA@17..18 ","
- WHITESPACE@18..19 " "
- STRUCT_DEF@19..26
- STRUCT_KW@19..25 "struct"
- ERROR@25..26
- COMMA@25..26 ","
- WHITESPACE@26..27 " "
- LET_STMT@27..31
- LET_KW@27..30 "let"
- ERROR@30..31
- R_BRACK@30..31 "]"
- WHITESPACE@31..32 " "
- R_CURLY@32..33 "}"
+ L_CURLY@7..8 "{"
+ WHITESPACE@8..9 " "
+ EXPR_STMT@9..17
+ ARRAY_EXPR@9..17
+ L_BRACK@9..10 "["
+ LITERAL@10..11
+ INT_NUMBER@10..11 "1"
+ COMMA@11..12 ","
+ WHITESPACE@12..13 " "
+ LITERAL@13..14
+ INT_NUMBER@13..14 "2"
+ COMMA@14..15 ","
+ WHITESPACE@15..16 " "
+ ERROR@16..17
+ AT@16..17 "@"
+ EXPR_STMT@17..18
+ ERROR@17..18
+ COMMA@17..18 ","
+ WHITESPACE@18..19 " "
+ STRUCT_DEF@19..26
+ STRUCT_KW@19..25 "struct"
+ ERROR@25..26
+ COMMA@25..26 ","
+ WHITESPACE@26..27 " "
+ LET_STMT@27..31
+ LET_KW@27..30 "let"
+ ERROR@30..31
+ R_BRACK@30..31 "]"
+ WHITESPACE@31..32 " "
+ R_CURLY@32..33 "}"
WHITESPACE@33..34 "\n"
FN_DEF@34..68
FN_KW@34..36 "fn"
R_PAREN@39..40 ")"
WHITESPACE@40..41 " "
BLOCK_EXPR@41..68
- BLOCK@41..68
- L_CURLY@41..42 "{"
- WHITESPACE@42..43 " "
- EXPR_STMT@43..54
- CALL_EXPR@43..54
- PATH_EXPR@43..46
- PATH@43..46
- PATH_SEGMENT@43..46
- NAME_REF@43..46
- IDENT@43..46 "foo"
- ARG_LIST@46..54
- L_PAREN@46..47 "("
- LITERAL@47..48
- INT_NUMBER@47..48 "1"
- COMMA@48..49 ","
- WHITESPACE@49..50 " "
- LITERAL@50..51
- INT_NUMBER@50..51 "2"
- COMMA@51..52 ","
- WHITESPACE@52..53 " "
- ERROR@53..54
- AT@53..54 "@"
- EXPR_STMT@54..55
- ERROR@54..55
- COMMA@54..55 ","
- WHITESPACE@55..56 " "
- IMPL_DEF@56..60
- IMPL_KW@56..60 "impl"
- EXPR_STMT@60..61
- ERROR@60..61
- COMMA@60..61 ","
- WHITESPACE@61..62 " "
- LET_STMT@62..65
- LET_KW@62..65 "let"
- ERROR@65..66
- R_PAREN@65..66 ")"
- WHITESPACE@66..67 " "
- R_CURLY@67..68 "}"
+ L_CURLY@41..42 "{"
+ WHITESPACE@42..43 " "
+ EXPR_STMT@43..54
+ CALL_EXPR@43..54
+ PATH_EXPR@43..46
+ PATH@43..46
+ PATH_SEGMENT@43..46
+ NAME_REF@43..46
+ IDENT@43..46 "foo"
+ ARG_LIST@46..54
+ L_PAREN@46..47 "("
+ LITERAL@47..48
+ INT_NUMBER@47..48 "1"
+ COMMA@48..49 ","
+ WHITESPACE@49..50 " "
+ LITERAL@50..51
+ INT_NUMBER@50..51 "2"
+ COMMA@51..52 ","
+ WHITESPACE@52..53 " "
+ ERROR@53..54
+ AT@53..54 "@"
+ EXPR_STMT@54..55
+ ERROR@54..55
+ COMMA@54..55 ","
+ WHITESPACE@55..56 " "
+ IMPL_DEF@56..60
+ IMPL_KW@56..60 "impl"
+ EXPR_STMT@60..61
+ ERROR@60..61
+ COMMA@60..61 ","
+ WHITESPACE@61..62 " "
+ LET_STMT@62..65
+ LET_KW@62..65 "let"
+ ERROR@65..66
+ R_PAREN@65..66 ")"
+ WHITESPACE@66..67 " "
+ R_CURLY@67..68 "}"
WHITESPACE@68..69 "\n"
FN_DEF@69..111
FN_KW@69..71 "fn"
R_PAREN@74..75 ")"
WHITESPACE@75..76 " "
BLOCK_EXPR@76..111
- BLOCK@76..111
- L_CURLY@76..77 "{"
- WHITESPACE@77..78 " "
- EXPR_STMT@78..93
- METHOD_CALL_EXPR@78..93
- PATH_EXPR@78..81
- PATH@78..81
- PATH_SEGMENT@78..81
- NAME_REF@78..81
- IDENT@78..81 "foo"
- DOT@81..82 "."
- NAME_REF@82..85
- IDENT@82..85 "bar"
- ARG_LIST@85..93
- L_PAREN@85..86 "("
- LITERAL@86..87
- INT_NUMBER@86..87 "1"
- COMMA@87..88 ","
- WHITESPACE@88..89 " "
- LITERAL@89..90
- INT_NUMBER@89..90 "2"
- COMMA@90..91 ","
- WHITESPACE@91..92 " "
- ERROR@92..93
- AT@92..93 "@"
- EXPR_STMT@93..94
- ERROR@93..94
- COMMA@93..94 ","
- WHITESPACE@94..95 " "
- EXPR_STMT@95..96
- ERROR@95..96
- R_BRACK@95..96 "]"
- EXPR_STMT@96..97
- ERROR@96..97
- COMMA@96..97 ","
- WHITESPACE@97..98 " "
- TRAIT_DEF@98..104
- TRAIT_KW@98..103 "trait"
- ERROR@103..104
- COMMA@103..104 ","
- WHITESPACE@104..105 " "
- LET_STMT@105..108
- LET_KW@105..108 "let"
- ERROR@108..109
- R_PAREN@108..109 ")"
- WHITESPACE@109..110 " "
- R_CURLY@110..111 "}"
+ L_CURLY@76..77 "{"
+ WHITESPACE@77..78 " "
+ EXPR_STMT@78..93
+ METHOD_CALL_EXPR@78..93
+ PATH_EXPR@78..81
+ PATH@78..81
+ PATH_SEGMENT@78..81
+ NAME_REF@78..81
+ IDENT@78..81 "foo"
+ DOT@81..82 "."
+ NAME_REF@82..85
+ IDENT@82..85 "bar"
+ ARG_LIST@85..93
+ L_PAREN@85..86 "("
+ LITERAL@86..87
+ INT_NUMBER@86..87 "1"
+ COMMA@87..88 ","
+ WHITESPACE@88..89 " "
+ LITERAL@89..90
+ INT_NUMBER@89..90 "2"
+ COMMA@90..91 ","
+ WHITESPACE@91..92 " "
+ ERROR@92..93
+ AT@92..93 "@"
+ EXPR_STMT@93..94
+ ERROR@93..94
+ COMMA@93..94 ","
+ WHITESPACE@94..95 " "
+ EXPR_STMT@95..96
+ ERROR@95..96
+ R_BRACK@95..96 "]"
+ EXPR_STMT@96..97
+ ERROR@96..97
+ COMMA@96..97 ","
+ WHITESPACE@97..98 " "
+ TRAIT_DEF@98..104
+ TRAIT_KW@98..103 "trait"
+ ERROR@103..104
+ COMMA@103..104 ","
+ WHITESPACE@104..105 " "
+ LET_STMT@105..108
+ LET_KW@105..108 "let"
+ ERROR@108..109
+ R_PAREN@108..109 ")"
+ WHITESPACE@109..110 " "
+ R_CURLY@110..111 "}"
WHITESPACE@111..112 "\n"
error 16..16: expected expression
error 17..17: expected R_BRACK
R_PAREN@8..9 ")"
WHITESPACE@9..10 " "
BLOCK_EXPR@10..55
- BLOCK@10..55
- L_CURLY@10..11 "{"
- WHITESPACE@11..16 "\n "
- MACRO_CALL@16..49
- PATH@16..19
- PATH_SEGMENT@16..19
- NAME_REF@16..19
- IDENT@16..19 "foo"
- BANG@19..20 "!"
- WHITESPACE@20..21 " "
- TOKEN_TREE@21..49
- L_PAREN@21..22 "("
- WHITESPACE@22..31 "\n "
- IDENT@31..34 "bar"
- COMMA@34..35 ","
- WHITESPACE@35..36 " "
- STRING@36..41 "\"baz\""
- COMMA@41..42 ","
- WHITESPACE@42..43 " "
- INT_NUMBER@43..44 "1"
- COMMA@44..45 ","
- WHITESPACE@45..46 " "
- FLOAT_NUMBER@46..49 "2.0"
- WHITESPACE@49..54 "\n "
- R_CURLY@54..55 "}"
+ L_CURLY@10..11 "{"
+ WHITESPACE@11..16 "\n "
+ MACRO_CALL@16..49
+ PATH@16..19
+ PATH_SEGMENT@16..19
+ NAME_REF@16..19
+ IDENT@16..19 "foo"
+ BANG@19..20 "!"
+ WHITESPACE@20..21 " "
+ TOKEN_TREE@21..49
+ L_PAREN@21..22 "("
+ WHITESPACE@22..31 "\n "
+ IDENT@31..34 "bar"
+ COMMA@34..35 ","
+ WHITESPACE@35..36 " "
+ STRING@36..41 "\"baz\""
+ COMMA@41..42 ","
+ WHITESPACE@42..43 " "
+ INT_NUMBER@43..44 "1"
+ COMMA@44..45 ","
+ WHITESPACE@45..46 " "
+ FLOAT_NUMBER@46..49 "2.0"
+ WHITESPACE@49..54 "\n "
+ R_CURLY@54..55 "}"
WHITESPACE@55..56 " "
COMMENT@56..91 "//~ ERROR incorrect c ..."
WHITESPACE@91..92 "\n"
R_PAREN@49..50 ")"
WHITESPACE@50..51 " "
BLOCK_EXPR@51..53
- BLOCK@51..53
- L_CURLY@51..52 "{"
- R_CURLY@52..53 "}"
+ L_CURLY@51..52 "{"
+ R_CURLY@52..53 "}"
WHITESPACE@53..55 "\n\n"
FN_DEF@55..239
FN_KW@55..57 "fn"
R_PAREN@63..64 ")"
WHITESPACE@64..65 " "
BLOCK_EXPR@65..239
- BLOCK@65..239
- L_CURLY@65..66 "{"
- WHITESPACE@66..71 "\n "
- LET_STMT@71..121
- LET_KW@71..74 "let"
- WHITESPACE@74..75 " "
- PLACEHOLDER_PAT@75..76
- UNDERSCORE@75..76 "_"
- COLON@76..77 ":"
- WHITESPACE@77..78 " "
- DYN_TRAIT_TYPE@78..121
- TYPE_BOUND_LIST@78..121
- TYPE_BOUND@78..88
- PATH_TYPE@78..88
- PATH@78..88
- PATH_SEGMENT@78..88
- NAME_REF@78..81
- IDENT@78..81 "Box"
- TYPE_ARG_LIST@81..88
- L_ANGLE@81..82 "<"
- TYPE_ARG@82..88
- PAREN_TYPE@82..88
- L_PAREN@82..83 "("
- PATH_TYPE@83..87
- PATH@83..87
- PATH_SEGMENT@83..87
- NAME_REF@83..87
- IDENT@83..87 "Copy"
- R_PAREN@87..88 ")"
- WHITESPACE@88..89 " "
- PLUS@89..90 "+"
- WHITESPACE@90..91 " "
- TYPE_BOUND@91..99
- L_PAREN@91..92 "("
- QUESTION@92..93 "?"
- PATH_TYPE@93..98
- PATH@93..98
- PATH_SEGMENT@93..98
- NAME_REF@93..98
- IDENT@93..98 "Sized"
- R_PAREN@98..99 ")"
- WHITESPACE@99..100 " "
- PLUS@100..101 "+"
- WHITESPACE@101..102 " "
- TYPE_BOUND@102..121
- L_PAREN@102..103 "("
- FOR_TYPE@103..120
- FOR_KW@103..106 "for"
- TYPE_PARAM_LIST@106..110
- L_ANGLE@106..107 "<"
- LIFETIME_PARAM@107..109
- LIFETIME@107..109 "\'a"
- R_ANGLE@109..110 ">"
- WHITESPACE@110..111 " "
- PATH_TYPE@111..120
- PATH@111..120
- PATH_SEGMENT@111..120
- NAME_REF@111..116
- IDENT@111..116 "Trait"
- TYPE_ARG_LIST@116..120
- L_ANGLE@116..117 "<"
- LIFETIME_ARG@117..119
- LIFETIME@117..119 "\'a"
- R_ANGLE@119..120 ">"
- R_PAREN@120..121 ")"
- EXPR_STMT@121..123
- ERROR@121..122
- R_ANGLE@121..122 ">"
- SEMICOLON@122..123 ";"
- WHITESPACE@123..128 "\n "
- LET_STMT@128..141
- LET_KW@128..131 "let"
- WHITESPACE@131..132 " "
- PLACEHOLDER_PAT@132..133
- UNDERSCORE@132..133 "_"
- COLON@133..134 ":"
- WHITESPACE@134..135 " "
- PATH_TYPE@135..141
- PATH@135..141
- PATH_SEGMENT@135..141
- NAME_REF@135..138
- IDENT@135..138 "Box"
- TYPE_ARG_LIST@138..141
- L_ANGLE@138..139 "<"
- TYPE_ARG@139..141
- PAREN_TYPE@139..141
- L_PAREN@139..140 "("
- ERROR@140..141
- QUESTION@140..141 "?"
- EXPR_STMT@141..146
- PATH_EXPR@141..146
- PATH@141..146
- PATH_SEGMENT@141..146
- NAME_REF@141..146
- IDENT@141..146 "Sized"
- EXPR_STMT@146..147
- ERROR@146..147
- R_PAREN@146..147 ")"
- WHITESPACE@147..148 " "
- EXPR_STMT@148..149
- ERROR@148..149
- PLUS@148..149 "+"
- WHITESPACE@149..150 " "
- EXPR_STMT@150..180
- TUPLE_EXPR@150..180
- L_PAREN@150..151 "("
- BIN_EXPR@151..180
- BIN_EXPR@151..178
- BIN_EXPR@151..169
- BIN_EXPR@151..167
- BIN_EXPR@151..164
- FOR_EXPR@151..157
- FOR_KW@151..154 "for"
- ERROR@154..155
- L_ANGLE@154..155 "<"
- ERROR@155..157
- LIFETIME@155..157 "\'a"
- R_ANGLE@157..158 ">"
- WHITESPACE@158..159 " "
- PATH_EXPR@159..164
- PATH@159..164
- PATH_SEGMENT@159..164
- NAME_REF@159..164
- IDENT@159..164 "Trait"
- L_ANGLE@164..165 "<"
- ERROR@165..167
- LIFETIME@165..167 "\'a"
- R_ANGLE@167..168 ">"
- ERROR@168..169
- R_PAREN@168..169 ")"
- WHITESPACE@169..170 " "
- PLUS@170..171 "+"
- WHITESPACE@171..172 " "
- PAREN_EXPR@172..178
- L_PAREN@172..173 "("
- PATH_EXPR@173..177
- PATH@173..177
- PATH_SEGMENT@173..177
- NAME_REF@173..177
- IDENT@173..177 "Copy"
- R_PAREN@177..178 ")"
- R_ANGLE@178..179 ">"
- ERROR@179..180
- SEMICOLON@179..180 ";"
- WHITESPACE@180..185 "\n "
- LET_STMT@185..235
- LET_KW@185..188 "let"
- WHITESPACE@188..189 " "
- PLACEHOLDER_PAT@189..190
- UNDERSCORE@189..190 "_"
- COLON@190..191 ":"
- WHITESPACE@191..192 " "
- DYN_TRAIT_TYPE@192..235
- TYPE_BOUND_LIST@192..235
- TYPE_BOUND@192..215
- PATH_TYPE@192..215
- PATH@192..215
- PATH_SEGMENT@192..215
- NAME_REF@192..195
- IDENT@192..195 "Box"
- TYPE_ARG_LIST@195..215
- L_ANGLE@195..196 "<"
- TYPE_ARG@196..215
- PAREN_TYPE@196..215
- L_PAREN@196..197 "("
- FOR_TYPE@197..214
- FOR_KW@197..200 "for"
- TYPE_PARAM_LIST@200..204
- L_ANGLE@200..201 "<"
- LIFETIME_PARAM@201..203
- LIFETIME@201..203 "\'a"
- R_ANGLE@203..204 ">"
- WHITESPACE@204..205 " "
- PATH_TYPE@205..214
- PATH@205..214
- PATH_SEGMENT@205..214
- NAME_REF@205..210
- IDENT@205..210 "Trait"
- TYPE_ARG_LIST@210..214
- L_ANGLE@210..211 "<"
- LIFETIME_ARG@211..213
- LIFETIME@211..213 "\'a"
- R_ANGLE@213..214 ">"
- R_PAREN@214..215 ")"
- WHITESPACE@215..216 " "
- PLUS@216..217 "+"
- WHITESPACE@217..218 " "
- TYPE_BOUND@218..224
- L_PAREN@218..219 "("
- PATH_TYPE@219..223
- PATH@219..223
- PATH_SEGMENT@219..223
- NAME_REF@219..223
- IDENT@219..223 "Copy"
- R_PAREN@223..224 ")"
- WHITESPACE@224..225 " "
- PLUS@225..226 "+"
- WHITESPACE@226..227 " "
- TYPE_BOUND@227..235
- L_PAREN@227..228 "("
- QUESTION@228..229 "?"
- PATH_TYPE@229..234
- PATH@229..234
- PATH_SEGMENT@229..234
- NAME_REF@229..234
- IDENT@229..234 "Sized"
- R_PAREN@234..235 ")"
- EXPR_STMT@235..237
- ERROR@235..236
- R_ANGLE@235..236 ">"
- SEMICOLON@236..237 ";"
- WHITESPACE@237..238 "\n"
- R_CURLY@238..239 "}"
+ L_CURLY@65..66 "{"
+ WHITESPACE@66..71 "\n "
+ LET_STMT@71..121
+ LET_KW@71..74 "let"
+ WHITESPACE@74..75 " "
+ PLACEHOLDER_PAT@75..76
+ UNDERSCORE@75..76 "_"
+ COLON@76..77 ":"
+ WHITESPACE@77..78 " "
+ DYN_TRAIT_TYPE@78..121
+ TYPE_BOUND_LIST@78..121
+ TYPE_BOUND@78..88
+ PATH_TYPE@78..88
+ PATH@78..88
+ PATH_SEGMENT@78..88
+ NAME_REF@78..81
+ IDENT@78..81 "Box"
+ TYPE_ARG_LIST@81..88
+ L_ANGLE@81..82 "<"
+ TYPE_ARG@82..88
+ PAREN_TYPE@82..88
+ L_PAREN@82..83 "("
+ PATH_TYPE@83..87
+ PATH@83..87
+ PATH_SEGMENT@83..87
+ NAME_REF@83..87
+ IDENT@83..87 "Copy"
+ R_PAREN@87..88 ")"
+ WHITESPACE@88..89 " "
+ PLUS@89..90 "+"
+ WHITESPACE@90..91 " "
+ TYPE_BOUND@91..99
+ L_PAREN@91..92 "("
+ QUESTION@92..93 "?"
+ PATH_TYPE@93..98
+ PATH@93..98
+ PATH_SEGMENT@93..98
+ NAME_REF@93..98
+ IDENT@93..98 "Sized"
+ R_PAREN@98..99 ")"
+ WHITESPACE@99..100 " "
+ PLUS@100..101 "+"
+ WHITESPACE@101..102 " "
+ TYPE_BOUND@102..121
+ L_PAREN@102..103 "("
+ FOR_TYPE@103..120
+ FOR_KW@103..106 "for"
+ TYPE_PARAM_LIST@106..110
+ L_ANGLE@106..107 "<"
+ LIFETIME_PARAM@107..109
+ LIFETIME@107..109 "\'a"
+ R_ANGLE@109..110 ">"
+ WHITESPACE@110..111 " "
+ PATH_TYPE@111..120
+ PATH@111..120
+ PATH_SEGMENT@111..120
+ NAME_REF@111..116
+ IDENT@111..116 "Trait"
+ TYPE_ARG_LIST@116..120
+ L_ANGLE@116..117 "<"
+ LIFETIME_ARG@117..119
+ LIFETIME@117..119 "\'a"
+ R_ANGLE@119..120 ">"
+ R_PAREN@120..121 ")"
+ EXPR_STMT@121..123
+ ERROR@121..122
+ R_ANGLE@121..122 ">"
+ SEMICOLON@122..123 ";"
+ WHITESPACE@123..128 "\n "
+ LET_STMT@128..141
+ LET_KW@128..131 "let"
+ WHITESPACE@131..132 " "
+ PLACEHOLDER_PAT@132..133
+ UNDERSCORE@132..133 "_"
+ COLON@133..134 ":"
+ WHITESPACE@134..135 " "
+ PATH_TYPE@135..141
+ PATH@135..141
+ PATH_SEGMENT@135..141
+ NAME_REF@135..138
+ IDENT@135..138 "Box"
+ TYPE_ARG_LIST@138..141
+ L_ANGLE@138..139 "<"
+ TYPE_ARG@139..141
+ PAREN_TYPE@139..141
+ L_PAREN@139..140 "("
+ ERROR@140..141
+ QUESTION@140..141 "?"
+ EXPR_STMT@141..146
+ PATH_EXPR@141..146
+ PATH@141..146
+ PATH_SEGMENT@141..146
+ NAME_REF@141..146
+ IDENT@141..146 "Sized"
+ EXPR_STMT@146..147
+ ERROR@146..147
+ R_PAREN@146..147 ")"
+ WHITESPACE@147..148 " "
+ EXPR_STMT@148..149
+ ERROR@148..149
+ PLUS@148..149 "+"
+ WHITESPACE@149..150 " "
+ EXPR_STMT@150..180
+ TUPLE_EXPR@150..180
+ L_PAREN@150..151 "("
+ BIN_EXPR@151..180
+ BIN_EXPR@151..178
+ BIN_EXPR@151..169
+ BIN_EXPR@151..167
+ BIN_EXPR@151..164
+ FOR_EXPR@151..157
+ FOR_KW@151..154 "for"
+ ERROR@154..155
+ L_ANGLE@154..155 "<"
+ ERROR@155..157
+ LIFETIME@155..157 "\'a"
+ R_ANGLE@157..158 ">"
+ WHITESPACE@158..159 " "
+ PATH_EXPR@159..164
+ PATH@159..164
+ PATH_SEGMENT@159..164
+ NAME_REF@159..164
+ IDENT@159..164 "Trait"
+ L_ANGLE@164..165 "<"
+ ERROR@165..167
+ LIFETIME@165..167 "\'a"
+ R_ANGLE@167..168 ">"
+ ERROR@168..169
+ R_PAREN@168..169 ")"
+ WHITESPACE@169..170 " "
+ PLUS@170..171 "+"
+ WHITESPACE@171..172 " "
+ PAREN_EXPR@172..178
+ L_PAREN@172..173 "("
+ PATH_EXPR@173..177
+ PATH@173..177
+ PATH_SEGMENT@173..177
+ NAME_REF@173..177
+ IDENT@173..177 "Copy"
+ R_PAREN@177..178 ")"
+ R_ANGLE@178..179 ">"
+ ERROR@179..180
+ SEMICOLON@179..180 ";"
+ WHITESPACE@180..185 "\n "
+ LET_STMT@185..235
+ LET_KW@185..188 "let"
+ WHITESPACE@188..189 " "
+ PLACEHOLDER_PAT@189..190
+ UNDERSCORE@189..190 "_"
+ COLON@190..191 ":"
+ WHITESPACE@191..192 " "
+ DYN_TRAIT_TYPE@192..235
+ TYPE_BOUND_LIST@192..235
+ TYPE_BOUND@192..215
+ PATH_TYPE@192..215
+ PATH@192..215
+ PATH_SEGMENT@192..215
+ NAME_REF@192..195
+ IDENT@192..195 "Box"
+ TYPE_ARG_LIST@195..215
+ L_ANGLE@195..196 "<"
+ TYPE_ARG@196..215
+ PAREN_TYPE@196..215
+ L_PAREN@196..197 "("
+ FOR_TYPE@197..214
+ FOR_KW@197..200 "for"
+ TYPE_PARAM_LIST@200..204
+ L_ANGLE@200..201 "<"
+ LIFETIME_PARAM@201..203
+ LIFETIME@201..203 "\'a"
+ R_ANGLE@203..204 ">"
+ WHITESPACE@204..205 " "
+ PATH_TYPE@205..214
+ PATH@205..214
+ PATH_SEGMENT@205..214
+ NAME_REF@205..210
+ IDENT@205..210 "Trait"
+ TYPE_ARG_LIST@210..214
+ L_ANGLE@210..211 "<"
+ LIFETIME_ARG@211..213
+ LIFETIME@211..213 "\'a"
+ R_ANGLE@213..214 ">"
+ R_PAREN@214..215 ")"
+ WHITESPACE@215..216 " "
+ PLUS@216..217 "+"
+ WHITESPACE@217..218 " "
+ TYPE_BOUND@218..224
+ L_PAREN@218..219 "("
+ PATH_TYPE@219..223
+ PATH@219..223
+ PATH_SEGMENT@219..223
+ NAME_REF@219..223
+ IDENT@219..223 "Copy"
+ R_PAREN@223..224 ")"
+ WHITESPACE@224..225 " "
+ PLUS@225..226 "+"
+ WHITESPACE@226..227 " "
+ TYPE_BOUND@227..235
+ L_PAREN@227..228 "("
+ QUESTION@228..229 "?"
+ PATH_TYPE@229..234
+ PATH@229..234
+ PATH_SEGMENT@229..234
+ NAME_REF@229..234
+ IDENT@229..234 "Sized"
+ R_PAREN@234..235 ")"
+ EXPR_STMT@235..237
+ ERROR@235..236
+ R_ANGLE@235..236 ">"
+ SEMICOLON@236..237 ";"
+ WHITESPACE@237..238 "\n"
+ R_CURLY@238..239 "}"
WHITESPACE@239..240 "\n"
error 88..88: expected COMMA
error 88..88: expected R_ANGLE
R_PAREN@8..9 ")"
WHITESPACE@9..10 " "
BLOCK_EXPR@10..574
- BLOCK@10..574
- L_CURLY@10..11 "{"
- WHITESPACE@11..16 "\n "
- ENUM_DEF@16..152
- ENUM_KW@16..20 "enum"
- WHITESPACE@20..21 " "
- NAME@21..25
- IDENT@21..25 "Test"
- WHITESPACE@25..26 " "
- ENUM_VARIANT_LIST@26..152
- L_CURLY@26..27 "{"
- WHITESPACE@27..36 "\n "
- ENUM_VARIANT@36..40
- NAME@36..40
- IDENT@36..40 "Var1"
- COMMA@40..41 ","
- WHITESPACE@41..50 "\n "
- ENUM_VARIANT@50..62
- NAME@50..54
- IDENT@50..54 "Var2"
- TUPLE_FIELD_DEF_LIST@54..62
- L_PAREN@54..55 "("
- TUPLE_FIELD_DEF@55..61
- PATH_TYPE@55..61
- PATH@55..61
- PATH_SEGMENT@55..61
- NAME_REF@55..61
- IDENT@55..61 "String"
- R_PAREN@61..62 ")"
- COMMA@62..63 ","
- WHITESPACE@63..72 "\n "
- ENUM_VARIANT@72..145
- NAME@72..76
- IDENT@72..76 "Var3"
- WHITESPACE@76..77 " "
- RECORD_FIELD_DEF_LIST@77..145
- L_CURLY@77..78 "{"
- WHITESPACE@78..91 "\n "
- RECORD_FIELD_DEF@91..95
- NAME@91..94
- IDENT@91..94 "abc"
- COLON@94..95 ":"
- WHITESPACE@95..96 " "
- ERROR@96..98
- L_CURLY@96..97 "{"
- R_CURLY@97..98 "}"
- ERROR@98..99
- COMMA@98..99 ","
- WHITESPACE@99..100 " "
- COMMENT@100..135 "//~ ERROR: expected t ..."
- WHITESPACE@135..144 "\n "
- R_CURLY@144..145 "}"
- COMMA@145..146 ","
- WHITESPACE@146..151 "\n "
- R_CURLY@151..152 "}"
- WHITESPACE@152..158 "\n\n "
- COMMENT@158..171 "// recover..."
- WHITESPACE@171..176 "\n "
- LET_STMT@176..186
- LET_KW@176..179 "let"
- WHITESPACE@179..180 " "
- BIND_PAT@180..181
- NAME@180..181
- IDENT@180..181 "a"
- WHITESPACE@181..182 " "
- EQ@182..183 "="
- WHITESPACE@183..184 " "
- LITERAL@184..185
- INT_NUMBER@184..185 "1"
- SEMICOLON@185..186 ";"
- WHITESPACE@186..191 "\n "
- ENUM_DEF@191..223
- ENUM_KW@191..195 "enum"
- WHITESPACE@195..196 " "
- NAME@196..201
- IDENT@196..201 "Test2"
- WHITESPACE@201..202 " "
- ENUM_VARIANT_LIST@202..223
- L_CURLY@202..203 "{"
- WHITESPACE@203..212 "\n "
- ENUM_VARIANT@212..216
- NAME@212..216
- IDENT@212..216 "Fine"
- COMMA@216..217 ","
- WHITESPACE@217..222 "\n "
- R_CURLY@222..223 "}"
- WHITESPACE@223..229 "\n\n "
- ENUM_DEF@229..300
- ENUM_KW@229..233 "enum"
- WHITESPACE@233..234 " "
- NAME@234..239
- IDENT@234..239 "Test3"
- WHITESPACE@239..240 " "
- ENUM_VARIANT_LIST@240..300
- L_CURLY@240..241 "{"
- WHITESPACE@241..250 "\n "
- ENUM_VARIANT@250..293
- NAME@250..259
- IDENT@250..259 "StillFine"
- WHITESPACE@259..260 " "
- RECORD_FIELD_DEF_LIST@260..293
- L_CURLY@260..261 "{"
- WHITESPACE@261..274 "\n "
- RECORD_FIELD_DEF@274..282
- NAME@274..277
- IDENT@274..277 "def"
- COLON@277..278 ":"
- WHITESPACE@278..279 " "
- PATH_TYPE@279..282
- PATH@279..282
- PATH_SEGMENT@279..282
- NAME_REF@279..282
- IDENT@279..282 "i32"
- COMMA@282..283 ","
- WHITESPACE@283..292 "\n "
- R_CURLY@292..293 "}"
- COMMA@293..294 ","
- WHITESPACE@294..299 "\n "
- R_CURLY@299..300 "}"
- WHITESPACE@300..306 "\n\n "
- EXPR_STMT@306..459
- BLOCK_EXPR@306..459
- BLOCK@306..459
- L_CURLY@306..307 "{"
- WHITESPACE@307..316 "\n "
- ENUM_DEF@316..453
- COMMENT@316..329 "// fail again"
- WHITESPACE@329..338 "\n "
- ENUM_KW@338..342 "enum"
- WHITESPACE@342..343 " "
- NAME@343..348
- IDENT@343..348 "Test4"
- WHITESPACE@348..349 " "
- ENUM_VARIANT_LIST@349..453
- L_CURLY@349..350 "{"
- WHITESPACE@350..363 "\n "
- ENUM_VARIANT@363..372
- NAME@363..367
- IDENT@363..367 "Nope"
- TUPLE_FIELD_DEF_LIST@367..372
- L_PAREN@367..368 "("
- TUPLE_FIELD_DEF@368..371
- PATH_TYPE@368..371
- PATH@368..371
- PATH_SEGMENT@368..371
- NAME_REF@368..371
- IDENT@368..371 "i32"
- WHITESPACE@371..372 " "
- ERROR@372..372
- ERROR@372..374
- L_CURLY@372..373 "{"
- R_CURLY@373..374 "}"
- ERROR@374..375
- R_PAREN@374..375 ")"
- WHITESPACE@375..376 " "
- COMMENT@376..396 "//~ ERROR: found `{`"
- WHITESPACE@396..422 "\n ..."
- COMMENT@422..443 "//~^ ERROR: found `{`"
- WHITESPACE@443..452 "\n "
- R_CURLY@452..453 "}"
- WHITESPACE@453..458 "\n "
- R_CURLY@458..459 "}"
- WHITESPACE@459..464 "\n "
- COMMENT@464..486 "// still recover later"
- WHITESPACE@486..491 "\n "
- LET_STMT@491..510
- LET_KW@491..494 "let"
- WHITESPACE@494..495 " "
- BIND_PAT@495..505
- NAME@495..505
- IDENT@495..505 "bad_syntax"
- WHITESPACE@505..506 " "
- EQ@506..507 "="
- WHITESPACE@507..508 " "
- ERROR@508..509
- UNDERSCORE@508..509 "_"
- SEMICOLON@509..510 ";"
- WHITESPACE@510..511 " "
- COMMENT@511..572 "//~ ERROR: expected e ..."
- WHITESPACE@572..573 "\n"
- R_CURLY@573..574 "}"
+ L_CURLY@10..11 "{"
+ WHITESPACE@11..16 "\n "
+ ENUM_DEF@16..152
+ ENUM_KW@16..20 "enum"
+ WHITESPACE@20..21 " "
+ NAME@21..25
+ IDENT@21..25 "Test"
+ WHITESPACE@25..26 " "
+ ENUM_VARIANT_LIST@26..152
+ L_CURLY@26..27 "{"
+ WHITESPACE@27..36 "\n "
+ ENUM_VARIANT@36..40
+ NAME@36..40
+ IDENT@36..40 "Var1"
+ COMMA@40..41 ","
+ WHITESPACE@41..50 "\n "
+ ENUM_VARIANT@50..62
+ NAME@50..54
+ IDENT@50..54 "Var2"
+ TUPLE_FIELD_DEF_LIST@54..62
+ L_PAREN@54..55 "("
+ TUPLE_FIELD_DEF@55..61
+ PATH_TYPE@55..61
+ PATH@55..61
+ PATH_SEGMENT@55..61
+ NAME_REF@55..61
+ IDENT@55..61 "String"
+ R_PAREN@61..62 ")"
+ COMMA@62..63 ","
+ WHITESPACE@63..72 "\n "
+ ENUM_VARIANT@72..145
+ NAME@72..76
+ IDENT@72..76 "Var3"
+ WHITESPACE@76..77 " "
+ RECORD_FIELD_DEF_LIST@77..145
+ L_CURLY@77..78 "{"
+ WHITESPACE@78..91 "\n "
+ RECORD_FIELD_DEF@91..95
+ NAME@91..94
+ IDENT@91..94 "abc"
+ COLON@94..95 ":"
+ WHITESPACE@95..96 " "
+ ERROR@96..98
+ L_CURLY@96..97 "{"
+ R_CURLY@97..98 "}"
+ ERROR@98..99
+ COMMA@98..99 ","
+ WHITESPACE@99..100 " "
+ COMMENT@100..135 "//~ ERROR: expected t ..."
+ WHITESPACE@135..144 "\n "
+ R_CURLY@144..145 "}"
+ COMMA@145..146 ","
+ WHITESPACE@146..151 "\n "
+ R_CURLY@151..152 "}"
+ WHITESPACE@152..158 "\n\n "
+ COMMENT@158..171 "// recover..."
+ WHITESPACE@171..176 "\n "
+ LET_STMT@176..186
+ LET_KW@176..179 "let"
+ WHITESPACE@179..180 " "
+ BIND_PAT@180..181
+ NAME@180..181
+ IDENT@180..181 "a"
+ WHITESPACE@181..182 " "
+ EQ@182..183 "="
+ WHITESPACE@183..184 " "
+ LITERAL@184..185
+ INT_NUMBER@184..185 "1"
+ SEMICOLON@185..186 ";"
+ WHITESPACE@186..191 "\n "
+ ENUM_DEF@191..223
+ ENUM_KW@191..195 "enum"
+ WHITESPACE@195..196 " "
+ NAME@196..201
+ IDENT@196..201 "Test2"
+ WHITESPACE@201..202 " "
+ ENUM_VARIANT_LIST@202..223
+ L_CURLY@202..203 "{"
+ WHITESPACE@203..212 "\n "
+ ENUM_VARIANT@212..216
+ NAME@212..216
+ IDENT@212..216 "Fine"
+ COMMA@216..217 ","
+ WHITESPACE@217..222 "\n "
+ R_CURLY@222..223 "}"
+ WHITESPACE@223..229 "\n\n "
+ ENUM_DEF@229..300
+ ENUM_KW@229..233 "enum"
+ WHITESPACE@233..234 " "
+ NAME@234..239
+ IDENT@234..239 "Test3"
+ WHITESPACE@239..240 " "
+ ENUM_VARIANT_LIST@240..300
+ L_CURLY@240..241 "{"
+ WHITESPACE@241..250 "\n "
+ ENUM_VARIANT@250..293
+ NAME@250..259
+ IDENT@250..259 "StillFine"
+ WHITESPACE@259..260 " "
+ RECORD_FIELD_DEF_LIST@260..293
+ L_CURLY@260..261 "{"
+ WHITESPACE@261..274 "\n "
+ RECORD_FIELD_DEF@274..282
+ NAME@274..277
+ IDENT@274..277 "def"
+ COLON@277..278 ":"
+ WHITESPACE@278..279 " "
+ PATH_TYPE@279..282
+ PATH@279..282
+ PATH_SEGMENT@279..282
+ NAME_REF@279..282
+ IDENT@279..282 "i32"
+ COMMA@282..283 ","
+ WHITESPACE@283..292 "\n "
+ R_CURLY@292..293 "}"
+ COMMA@293..294 ","
+ WHITESPACE@294..299 "\n "
+ R_CURLY@299..300 "}"
+ WHITESPACE@300..306 "\n\n "
+ EXPR_STMT@306..459
+ BLOCK_EXPR@306..459
+ L_CURLY@306..307 "{"
+ WHITESPACE@307..316 "\n "
+ ENUM_DEF@316..453
+ COMMENT@316..329 "// fail again"
+ WHITESPACE@329..338 "\n "
+ ENUM_KW@338..342 "enum"
+ WHITESPACE@342..343 " "
+ NAME@343..348
+ IDENT@343..348 "Test4"
+ WHITESPACE@348..349 " "
+ ENUM_VARIANT_LIST@349..453
+ L_CURLY@349..350 "{"
+ WHITESPACE@350..363 "\n "
+ ENUM_VARIANT@363..372
+ NAME@363..367
+ IDENT@363..367 "Nope"
+ TUPLE_FIELD_DEF_LIST@367..372
+ L_PAREN@367..368 "("
+ TUPLE_FIELD_DEF@368..371
+ PATH_TYPE@368..371
+ PATH@368..371
+ PATH_SEGMENT@368..371
+ NAME_REF@368..371
+ IDENT@368..371 "i32"
+ WHITESPACE@371..372 " "
+ ERROR@372..372
+ ERROR@372..374
+ L_CURLY@372..373 "{"
+ R_CURLY@373..374 "}"
+ ERROR@374..375
+ R_PAREN@374..375 ")"
+ WHITESPACE@375..376 " "
+ COMMENT@376..396 "//~ ERROR: found `{`"
+ WHITESPACE@396..422 "\n ..."
+ COMMENT@422..443 "//~^ ERROR: found `{`"
+ WHITESPACE@443..452 "\n "
+ R_CURLY@452..453 "}"
+ WHITESPACE@453..458 "\n "
+ R_CURLY@458..459 "}"
+ WHITESPACE@459..464 "\n "
+ COMMENT@464..486 "// still recover later"
+ WHITESPACE@486..491 "\n "
+ LET_STMT@491..510
+ LET_KW@491..494 "let"
+ WHITESPACE@494..495 " "
+ BIND_PAT@495..505
+ NAME@495..505
+ IDENT@495..505 "bad_syntax"
+ WHITESPACE@505..506 " "
+ EQ@506..507 "="
+ WHITESPACE@507..508 " "
+ ERROR@508..509
+ UNDERSCORE@508..509 "_"
+ SEMICOLON@509..510 ";"
+ WHITESPACE@510..511 " "
+ COMMENT@511..572 "//~ ERROR: expected e ..."
+ WHITESPACE@572..573 "\n"
+ R_CURLY@573..574 "}"
WHITESPACE@574..575 "\n"
error 95..95: expected type
error 95..95: expected COMMA
R_ANGLE@25..26 ">"
WHITESPACE@26..27 "\n"
BLOCK_EXPR@27..29
- BLOCK@27..29
- L_CURLY@27..28 "{"
- R_CURLY@28..29 "}"
+ L_CURLY@27..28 "{"
+ R_CURLY@28..29 "}"
WHITESPACE@29..30 "\n"
error 26..26: expected a path
error 26..26: expected colon
R_PAREN@11..12 ")"
WHITESPACE@12..13 " "
BLOCK_EXPR@13..23
- BLOCK@13..23
- L_CURLY@13..14 "{"
- WHITESPACE@14..19 "\n "
- FIELD_EXPR@19..21
- PATH_EXPR@19..20
- PATH@19..20
- PATH_SEGMENT@19..20
- NAME_REF@19..20
- IDENT@19..20 "a"
- DOT@20..21 "."
- WHITESPACE@21..22 "\n"
- R_CURLY@22..23 "}"
+ L_CURLY@13..14 "{"
+ WHITESPACE@14..19 "\n "
+ FIELD_EXPR@19..21
+ PATH_EXPR@19..20
+ PATH@19..20
+ PATH_SEGMENT@19..20
+ NAME_REF@19..20
+ IDENT@19..20 "a"
+ DOT@20..21 "."
+ WHITESPACE@21..22 "\n"
+ R_CURLY@22..23 "}"
WHITESPACE@23..24 "\n"
error 21..21: expected field name or number
R_PAREN@9..10 ")"
WHITESPACE@10..11 " "
BLOCK_EXPR@11..349
- BLOCK@11..349
- L_CURLY@11..12 "{"
- WHITESPACE@12..17 "\n "
- LET_STMT@17..129
- LET_KW@17..20 "let"
- WHITESPACE@20..21 " "
- BIND_PAT@21..26
- NAME@21..26
- IDENT@21..26 "inner"
- WHITESPACE@26..27 " "
- EQ@27..28 "="
- WHITESPACE@28..29 " "
- BLOCK_EXPR@29..128
- BLOCK@29..128
- L_CURLY@29..30 "{"
- WHITESPACE@30..39 "\n "
- ATTR@39..83
- POUND@39..40 "#"
- BANG@40..41 "!"
- L_BRACK@41..42 "["
- PATH@42..45
- PATH_SEGMENT@42..45
- NAME_REF@42..45
- IDENT@42..45 "doc"
- TOKEN_TREE@45..82
- L_PAREN@45..46 "("
- STRING@46..81 "\"Inner attributes not ..."
- R_PAREN@81..82 ")"
- R_BRACK@82..83 "]"
- WHITESPACE@83..92 "\n "
- COMMENT@92..122 "//! Nor are ModuleDoc ..."
- WHITESPACE@122..127 "\n "
- R_CURLY@127..128 "}"
- SEMICOLON@128..129 ";"
- WHITESPACE@129..134 "\n "
- EXPR_STMT@134..257
- IF_EXPR@134..257
- IF_KW@134..136 "if"
- WHITESPACE@136..137 " "
- CONDITION@137..141
- LITERAL@137..141
- TRUE_KW@137..141 "true"
- WHITESPACE@141..142 " "
- BLOCK_EXPR@142..257
- BLOCK@142..257
- L_CURLY@142..143 "{"
- WHITESPACE@143..152 "\n "
- ATTR@152..171
- POUND@152..153 "#"
- BANG@153..154 "!"
- L_BRACK@154..155 "["
- PATH@155..158
- PATH_SEGMENT@155..158
- NAME_REF@155..158
- IDENT@155..158 "doc"
- TOKEN_TREE@158..170
- L_PAREN@158..159 "("
- STRING@159..169 "\"Nor here\""
- R_PAREN@169..170 ")"
- R_BRACK@170..171 "]"
- WHITESPACE@171..180 "\n "
- ATTR@180..212
- POUND@180..181 "#"
- BANG@181..182 "!"
- L_BRACK@182..183 "["
- PATH@183..186
- PATH_SEGMENT@183..186
- NAME_REF@183..186
- IDENT@183..186 "doc"
- TOKEN_TREE@186..211
- L_PAREN@186..187 "("
- STRING@187..210 "\"We error on each attr\""
- R_PAREN@210..211 ")"
- R_BRACK@211..212 "]"
- WHITESPACE@212..221 "\n "
- COMMENT@221..251 "//! Nor are ModuleDoc ..."
- WHITESPACE@251..256 "\n "
- R_CURLY@256..257 "}"
- WHITESPACE@257..262 "\n "
- WHILE_EXPR@262..347
- WHILE_KW@262..267 "while"
- WHITESPACE@267..268 " "
- CONDITION@268..272
- LITERAL@268..272
- TRUE_KW@268..272 "true"
- WHITESPACE@272..273 " "
- BLOCK_EXPR@273..347
- BLOCK@273..347
- L_CURLY@273..274 "{"
- WHITESPACE@274..283 "\n "
- ATTR@283..302
- POUND@283..284 "#"
- BANG@284..285 "!"
- L_BRACK@285..286 "["
- PATH@286..289
- PATH_SEGMENT@286..289
- NAME_REF@286..289
- IDENT@286..289 "doc"
- TOKEN_TREE@289..301
- L_PAREN@289..290 "("
- STRING@290..300 "\"Nor here\""
- R_PAREN@300..301 ")"
- R_BRACK@301..302 "]"
- WHITESPACE@302..311 "\n "
- COMMENT@311..341 "//! Nor are ModuleDoc ..."
- WHITESPACE@341..346 "\n "
- R_CURLY@346..347 "}"
- WHITESPACE@347..348 "\n"
- R_CURLY@348..349 "}"
+ L_CURLY@11..12 "{"
+ WHITESPACE@12..17 "\n "
+ LET_STMT@17..129
+ LET_KW@17..20 "let"
+ WHITESPACE@20..21 " "
+ BIND_PAT@21..26
+ NAME@21..26
+ IDENT@21..26 "inner"
+ WHITESPACE@26..27 " "
+ EQ@27..28 "="
+ WHITESPACE@28..29 " "
+ BLOCK_EXPR@29..128
+ L_CURLY@29..30 "{"
+ WHITESPACE@30..39 "\n "
+ ATTR@39..83
+ POUND@39..40 "#"
+ BANG@40..41 "!"
+ L_BRACK@41..42 "["
+ PATH@42..45
+ PATH_SEGMENT@42..45
+ NAME_REF@42..45
+ IDENT@42..45 "doc"
+ TOKEN_TREE@45..82
+ L_PAREN@45..46 "("
+ STRING@46..81 "\"Inner attributes not ..."
+ R_PAREN@81..82 ")"
+ R_BRACK@82..83 "]"
+ WHITESPACE@83..92 "\n "
+ COMMENT@92..122 "//! Nor are ModuleDoc ..."
+ WHITESPACE@122..127 "\n "
+ R_CURLY@127..128 "}"
+ SEMICOLON@128..129 ";"
+ WHITESPACE@129..134 "\n "
+ EXPR_STMT@134..257
+ IF_EXPR@134..257
+ IF_KW@134..136 "if"
+ WHITESPACE@136..137 " "
+ CONDITION@137..141
+ LITERAL@137..141
+ TRUE_KW@137..141 "true"
+ WHITESPACE@141..142 " "
+ BLOCK_EXPR@142..257
+ L_CURLY@142..143 "{"
+ WHITESPACE@143..152 "\n "
+ ATTR@152..171
+ POUND@152..153 "#"
+ BANG@153..154 "!"
+ L_BRACK@154..155 "["
+ PATH@155..158
+ PATH_SEGMENT@155..158
+ NAME_REF@155..158
+ IDENT@155..158 "doc"
+ TOKEN_TREE@158..170
+ L_PAREN@158..159 "("
+ STRING@159..169 "\"Nor here\""
+ R_PAREN@169..170 ")"
+ R_BRACK@170..171 "]"
+ WHITESPACE@171..180 "\n "
+ ATTR@180..212
+ POUND@180..181 "#"
+ BANG@181..182 "!"
+ L_BRACK@182..183 "["
+ PATH@183..186
+ PATH_SEGMENT@183..186
+ NAME_REF@183..186
+ IDENT@183..186 "doc"
+ TOKEN_TREE@186..211
+ L_PAREN@186..187 "("
+ STRING@187..210 "\"We error on each attr\""
+ R_PAREN@210..211 ")"
+ R_BRACK@211..212 "]"
+ WHITESPACE@212..221 "\n "
+ COMMENT@221..251 "//! Nor are ModuleDoc ..."
+ WHITESPACE@251..256 "\n "
+ R_CURLY@256..257 "}"
+ WHITESPACE@257..262 "\n "
+ WHILE_EXPR@262..347
+ WHILE_KW@262..267 "while"
+ WHITESPACE@267..268 " "
+ CONDITION@268..272
+ LITERAL@268..272
+ TRUE_KW@268..272 "true"
+ WHITESPACE@272..273 " "
+ BLOCK_EXPR@273..347
+ L_CURLY@273..274 "{"
+ WHITESPACE@274..283 "\n "
+ ATTR@283..302
+ POUND@283..284 "#"
+ BANG@284..285 "!"
+ L_BRACK@285..286 "["
+ PATH@286..289
+ PATH_SEGMENT@286..289
+ NAME_REF@286..289
+ IDENT@286..289 "doc"
+ TOKEN_TREE@289..301
+ L_PAREN@289..290 "("
+ STRING@290..300 "\"Nor here\""
+ R_PAREN@300..301 ")"
+ R_BRACK@301..302 "]"
+ WHITESPACE@302..311 "\n "
+ COMMENT@311..341 "//! Nor are ModuleDoc ..."
+ WHITESPACE@341..346 "\n "
+ R_CURLY@346..347 "}"
+ WHITESPACE@347..348 "\n"
+ R_CURLY@348..349 "}"
WHITESPACE@349..350 "\n"
error 39..83: A block in this position cannot accept inner attributes
error 152..171: A block in this position cannot accept inner attributes
R_PAREN@7..8 ")"
WHITESPACE@8..9 " "
BLOCK_EXPR@9..292
- BLOCK@9..292
- L_CURLY@9..10 "{"
- WHITESPACE@10..15 "\n "
- EXPR_STMT@15..101
- MATCH_EXPR@15..101
- MATCH_KW@15..20 "match"
- WHITESPACE@20..21 " "
- TUPLE_EXPR@21..23
- L_PAREN@21..22 "("
- R_PAREN@22..23 ")"
- WHITESPACE@23..24 " "
- MATCH_ARM_LIST@24..101
- L_CURLY@24..25 "{"
- WHITESPACE@25..34 "\n "
- MATCH_ARM@34..41
- PLACEHOLDER_PAT@34..35
- UNDERSCORE@34..35 "_"
- WHITESPACE@35..36 " "
- FAT_ARROW@36..38 "=>"
- WHITESPACE@38..39 " "
- TUPLE_EXPR@39..41
- L_PAREN@39..40 "("
- R_PAREN@40..41 ")"
- COMMA@41..42 ","
- WHITESPACE@42..51 "\n "
- MATCH_ARM@51..78
- ATTR@51..52
- POUND@51..52 "#"
- ERROR@52..53
- BANG@52..53 "!"
- ARRAY_EXPR@53..78
- L_BRACK@53..54 "["
- CALL_EXPR@54..77
- PATH_EXPR@54..57
- PATH@54..57
- PATH_SEGMENT@54..57
- NAME_REF@54..57
- IDENT@54..57 "doc"
- ARG_LIST@57..77
- L_PAREN@57..58 "("
- LITERAL@58..76
- STRING@58..76 "\"Not allowed here\""
- R_PAREN@76..77 ")"
- R_BRACK@77..78 "]"
- WHITESPACE@78..87 "\n "
- MATCH_ARM@87..94
- PLACEHOLDER_PAT@87..88
- UNDERSCORE@87..88 "_"
- WHITESPACE@88..89 " "
- FAT_ARROW@89..91 "=>"
- WHITESPACE@91..92 " "
- TUPLE_EXPR@92..94
- L_PAREN@92..93 "("
- R_PAREN@93..94 ")"
- COMMA@94..95 ","
- WHITESPACE@95..100 "\n "
- R_CURLY@100..101 "}"
- WHITESPACE@101..107 "\n\n "
- EXPR_STMT@107..185
- MATCH_EXPR@107..185
- MATCH_KW@107..112 "match"
- WHITESPACE@112..113 " "
- TUPLE_EXPR@113..115
- L_PAREN@113..114 "("
- R_PAREN@114..115 ")"
- WHITESPACE@115..116 " "
- MATCH_ARM_LIST@116..185
- L_CURLY@116..117 "{"
- WHITESPACE@117..126 "\n "
- MATCH_ARM@126..133
- PLACEHOLDER_PAT@126..127
- UNDERSCORE@126..127 "_"
- WHITESPACE@127..128 " "
- FAT_ARROW@128..130 "=>"
- WHITESPACE@130..131 " "
- TUPLE_EXPR@131..133
- L_PAREN@131..132 "("
- R_PAREN@132..133 ")"
- COMMA@133..134 ","
- WHITESPACE@134..143 "\n "
- MATCH_ARM@143..150
- PLACEHOLDER_PAT@143..144
- UNDERSCORE@143..144 "_"
- WHITESPACE@144..145 " "
- FAT_ARROW@145..147 "=>"
- WHITESPACE@147..148 " "
- TUPLE_EXPR@148..150
- L_PAREN@148..149 "("
- R_PAREN@149..150 ")"
- COMMA@150..151 ","
- WHITESPACE@151..160 "\n "
- MATCH_ARM@160..179
- ATTR@160..161
- POUND@160..161 "#"
- ERROR@161..162
- BANG@161..162 "!"
- ARRAY_EXPR@162..179
- L_BRACK@162..163 "["
- CALL_EXPR@163..178
- PATH_EXPR@163..166
- PATH@163..166
- PATH_SEGMENT@163..166
- NAME_REF@163..166
- IDENT@163..166 "doc"
- ARG_LIST@166..178
- L_PAREN@166..167 "("
- LITERAL@167..177
- STRING@167..177 "\"Nor here\""
- R_PAREN@177..178 ")"
- R_BRACK@178..179 "]"
- WHITESPACE@179..184 "\n "
- R_CURLY@184..185 "}"
- WHITESPACE@185..191 "\n\n "
- MATCH_EXPR@191..290
- MATCH_KW@191..196 "match"
- WHITESPACE@196..197 " "
- TUPLE_EXPR@197..199
- L_PAREN@197..198 "("
- R_PAREN@198..199 ")"
- WHITESPACE@199..200 " "
- MATCH_ARM_LIST@200..290
- L_CURLY@200..201 "{"
- WHITESPACE@201..210 "\n "
- MATCH_ARM@210..250
- ATTR@210..222
- POUND@210..211 "#"
- L_BRACK@211..212 "["
- PATH@212..215
- PATH_SEGMENT@212..215
- NAME_REF@212..215
- IDENT@212..215 "cfg"
- TOKEN_TREE@215..221
- L_PAREN@215..216 "("
- IDENT@216..220 "test"
- R_PAREN@220..221 ")"
- R_BRACK@221..222 "]"
- WHITESPACE@222..231 "\n "
- ATTR@231..232
- POUND@231..232 "#"
- ERROR@232..233
- BANG@232..233 "!"
- ARRAY_EXPR@233..250
- L_BRACK@233..234 "["
- CALL_EXPR@234..249
- PATH_EXPR@234..237
- PATH@234..237
- PATH_SEGMENT@234..237
- NAME_REF@234..237
- IDENT@234..237 "doc"
- ARG_LIST@237..249
- L_PAREN@237..238 "("
- LITERAL@238..248
- STRING@238..248 "\"Nor here\""
- R_PAREN@248..249 ")"
- R_BRACK@249..250 "]"
- WHITESPACE@250..259 "\n "
- MATCH_ARM@259..266
- PLACEHOLDER_PAT@259..260
- UNDERSCORE@259..260 "_"
- WHITESPACE@260..261 " "
- FAT_ARROW@261..263 "=>"
- WHITESPACE@263..264 " "
- TUPLE_EXPR@264..266
- L_PAREN@264..265 "("
- R_PAREN@265..266 ")"
- COMMA@266..267 ","
- WHITESPACE@267..276 "\n "
- MATCH_ARM@276..283
- PLACEHOLDER_PAT@276..277
- UNDERSCORE@276..277 "_"
- WHITESPACE@277..278 " "
- FAT_ARROW@278..280 "=>"
- WHITESPACE@280..281 " "
- TUPLE_EXPR@281..283
- L_PAREN@281..282 "("
- R_PAREN@282..283 ")"
- COMMA@283..284 ","
- WHITESPACE@284..289 "\n "
- R_CURLY@289..290 "}"
- WHITESPACE@290..291 "\n"
- R_CURLY@291..292 "}"
+ L_CURLY@9..10 "{"
+ WHITESPACE@10..15 "\n "
+ EXPR_STMT@15..101
+ MATCH_EXPR@15..101
+ MATCH_KW@15..20 "match"
+ WHITESPACE@20..21 " "
+ TUPLE_EXPR@21..23
+ L_PAREN@21..22 "("
+ R_PAREN@22..23 ")"
+ WHITESPACE@23..24 " "
+ MATCH_ARM_LIST@24..101
+ L_CURLY@24..25 "{"
+ WHITESPACE@25..34 "\n "
+ MATCH_ARM@34..41
+ PLACEHOLDER_PAT@34..35
+ UNDERSCORE@34..35 "_"
+ WHITESPACE@35..36 " "
+ FAT_ARROW@36..38 "=>"
+ WHITESPACE@38..39 " "
+ TUPLE_EXPR@39..41
+ L_PAREN@39..40 "("
+ R_PAREN@40..41 ")"
+ COMMA@41..42 ","
+ WHITESPACE@42..51 "\n "
+ MATCH_ARM@51..78
+ ATTR@51..52
+ POUND@51..52 "#"
+ ERROR@52..53
+ BANG@52..53 "!"
+ ARRAY_EXPR@53..78
+ L_BRACK@53..54 "["
+ CALL_EXPR@54..77
+ PATH_EXPR@54..57
+ PATH@54..57
+ PATH_SEGMENT@54..57
+ NAME_REF@54..57
+ IDENT@54..57 "doc"
+ ARG_LIST@57..77
+ L_PAREN@57..58 "("
+ LITERAL@58..76
+ STRING@58..76 "\"Not allowed here\""
+ R_PAREN@76..77 ")"
+ R_BRACK@77..78 "]"
+ WHITESPACE@78..87 "\n "
+ MATCH_ARM@87..94
+ PLACEHOLDER_PAT@87..88
+ UNDERSCORE@87..88 "_"
+ WHITESPACE@88..89 " "
+ FAT_ARROW@89..91 "=>"
+ WHITESPACE@91..92 " "
+ TUPLE_EXPR@92..94
+ L_PAREN@92..93 "("
+ R_PAREN@93..94 ")"
+ COMMA@94..95 ","
+ WHITESPACE@95..100 "\n "
+ R_CURLY@100..101 "}"
+ WHITESPACE@101..107 "\n\n "
+ EXPR_STMT@107..185
+ MATCH_EXPR@107..185
+ MATCH_KW@107..112 "match"
+ WHITESPACE@112..113 " "
+ TUPLE_EXPR@113..115
+ L_PAREN@113..114 "("
+ R_PAREN@114..115 ")"
+ WHITESPACE@115..116 " "
+ MATCH_ARM_LIST@116..185
+ L_CURLY@116..117 "{"
+ WHITESPACE@117..126 "\n "
+ MATCH_ARM@126..133
+ PLACEHOLDER_PAT@126..127
+ UNDERSCORE@126..127 "_"
+ WHITESPACE@127..128 " "
+ FAT_ARROW@128..130 "=>"
+ WHITESPACE@130..131 " "
+ TUPLE_EXPR@131..133
+ L_PAREN@131..132 "("
+ R_PAREN@132..133 ")"
+ COMMA@133..134 ","
+ WHITESPACE@134..143 "\n "
+ MATCH_ARM@143..150
+ PLACEHOLDER_PAT@143..144
+ UNDERSCORE@143..144 "_"
+ WHITESPACE@144..145 " "
+ FAT_ARROW@145..147 "=>"
+ WHITESPACE@147..148 " "
+ TUPLE_EXPR@148..150
+ L_PAREN@148..149 "("
+ R_PAREN@149..150 ")"
+ COMMA@150..151 ","
+ WHITESPACE@151..160 "\n "
+ MATCH_ARM@160..179
+ ATTR@160..161
+ POUND@160..161 "#"
+ ERROR@161..162
+ BANG@161..162 "!"
+ ARRAY_EXPR@162..179
+ L_BRACK@162..163 "["
+ CALL_EXPR@163..178
+ PATH_EXPR@163..166
+ PATH@163..166
+ PATH_SEGMENT@163..166
+ NAME_REF@163..166
+ IDENT@163..166 "doc"
+ ARG_LIST@166..178
+ L_PAREN@166..167 "("
+ LITERAL@167..177
+ STRING@167..177 "\"Nor here\""
+ R_PAREN@177..178 ")"
+ R_BRACK@178..179 "]"
+ WHITESPACE@179..184 "\n "
+ R_CURLY@184..185 "}"
+ WHITESPACE@185..191 "\n\n "
+ MATCH_EXPR@191..290
+ MATCH_KW@191..196 "match"
+ WHITESPACE@196..197 " "
+ TUPLE_EXPR@197..199
+ L_PAREN@197..198 "("
+ R_PAREN@198..199 ")"
+ WHITESPACE@199..200 " "
+ MATCH_ARM_LIST@200..290
+ L_CURLY@200..201 "{"
+ WHITESPACE@201..210 "\n "
+ MATCH_ARM@210..250
+ ATTR@210..222
+ POUND@210..211 "#"
+ L_BRACK@211..212 "["
+ PATH@212..215
+ PATH_SEGMENT@212..215
+ NAME_REF@212..215
+ IDENT@212..215 "cfg"
+ TOKEN_TREE@215..221
+ L_PAREN@215..216 "("
+ IDENT@216..220 "test"
+ R_PAREN@220..221 ")"
+ R_BRACK@221..222 "]"
+ WHITESPACE@222..231 "\n "
+ ATTR@231..232
+ POUND@231..232 "#"
+ ERROR@232..233
+ BANG@232..233 "!"
+ ARRAY_EXPR@233..250
+ L_BRACK@233..234 "["
+ CALL_EXPR@234..249
+ PATH_EXPR@234..237
+ PATH@234..237
+ PATH_SEGMENT@234..237
+ NAME_REF@234..237
+ IDENT@234..237 "doc"
+ ARG_LIST@237..249
+ L_PAREN@237..238 "("
+ LITERAL@238..248
+ STRING@238..248 "\"Nor here\""
+ R_PAREN@248..249 ")"
+ R_BRACK@249..250 "]"
+ WHITESPACE@250..259 "\n "
+ MATCH_ARM@259..266
+ PLACEHOLDER_PAT@259..260
+ UNDERSCORE@259..260 "_"
+ WHITESPACE@260..261 " "
+ FAT_ARROW@261..263 "=>"
+ WHITESPACE@263..264 " "
+ TUPLE_EXPR@264..266
+ L_PAREN@264..265 "("
+ R_PAREN@265..266 ")"
+ COMMA@266..267 ","
+ WHITESPACE@267..276 "\n "
+ MATCH_ARM@276..283
+ PLACEHOLDER_PAT@276..277
+ UNDERSCORE@276..277 "_"
+ WHITESPACE@277..278 " "
+ FAT_ARROW@278..280 "=>"
+ WHITESPACE@280..281 " "
+ TUPLE_EXPR@281..283
+ L_PAREN@281..282 "("
+ R_PAREN@282..283 ")"
+ COMMA@283..284 ","
+ WHITESPACE@284..289 "\n "
+ R_CURLY@289..290 "}"
+ WHITESPACE@290..291 "\n"
+ R_CURLY@291..292 "}"
WHITESPACE@292..293 "\n"
error 52..52: expected `[`
error 52..52: expected pattern
R_PAREN@7..8 ")"
WHITESPACE@8..9 " "
BLOCK_EXPR@9..88
- BLOCK@9..88
- L_CURLY@9..10 "{"
- WHITESPACE@10..15 "\n "
- MATCH_EXPR@15..86
- MATCH_KW@15..20 "match"
- WHITESPACE@20..21 " "
- TUPLE_EXPR@21..23
- L_PAREN@21..22 "("
- R_PAREN@22..23 ")"
- WHITESPACE@23..24 " "
- MATCH_ARM_LIST@24..86
- L_CURLY@24..25 "{"
- WHITESPACE@25..34 "\n "
- MATCH_ARM@34..41
- PLACEHOLDER_PAT@34..35
- UNDERSCORE@34..35 "_"
- WHITESPACE@35..36 " "
- FAT_ARROW@36..38 "=>"
- WHITESPACE@38..39 " "
- TUPLE_EXPR@39..41
- L_PAREN@39..40 "("
- R_PAREN@40..41 ")"
- COMMA@41..42 ","
- WHITESPACE@42..51 "\n "
- MATCH_ARM@51..58
- PLACEHOLDER_PAT@51..52
- UNDERSCORE@51..52 "_"
- WHITESPACE@52..53 " "
- FAT_ARROW@53..55 "=>"
- WHITESPACE@55..56 " "
- TUPLE_EXPR@56..58
- L_PAREN@56..57 "("
- R_PAREN@57..58 ")"
- COMMA@58..59 ","
- WHITESPACE@59..68 "\n "
- MATCH_ARM@68..80
- ATTR@68..80
- POUND@68..69 "#"
- L_BRACK@69..70 "["
- PATH@70..73
- PATH_SEGMENT@70..73
- NAME_REF@70..73
- IDENT@70..73 "cfg"
- TOKEN_TREE@73..79
- L_PAREN@73..74 "("
- IDENT@74..78 "test"
- R_PAREN@78..79 ")"
- R_BRACK@79..80 "]"
- WHITESPACE@80..85 "\n "
- R_CURLY@85..86 "}"
- WHITESPACE@86..87 "\n"
- R_CURLY@87..88 "}"
+ L_CURLY@9..10 "{"
+ WHITESPACE@10..15 "\n "
+ MATCH_EXPR@15..86
+ MATCH_KW@15..20 "match"
+ WHITESPACE@20..21 " "
+ TUPLE_EXPR@21..23
+ L_PAREN@21..22 "("
+ R_PAREN@22..23 ")"
+ WHITESPACE@23..24 " "
+ MATCH_ARM_LIST@24..86
+ L_CURLY@24..25 "{"
+ WHITESPACE@25..34 "\n "
+ MATCH_ARM@34..41
+ PLACEHOLDER_PAT@34..35
+ UNDERSCORE@34..35 "_"
+ WHITESPACE@35..36 " "
+ FAT_ARROW@36..38 "=>"
+ WHITESPACE@38..39 " "
+ TUPLE_EXPR@39..41
+ L_PAREN@39..40 "("
+ R_PAREN@40..41 ")"
+ COMMA@41..42 ","
+ WHITESPACE@42..51 "\n "
+ MATCH_ARM@51..58
+ PLACEHOLDER_PAT@51..52
+ UNDERSCORE@51..52 "_"
+ WHITESPACE@52..53 " "
+ FAT_ARROW@53..55 "=>"
+ WHITESPACE@55..56 " "
+ TUPLE_EXPR@56..58
+ L_PAREN@56..57 "("
+ R_PAREN@57..58 ")"
+ COMMA@58..59 ","
+ WHITESPACE@59..68 "\n "
+ MATCH_ARM@68..80
+ ATTR@68..80
+ POUND@68..69 "#"
+ L_BRACK@69..70 "["
+ PATH@70..73
+ PATH_SEGMENT@70..73
+ NAME_REF@70..73
+ IDENT@70..73 "cfg"
+ TOKEN_TREE@73..79
+ L_PAREN@73..74 "("
+ IDENT@74..78 "test"
+ R_PAREN@78..79 ")"
+ R_BRACK@79..80 "]"
+ WHITESPACE@80..85 "\n "
+ R_CURLY@85..86 "}"
+ WHITESPACE@86..87 "\n"
+ R_CURLY@87..88 "}"
WHITESPACE@88..89 "\n"
error 80..80: expected pattern
error 80..80: expected FAT_ARROW
R_PAREN@8..9 ")"
WHITESPACE@9..10 " "
BLOCK_EXPR@10..89
- BLOCK@10..89
- L_CURLY@10..11 "{"
- WHITESPACE@11..16 "\n "
- LET_STMT@16..27
- LET_KW@16..19 "let"
- WHITESPACE@19..20 " "
- BIND_PAT@20..27
- REF_KW@20..23 "ref"
- WHITESPACE@23..24 " "
- ERROR@24..27
- BOX_KW@24..27 "box"
- WHITESPACE@27..28 " "
- EXPR_STMT@28..35
- BIN_EXPR@28..34
- PATH_EXPR@28..29
- PATH@28..29
- PATH_SEGMENT@28..29
- NAME_REF@28..29
- IDENT@28..29 "i"
- WHITESPACE@29..30 " "
- EQ@30..31 "="
- WHITESPACE@31..32 " "
- TUPLE_EXPR@32..34
- L_PAREN@32..33 "("
- R_PAREN@33..34 ")"
- SEMICOLON@34..35 ";"
- WHITESPACE@35..40 "\n "
- LET_STMT@40..51
- LET_KW@40..43 "let"
- WHITESPACE@43..44 " "
- BIND_PAT@44..51
- MUT_KW@44..47 "mut"
- WHITESPACE@47..48 " "
- ERROR@48..51
- BOX_KW@48..51 "box"
- WHITESPACE@51..52 " "
- EXPR_STMT@52..59
- BIN_EXPR@52..58
- PATH_EXPR@52..53
- PATH@52..53
- PATH_SEGMENT@52..53
- NAME_REF@52..53
- IDENT@52..53 "i"
- WHITESPACE@53..54 " "
- EQ@54..55 "="
- WHITESPACE@55..56 " "
- TUPLE_EXPR@56..58
- L_PAREN@56..57 "("
- R_PAREN@57..58 ")"
- SEMICOLON@58..59 ";"
- WHITESPACE@59..64 "\n "
- LET_STMT@64..79
- LET_KW@64..67 "let"
- WHITESPACE@67..68 " "
- BIND_PAT@68..79
- REF_KW@68..71 "ref"
- WHITESPACE@71..72 " "
- MUT_KW@72..75 "mut"
- WHITESPACE@75..76 " "
- ERROR@76..79
- BOX_KW@76..79 "box"
- WHITESPACE@79..80 " "
- EXPR_STMT@80..87
- BIN_EXPR@80..86
- PATH_EXPR@80..81
- PATH@80..81
- PATH_SEGMENT@80..81
- NAME_REF@80..81
- IDENT@80..81 "i"
- WHITESPACE@81..82 " "
- EQ@82..83 "="
- WHITESPACE@83..84 " "
- TUPLE_EXPR@84..86
- L_PAREN@84..85 "("
- R_PAREN@85..86 ")"
- SEMICOLON@86..87 ";"
- WHITESPACE@87..88 "\n"
- R_CURLY@88..89 "}"
+ L_CURLY@10..11 "{"
+ WHITESPACE@11..16 "\n "
+ LET_STMT@16..27
+ LET_KW@16..19 "let"
+ WHITESPACE@19..20 " "
+ BIND_PAT@20..27
+ REF_KW@20..23 "ref"
+ WHITESPACE@23..24 " "
+ ERROR@24..27
+ BOX_KW@24..27 "box"
+ WHITESPACE@27..28 " "
+ EXPR_STMT@28..35
+ BIN_EXPR@28..34
+ PATH_EXPR@28..29
+ PATH@28..29
+ PATH_SEGMENT@28..29
+ NAME_REF@28..29
+ IDENT@28..29 "i"
+ WHITESPACE@29..30 " "
+ EQ@30..31 "="
+ WHITESPACE@31..32 " "
+ TUPLE_EXPR@32..34
+ L_PAREN@32..33 "("
+ R_PAREN@33..34 ")"
+ SEMICOLON@34..35 ";"
+ WHITESPACE@35..40 "\n "
+ LET_STMT@40..51
+ LET_KW@40..43 "let"
+ WHITESPACE@43..44 " "
+ BIND_PAT@44..51
+ MUT_KW@44..47 "mut"
+ WHITESPACE@47..48 " "
+ ERROR@48..51
+ BOX_KW@48..51 "box"
+ WHITESPACE@51..52 " "
+ EXPR_STMT@52..59
+ BIN_EXPR@52..58
+ PATH_EXPR@52..53
+ PATH@52..53
+ PATH_SEGMENT@52..53
+ NAME_REF@52..53
+ IDENT@52..53 "i"
+ WHITESPACE@53..54 " "
+ EQ@54..55 "="
+ WHITESPACE@55..56 " "
+ TUPLE_EXPR@56..58
+ L_PAREN@56..57 "("
+ R_PAREN@57..58 ")"
+ SEMICOLON@58..59 ";"
+ WHITESPACE@59..64 "\n "
+ LET_STMT@64..79
+ LET_KW@64..67 "let"
+ WHITESPACE@67..68 " "
+ BIND_PAT@68..79
+ REF_KW@68..71 "ref"
+ WHITESPACE@71..72 " "
+ MUT_KW@72..75 "mut"
+ WHITESPACE@75..76 " "
+ ERROR@76..79
+ BOX_KW@76..79 "box"
+ WHITESPACE@79..80 " "
+ EXPR_STMT@80..87
+ BIN_EXPR@80..86
+ PATH_EXPR@80..81
+ PATH@80..81
+ PATH_SEGMENT@80..81
+ NAME_REF@80..81
+ IDENT@80..81 "i"
+ WHITESPACE@81..82 " "
+ EQ@82..83 "="
+ WHITESPACE@83..84 " "
+ TUPLE_EXPR@84..86
+ L_PAREN@84..85 "("
+ R_PAREN@85..86 ")"
+ SEMICOLON@86..87 ";"
+ WHITESPACE@87..88 "\n"
+ R_CURLY@88..89 "}"
WHITESPACE@89..91 "\n\n"
error 24..24: expected a name
error 27..27: expected SEMICOLON
R_PAREN@43..44 ")"
WHITESPACE@44..45 " "
BLOCK_EXPR@45..47
- BLOCK@45..47
- L_CURLY@45..46 "{"
- R_CURLY@46..47 "}"
+ L_CURLY@45..46 "{"
+ R_CURLY@46..47 "}"
WHITESPACE@47..48 "\n"
error 17..17: expected one of `*`, `::`, `{`, `self`, `super` or an identifier
error 17..17: expected SEMICOLON
R_PAREN@27..28 ")"
WHITESPACE@28..29 " "
BLOCK_EXPR@29..31
- BLOCK@29..31
- L_CURLY@29..30 "{"
- R_CURLY@30..31 "}"
+ L_CURLY@29..30 "{"
+ R_CURLY@30..31 "}"
WHITESPACE@31..36 "\n "
FN_DEF@36..51
VISIBILITY@36..39
R_PAREN@47..48 ")"
WHITESPACE@48..49 " "
BLOCK_EXPR@49..51
- BLOCK@49..51
- L_CURLY@49..50 "{"
- R_CURLY@50..51 "}"
+ L_CURLY@49..50 "{"
+ R_CURLY@50..51 "}"
WHITESPACE@51..56 "\n "
TYPE_ALIAS_DEF@56..81
VISIBILITY@56..66
R_PAREN@8..9 ")"
WHITESPACE@9..10 " "
BLOCK_EXPR@10..32
- BLOCK@10..32
- L_CURLY@10..11 "{"
- WHITESPACE@11..16 "\n "
- EXPR_STMT@16..21
- RANGE_EXPR@16..20
- LITERAL@16..17
- INT_NUMBER@16..17 "0"
- DOT2EQ@17..20 "..="
- SEMICOLON@20..21 ";"
- WHITESPACE@21..26 "\n "
- EXPR_STMT@26..30
- RANGE_EXPR@26..29
- DOT2EQ@26..29 "..="
- SEMICOLON@29..30 ";"
- WHITESPACE@30..31 "\n"
- R_CURLY@31..32 "}"
+ L_CURLY@10..11 "{"
+ WHITESPACE@11..16 "\n "
+ EXPR_STMT@16..21
+ RANGE_EXPR@16..20
+ LITERAL@16..17
+ INT_NUMBER@16..17 "0"
+ DOT2EQ@17..20 "..="
+ SEMICOLON@20..21 ";"
+ WHITESPACE@21..26 "\n "
+ EXPR_STMT@26..30
+ RANGE_EXPR@26..29
+ DOT2EQ@26..29 "..="
+ SEMICOLON@29..30 ";"
+ WHITESPACE@30..31 "\n"
+ R_CURLY@31..32 "}"
WHITESPACE@32..33 "\n"
error 16..20: An inclusive range must have an end expression
error 26..29: An inclusive range must have an end expression
IDENT@12..15 "i32"
WHITESPACE@15..16 " "
BLOCK_EXPR@16..82
- BLOCK@16..82
- L_CURLY@16..17 "{"
- WHITESPACE@17..22 "\n "
- EXPR_STMT@22..80
- METHOD_CALL_EXPR@22..79
- METHOD_CALL_EXPR@22..57
- METHOD_CALL_EXPR@22..38
- ARRAY_EXPR@22..31
- L_BRACK@22..23 "["
- LITERAL@23..24
- INT_NUMBER@23..24 "1"
- COMMA@24..25 ","
- WHITESPACE@25..26 " "
- LITERAL@26..27
- INT_NUMBER@26..27 "2"
- COMMA@27..28 ","
- WHITESPACE@28..29 " "
- LITERAL@29..30
- INT_NUMBER@29..30 "3"
- R_BRACK@30..31 "]"
- DOT@31..32 "."
- NAME_REF@32..36
- IDENT@32..36 "iter"
- ARG_LIST@36..38
- L_PAREN@36..37 "("
- R_PAREN@37..38 ")"
- WHITESPACE@38..47 "\n "
- DOT@47..48 "."
- NAME_REF@48..51
- IDENT@48..51 "map"
- ARG_LIST@51..57
- L_PAREN@51..52 "("
- LAMBDA_EXPR@52..56
- PARAM_LIST@52..56
- PIPE@52..53 "|"
- PARAM@53..55
- BIND_PAT@53..55
- NAME@53..55
- IDENT@53..55 "it"
- PIPE@55..56 "|"
- R_PAREN@56..57 ")"
- WHITESPACE@57..66 "\n "
- DOT@66..67 "."
- NAME_REF@67..70
- IDENT@67..70 "max"
- TYPE_ARG_LIST@70..77
- COLON2@70..72 "::"
- L_ANGLE@72..73 "<"
- TYPE_ARG@73..76
- PATH_TYPE@73..76
- PATH@73..76
- PATH_SEGMENT@73..76
- NAME_REF@73..76
- IDENT@73..76 "i32"
- R_ANGLE@76..77 ">"
- ARG_LIST@77..79
- L_PAREN@77..78 "("
- R_PAREN@78..79 ")"
- SEMICOLON@79..80 ";"
- WHITESPACE@80..81 "\n"
- R_CURLY@81..82 "}"
+ L_CURLY@16..17 "{"
+ WHITESPACE@17..22 "\n "
+ EXPR_STMT@22..80
+ METHOD_CALL_EXPR@22..79
+ METHOD_CALL_EXPR@22..57
+ METHOD_CALL_EXPR@22..38
+ ARRAY_EXPR@22..31
+ L_BRACK@22..23 "["
+ LITERAL@23..24
+ INT_NUMBER@23..24 "1"
+ COMMA@24..25 ","
+ WHITESPACE@25..26 " "
+ LITERAL@26..27
+ INT_NUMBER@26..27 "2"
+ COMMA@27..28 ","
+ WHITESPACE@28..29 " "
+ LITERAL@29..30
+ INT_NUMBER@29..30 "3"
+ R_BRACK@30..31 "]"
+ DOT@31..32 "."
+ NAME_REF@32..36
+ IDENT@32..36 "iter"
+ ARG_LIST@36..38
+ L_PAREN@36..37 "("
+ R_PAREN@37..38 ")"
+ WHITESPACE@38..47 "\n "
+ DOT@47..48 "."
+ NAME_REF@48..51
+ IDENT@48..51 "map"
+ ARG_LIST@51..57
+ L_PAREN@51..52 "("
+ LAMBDA_EXPR@52..56
+ PARAM_LIST@52..56
+ PIPE@52..53 "|"
+ PARAM@53..55
+ BIND_PAT@53..55
+ NAME@53..55
+ IDENT@53..55 "it"
+ PIPE@55..56 "|"
+ R_PAREN@56..57 ")"
+ WHITESPACE@57..66 "\n "
+ DOT@66..67 "."
+ NAME_REF@67..70
+ IDENT@67..70 "max"
+ TYPE_ARG_LIST@70..77
+ COLON2@70..72 "::"
+ L_ANGLE@72..73 "<"
+ TYPE_ARG@73..76
+ PATH_TYPE@73..76
+ PATH@73..76
+ PATH_SEGMENT@73..76
+ NAME_REF@73..76
+ IDENT@73..76 "i32"
+ R_ANGLE@76..77 ">"
+ ARG_LIST@77..79
+ L_PAREN@77..78 "("
+ R_PAREN@78..79 ")"
+ SEMICOLON@79..80 ";"
+ WHITESPACE@80..81 "\n"
+ R_CURLY@81..82 "}"
WHITESPACE@82..83 "\n"
error 56..56: expected expression
R_PAREN@8..9 ")"
WHITESPACE@9..10 " "
BLOCK_EXPR@10..29
- BLOCK@10..29
- L_CURLY@10..11 "{"
- WHITESPACE@11..16 "\n "
- EXPR_STMT@16..22
- ERROR@16..22
- LABEL@16..22
- LIFETIME@16..21 "\'loop"
- COLON@21..22 ":"
- WHITESPACE@22..23 " "
- IMPL_DEF@23..27
- IMPL_KW@23..27 "impl"
- WHITESPACE@27..28 "\n"
- R_CURLY@28..29 "}"
+ L_CURLY@10..11 "{"
+ WHITESPACE@11..16 "\n "
+ EXPR_STMT@16..22
+ ERROR@16..22
+ LABEL@16..22
+ LIFETIME@16..21 "\'loop"
+ COLON@21..22 ":"
+ WHITESPACE@22..23 " "
+ IMPL_DEF@23..27
+ IMPL_KW@23..27 "impl"
+ WHITESPACE@27..28 "\n"
+ R_CURLY@28..29 "}"
WHITESPACE@29..30 "\n"
error 22..22: expected a loop
error 22..22: expected SEMICOLON
L_PAREN@6..7 "("
R_PAREN@7..8 ")"
BLOCK_EXPR@8..10
- BLOCK@8..10
- L_CURLY@8..9 "{"
- R_CURLY@9..10 "}"
+ L_CURLY@8..9 "{"
+ R_CURLY@9..10 "}"
WHITESPACE@10..11 " "
ERROR@11..17
UNSAFE_KW@11..17 "unsafe"
L_PAREN@28..29 "("
R_PAREN@29..30 ")"
BLOCK_EXPR@30..32
- BLOCK@30..32
- L_CURLY@30..31 "{"
- R_CURLY@31..32 "}"
+ L_CURLY@30..31 "{"
+ R_CURLY@31..32 "}"
WHITESPACE@32..33 "\n"
error 11..11: expected an item
error 18..18: expected an item
R_PAREN@7..8 ")"
WHITESPACE@8..9 " "
BLOCK_EXPR@9..29
- BLOCK@9..29
- L_CURLY@9..10 "{"
- WHITESPACE@10..11 " "
- LET_STMT@11..27
- LET_KW@11..14 "let"
- WHITESPACE@14..15 " "
- PLACEHOLDER_PAT@15..16
- UNDERSCORE@15..16 "_"
- WHITESPACE@16..17 " "
- EQ@17..18 "="
- WHITESPACE@18..19 " "
- BLOCK_EXPR@19..27
- ASYNC_KW@19..24 "async"
- WHITESPACE@24..25 " "
- BLOCK@25..27
- L_CURLY@25..26 "{"
- R_CURLY@26..27 "}"
- WHITESPACE@27..28 " "
- R_CURLY@28..29 "}"
+ L_CURLY@9..10 "{"
+ WHITESPACE@10..11 " "
+ LET_STMT@11..27
+ LET_KW@11..14 "let"
+ WHITESPACE@14..15 " "
+ PLACEHOLDER_PAT@15..16
+ UNDERSCORE@15..16 "_"
+ WHITESPACE@16..17 " "
+ EQ@17..18 "="
+ WHITESPACE@18..19 " "
+ EFFECT_EXPR@19..27
+ ASYNC_KW@19..24 "async"
+ WHITESPACE@24..25 " "
+ BLOCK_EXPR@25..27
+ L_CURLY@25..26 "{"
+ R_CURLY@26..27 "}"
+ WHITESPACE@27..28 " "
+ R_CURLY@28..29 "}"
WHITESPACE@29..30 "\n"
error 27..27: expected SEMICOLON
R_PAREN@7..8 ")"
WHITESPACE@8..9 " "
BLOCK_EXPR@9..20
- BLOCK@9..20
- L_CURLY@9..10 "{"
- WHITESPACE@10..11 " "
- ERROR@11..14
- VISIBILITY@11..14
- PUB_KW@11..14 "pub"
- WHITESPACE@14..15 " "
- EXPR_STMT@15..18
- LITERAL@15..17
- INT_NUMBER@15..17 "92"
- SEMICOLON@17..18 ";"
- WHITESPACE@18..19 " "
- R_CURLY@19..20 "}"
+ L_CURLY@9..10 "{"
+ WHITESPACE@10..11 " "
+ ERROR@11..14
+ VISIBILITY@11..14
+ PUB_KW@11..14 "pub"
+ WHITESPACE@14..15 " "
+ EXPR_STMT@15..18
+ LITERAL@15..17
+ INT_NUMBER@15..17 "92"
+ SEMICOLON@17..18 ";"
+ WHITESPACE@18..19 " "
+ R_CURLY@19..20 "}"
WHITESPACE@20..21 "\n"
error 14..14: expected an item
R_PAREN@7..8 ")"
WHITESPACE@8..9 " "
BLOCK_EXPR@9..47
- BLOCK@9..47
- L_CURLY@9..10 "{"
- WHITESPACE@10..14 "\n "
- EXPR_STMT@14..25
- ATTR@14..18
- POUND@14..15 "#"
- L_BRACK@15..16 "["
- PATH@16..17
- PATH_SEGMENT@16..17
- NAME_REF@16..17
- IDENT@16..17 "A"
- R_BRACK@17..18 "]"
- WHITESPACE@18..19 " "
- BIN_EXPR@19..24
- LITERAL@19..20
- INT_NUMBER@19..20 "1"
- WHITESPACE@20..21 " "
- PLUS@21..22 "+"
- WHITESPACE@22..23 " "
- LITERAL@23..24
- INT_NUMBER@23..24 "2"
- SEMICOLON@24..25 ";"
- WHITESPACE@25..29 "\n "
- EXPR_STMT@29..45
- ATTR@29..33
- POUND@29..30 "#"
- L_BRACK@30..31 "["
- PATH@31..32
- PATH_SEGMENT@31..32
- NAME_REF@31..32
- IDENT@31..32 "B"
- R_BRACK@32..33 "]"
- WHITESPACE@33..34 " "
- IF_EXPR@34..44
- IF_KW@34..36 "if"
- WHITESPACE@36..37 " "
- CONDITION@37..41
- LITERAL@37..41
- TRUE_KW@37..41 "true"
- WHITESPACE@41..42 " "
- BLOCK_EXPR@42..44
- BLOCK@42..44
- L_CURLY@42..43 "{"
- R_CURLY@43..44 "}"
- SEMICOLON@44..45 ";"
- WHITESPACE@45..46 "\n"
- R_CURLY@46..47 "}"
+ L_CURLY@9..10 "{"
+ WHITESPACE@10..14 "\n "
+ EXPR_STMT@14..25
+ ATTR@14..18
+ POUND@14..15 "#"
+ L_BRACK@15..16 "["
+ PATH@16..17
+ PATH_SEGMENT@16..17
+ NAME_REF@16..17
+ IDENT@16..17 "A"
+ R_BRACK@17..18 "]"
+ WHITESPACE@18..19 " "
+ BIN_EXPR@19..24
+ LITERAL@19..20
+ INT_NUMBER@19..20 "1"
+ WHITESPACE@20..21 " "
+ PLUS@21..22 "+"
+ WHITESPACE@22..23 " "
+ LITERAL@23..24
+ INT_NUMBER@23..24 "2"
+ SEMICOLON@24..25 ";"
+ WHITESPACE@25..29 "\n "
+ EXPR_STMT@29..45
+ ATTR@29..33
+ POUND@29..30 "#"
+ L_BRACK@30..31 "["
+ PATH@31..32
+ PATH_SEGMENT@31..32
+ NAME_REF@31..32
+ IDENT@31..32 "B"
+ R_BRACK@32..33 "]"
+ WHITESPACE@33..34 " "
+ IF_EXPR@34..44
+ IF_KW@34..36 "if"
+ WHITESPACE@36..37 " "
+ CONDITION@37..41
+ LITERAL@37..41
+ TRUE_KW@37..41 "true"
+ WHITESPACE@41..42 " "
+ BLOCK_EXPR@42..44
+ L_CURLY@42..43 "{"
+ R_CURLY@43..44 "}"
+ SEMICOLON@44..45 ";"
+ WHITESPACE@45..46 "\n"
+ R_CURLY@46..47 "}"
WHITESPACE@47..48 "\n"
error 24..24: attributes are not allowed on BIN_EXPR
error 44..44: attributes are not allowed on IF_EXPR
R_PAREN@7..8 ")"
WHITESPACE@8..9 " "
BLOCK_EXPR@9..46
- BLOCK@9..46
- L_CURLY@9..10 "{"
- WHITESPACE@10..15 "\n "
- EXPR_STMT@15..20
- FIELD_EXPR@15..19
- PATH_EXPR@15..16
- PATH@15..16
- PATH_SEGMENT@15..16
- NAME_REF@15..16
- IDENT@15..16 "x"
- DOT@16..17 "."
- FLOAT_NUMBER@17..19 "0."
- SEMICOLON@19..20 ";"
- WHITESPACE@20..25 "\n "
- EXPR_STMT@25..32
- FIELD_EXPR@25..31
- PATH_EXPR@25..26
- PATH@25..26
- PATH_SEGMENT@25..26
- NAME_REF@25..26
- IDENT@25..26 "x"
- DOT@26..27 "."
- NAME_REF@27..31
- INT_NUMBER@27..31 "1i32"
- SEMICOLON@31..32 ";"
- WHITESPACE@32..37 "\n "
- EXPR_STMT@37..44
- FIELD_EXPR@37..43
- PATH_EXPR@37..38
- PATH@37..38
- PATH_SEGMENT@37..38
- NAME_REF@37..38
- IDENT@37..38 "x"
- DOT@38..39 "."
- NAME_REF@39..43
- INT_NUMBER@39..43 "0x01"
- SEMICOLON@43..44 ";"
- WHITESPACE@44..45 "\n"
- R_CURLY@45..46 "}"
+ L_CURLY@9..10 "{"
+ WHITESPACE@10..15 "\n "
+ EXPR_STMT@15..20
+ FIELD_EXPR@15..19
+ PATH_EXPR@15..16
+ PATH@15..16
+ PATH_SEGMENT@15..16
+ NAME_REF@15..16
+ IDENT@15..16 "x"
+ DOT@16..17 "."
+ FLOAT_NUMBER@17..19 "0."
+ SEMICOLON@19..20 ";"
+ WHITESPACE@20..25 "\n "
+ EXPR_STMT@25..32
+ FIELD_EXPR@25..31
+ PATH_EXPR@25..26
+ PATH@25..26
+ PATH_SEGMENT@25..26
+ NAME_REF@25..26
+ IDENT@25..26 "x"
+ DOT@26..27 "."
+ NAME_REF@27..31
+ INT_NUMBER@27..31 "1i32"
+ SEMICOLON@31..32 ";"
+ WHITESPACE@32..37 "\n "
+ EXPR_STMT@37..44
+ FIELD_EXPR@37..43
+ PATH_EXPR@37..38
+ PATH@37..38
+ PATH_SEGMENT@37..38
+ NAME_REF@37..38
+ IDENT@37..38 "x"
+ DOT@38..39 "."
+ NAME_REF@39..43
+ INT_NUMBER@39..43 "0x01"
+ SEMICOLON@43..44 ";"
+ WHITESPACE@44..45 "\n"
+ R_CURLY@45..46 "}"
WHITESPACE@46..47 "\n"
error 27..31: Tuple (struct) field access is only allowed through decimal integers with no underscores or suffix
error 39..43: Tuple (struct) field access is only allowed through decimal integers with no underscores or suffix
R_PAREN@20..21 ")"
WHITESPACE@21..22 " "
BLOCK_EXPR@22..24
- BLOCK@22..24
- L_CURLY@22..23 "{"
- R_CURLY@23..24 "}"
+ L_CURLY@22..23 "{"
+ R_CURLY@23..24 "}"
WHITESPACE@24..25 "\n"
ERROR@25..31
UNSAFE_KW@25..31 "unsafe"
R_PAREN@45..46 ")"
WHITESPACE@46..47 " "
BLOCK_EXPR@47..49
- BLOCK@47..49
- L_CURLY@47..48 "{"
- R_CURLY@48..49 "}"
+ L_CURLY@47..48 "{"
+ R_CURLY@48..49 "}"
WHITESPACE@49..50 "\n"
error 6..6: expected existential, fn, trait or impl
error 31..31: expected existential, fn, trait or impl
R_PAREN@55..56 ")"
WHITESPACE@56..57 " "
BLOCK_EXPR@57..59
- BLOCK@57..59
- L_CURLY@57..58 "{"
- R_CURLY@58..59 "}"
+ L_CURLY@57..58 "{"
+ R_CURLY@58..59 "}"
WHITESPACE@59..60 "\n"
R_CURLY@60..61 "}"
WHITESPACE@61..62 "\n"
R_PAREN@8..9 ")"
WHITESPACE@9..10 " "
BLOCK_EXPR@10..44
- BLOCK@10..44
- L_CURLY@10..11 "{"
- WHITESPACE@11..16 "\n "
- RECORD_LIT@16..42
- PATH@16..17
- PATH_SEGMENT@16..17
- NAME_REF@16..17
- IDENT@16..17 "S"
- WHITESPACE@17..18 " "
- RECORD_FIELD_LIST@18..42
- L_CURLY@18..19 "{"
- WHITESPACE@19..20 " "
- RECORD_FIELD@20..40
- NAME_REF@20..25
- IDENT@20..25 "field"
- WHITESPACE@25..26 " "
- RANGE_EXPR@26..40
- DOT2@26..28 ".."
- CALL_EXPR@28..40
- PATH_EXPR@28..38
- PATH@28..38
- PATH@28..29
- PATH_SEGMENT@28..29
- NAME_REF@28..29
- IDENT@28..29 "S"
- COLON2@29..31 "::"
- PATH_SEGMENT@31..38
- NAME_REF@31..38
- IDENT@31..38 "default"
- ARG_LIST@38..40
- L_PAREN@38..39 "("
- R_PAREN@39..40 ")"
- WHITESPACE@40..41 " "
- R_CURLY@41..42 "}"
- WHITESPACE@42..43 "\n"
- R_CURLY@43..44 "}"
+ L_CURLY@10..11 "{"
+ WHITESPACE@11..16 "\n "
+ RECORD_LIT@16..42
+ PATH@16..17
+ PATH_SEGMENT@16..17
+ NAME_REF@16..17
+ IDENT@16..17 "S"
+ WHITESPACE@17..18 " "
+ RECORD_FIELD_LIST@18..42
+ L_CURLY@18..19 "{"
+ WHITESPACE@19..20 " "
+ RECORD_FIELD@20..40
+ NAME_REF@20..25
+ IDENT@20..25 "field"
+ WHITESPACE@25..26 " "
+ RANGE_EXPR@26..40
+ DOT2@26..28 ".."
+ CALL_EXPR@28..40
+ PATH_EXPR@28..38
+ PATH@28..38
+ PATH@28..29
+ PATH_SEGMENT@28..29
+ NAME_REF@28..29
+ IDENT@28..29 "S"
+ COLON2@29..31 "::"
+ PATH_SEGMENT@31..38
+ NAME_REF@31..38
+ IDENT@31..38 "default"
+ ARG_LIST@38..40
+ L_PAREN@38..39 "("
+ R_PAREN@39..40 ")"
+ WHITESPACE@40..41 " "
+ R_CURLY@41..42 "}"
+ WHITESPACE@42..43 "\n"
+ R_CURLY@43..44 "}"
WHITESPACE@44..45 "\n"
error 25..25: expected COLON
R_PAREN@57..58 ")"
WHITESPACE@58..59 " "
BLOCK_EXPR@59..61
- BLOCK@59..61
- L_CURLY@59..60 "{"
- R_CURLY@60..61 "}"
+ L_CURLY@59..60 "{"
+ R_CURLY@60..61 "}"
WHITESPACE@61..66 "\n "
FN_DEF@66..80
FN_KW@66..68 "fn"
R_PAREN@43..44 ")"
WHITESPACE@44..45 "\n"
BLOCK_EXPR@45..48
- BLOCK@45..48
- L_CURLY@45..46 "{"
- WHITESPACE@46..47 " "
- R_CURLY@47..48 "}"
+ L_CURLY@45..46 "{"
+ WHITESPACE@46..47 " "
+ R_CURLY@47..48 "}"
WHITESPACE@48..49 "\n"
L_PAREN@23..24 "("
R_PAREN@24..25 ")"
BLOCK_EXPR@25..27
- BLOCK@25..27
- L_CURLY@25..26 "{"
- R_CURLY@26..27 "}"
+ L_CURLY@25..26 "{"
+ R_CURLY@26..27 "}"
WHITESPACE@27..28 "\n"
R_PAREN@22..23 ")"
WHITESPACE@23..24 " "
BLOCK_EXPR@24..26
- BLOCK@24..26
- L_CURLY@24..25 "{"
- R_CURLY@25..26 "}"
+ L_CURLY@24..25 "{"
+ R_CURLY@25..26 "}"
WHITESPACE@26..31 "\n "
FN_DEF@31..46
FN_KW@31..33 "fn"
R_PAREN@42..43 ")"
WHITESPACE@43..44 " "
BLOCK_EXPR@44..46
- BLOCK@44..46
- L_CURLY@44..45 "{"
- R_CURLY@45..46 "}"
+ L_CURLY@44..45 "{"
+ R_CURLY@45..46 "}"
WHITESPACE@46..51 "\n "
FN_DEF@51..69
FN_KW@51..53 "fn"
R_PAREN@65..66 ")"
WHITESPACE@66..67 " "
BLOCK_EXPR@67..69
- BLOCK@67..69
- L_CURLY@67..68 "{"
- R_CURLY@68..69 "}"
+ L_CURLY@67..68 "{"
+ R_CURLY@68..69 "}"
WHITESPACE@69..74 "\n "
FN_DEF@74..103
FN_KW@74..76 "fn"
R_PAREN@99..100 ")"
WHITESPACE@100..101 " "
BLOCK_EXPR@101..103
- BLOCK@101..103
- L_CURLY@101..102 "{"
- R_CURLY@102..103 "}"
+ L_CURLY@101..102 "{"
+ R_CURLY@102..103 "}"
WHITESPACE@103..108 "\n "
FN_DEF@108..125
FN_KW@108..110 "fn"
R_PAREN@121..122 ")"
WHITESPACE@122..123 " "
BLOCK_EXPR@123..125
- BLOCK@123..125
- L_CURLY@123..124 "{"
- R_CURLY@124..125 "}"
+ L_CURLY@123..124 "{"
+ R_CURLY@124..125 "}"
WHITESPACE@125..126 "\n"
R_CURLY@126..127 "}"
WHITESPACE@127..128 "\n"
R_PAREN@7..8 ")"
WHITESPACE@8..9 " "
BLOCK_EXPR@9..102
- BLOCK@9..102
- L_CURLY@9..10 "{"
- WHITESPACE@10..15 "\n "
- LET_STMT@15..33
- LET_KW@15..18 "let"
- WHITESPACE@18..19 " "
- PATH_PAT@19..27
- PATH@19..27
- PATH@19..22
- PATH_SEGMENT@19..22
- NAME_REF@19..22
- IDENT@19..22 "foo"
- COLON2@22..24 "::"
- PATH_SEGMENT@24..27
- NAME_REF@24..27
- IDENT@24..27 "Bar"
- WHITESPACE@27..28 " "
- EQ@28..29 "="
- WHITESPACE@29..30 " "
- TUPLE_EXPR@30..32
- L_PAREN@30..31 "("
- R_PAREN@31..32 ")"
- SEMICOLON@32..33 ";"
- WHITESPACE@33..38 "\n "
- LET_STMT@38..53
- LET_KW@38..41 "let"
- WHITESPACE@41..42 " "
- PATH_PAT@42..47
- PATH@42..47
- PATH_SEGMENT@42..47
- COLON2@42..44 "::"
- NAME_REF@44..47
- IDENT@44..47 "Bar"
- WHITESPACE@47..48 " "
- EQ@48..49 "="
- WHITESPACE@49..50 " "
- TUPLE_EXPR@50..52
- L_PAREN@50..51 "("
- R_PAREN@51..52 ")"
- SEMICOLON@52..53 ";"
- WHITESPACE@53..58 "\n "
- LET_STMT@58..78
- LET_KW@58..61 "let"
- WHITESPACE@61..62 " "
- RECORD_PAT@62..72
- PATH@62..65
- PATH_SEGMENT@62..65
- NAME_REF@62..65
- IDENT@62..65 "Bar"
- WHITESPACE@65..66 " "
- RECORD_FIELD_PAT_LIST@66..72
- L_CURLY@66..67 "{"
- WHITESPACE@67..68 " "
- DOT2@68..70 ".."
- WHITESPACE@70..71 " "
- R_CURLY@71..72 "}"
- WHITESPACE@72..73 " "
- EQ@73..74 "="
- WHITESPACE@74..75 " "
- TUPLE_EXPR@75..77
- L_PAREN@75..76 "("
- R_PAREN@76..77 ")"
- SEMICOLON@77..78 ";"
- WHITESPACE@78..83 "\n "
- LET_STMT@83..100
- LET_KW@83..86 "let"
- WHITESPACE@86..87 " "
- TUPLE_STRUCT_PAT@87..94
- PATH@87..90
- PATH_SEGMENT@87..90
- NAME_REF@87..90
- IDENT@87..90 "Bar"
- L_PAREN@90..91 "("
- DOT_DOT_PAT@91..93
- DOT2@91..93 ".."
- R_PAREN@93..94 ")"
- WHITESPACE@94..95 " "
- EQ@95..96 "="
- WHITESPACE@96..97 " "
- TUPLE_EXPR@97..99
- L_PAREN@97..98 "("
- R_PAREN@98..99 ")"
- SEMICOLON@99..100 ";"
- WHITESPACE@100..101 "\n"
- R_CURLY@101..102 "}"
+ L_CURLY@9..10 "{"
+ WHITESPACE@10..15 "\n "
+ LET_STMT@15..33
+ LET_KW@15..18 "let"
+ WHITESPACE@18..19 " "
+ PATH_PAT@19..27
+ PATH@19..27
+ PATH@19..22
+ PATH_SEGMENT@19..22
+ NAME_REF@19..22
+ IDENT@19..22 "foo"
+ COLON2@22..24 "::"
+ PATH_SEGMENT@24..27
+ NAME_REF@24..27
+ IDENT@24..27 "Bar"
+ WHITESPACE@27..28 " "
+ EQ@28..29 "="
+ WHITESPACE@29..30 " "
+ TUPLE_EXPR@30..32
+ L_PAREN@30..31 "("
+ R_PAREN@31..32 ")"
+ SEMICOLON@32..33 ";"
+ WHITESPACE@33..38 "\n "
+ LET_STMT@38..53
+ LET_KW@38..41 "let"
+ WHITESPACE@41..42 " "
+ PATH_PAT@42..47
+ PATH@42..47
+ PATH_SEGMENT@42..47
+ COLON2@42..44 "::"
+ NAME_REF@44..47
+ IDENT@44..47 "Bar"
+ WHITESPACE@47..48 " "
+ EQ@48..49 "="
+ WHITESPACE@49..50 " "
+ TUPLE_EXPR@50..52
+ L_PAREN@50..51 "("
+ R_PAREN@51..52 ")"
+ SEMICOLON@52..53 ";"
+ WHITESPACE@53..58 "\n "
+ LET_STMT@58..78
+ LET_KW@58..61 "let"
+ WHITESPACE@61..62 " "
+ RECORD_PAT@62..72
+ PATH@62..65
+ PATH_SEGMENT@62..65
+ NAME_REF@62..65
+ IDENT@62..65 "Bar"
+ WHITESPACE@65..66 " "
+ RECORD_FIELD_PAT_LIST@66..72
+ L_CURLY@66..67 "{"
+ WHITESPACE@67..68 " "
+ DOT2@68..70 ".."
+ WHITESPACE@70..71 " "
+ R_CURLY@71..72 "}"
+ WHITESPACE@72..73 " "
+ EQ@73..74 "="
+ WHITESPACE@74..75 " "
+ TUPLE_EXPR@75..77
+ L_PAREN@75..76 "("
+ R_PAREN@76..77 ")"
+ SEMICOLON@77..78 ";"
+ WHITESPACE@78..83 "\n "
+ LET_STMT@83..100
+ LET_KW@83..86 "let"
+ WHITESPACE@86..87 " "
+ TUPLE_STRUCT_PAT@87..94
+ PATH@87..90
+ PATH_SEGMENT@87..90
+ NAME_REF@87..90
+ IDENT@87..90 "Bar"
+ L_PAREN@90..91 "("
+ DOT_DOT_PAT@91..93
+ DOT2@91..93 ".."
+ R_PAREN@93..94 ")"
+ WHITESPACE@94..95 " "
+ EQ@95..96 "="
+ WHITESPACE@96..97 " "
+ TUPLE_EXPR@97..99
+ L_PAREN@97..98 "("
+ R_PAREN@98..99 ")"
+ SEMICOLON@99..100 ";"
+ WHITESPACE@100..101 "\n"
+ R_CURLY@101..102 "}"
WHITESPACE@102..103 "\n"
R_PAREN@7..8 ")"
WHITESPACE@8..9 " "
BLOCK_EXPR@9..25
- BLOCK@9..25
- L_CURLY@9..10 "{"
- WHITESPACE@10..15 "\n "
- EXPR_STMT@15..23
- LOOP_EXPR@15..22
- LOOP_KW@15..19 "loop"
- WHITESPACE@19..20 " "
- BLOCK_EXPR@20..22
- BLOCK@20..22
- L_CURLY@20..21 "{"
- R_CURLY@21..22 "}"
- SEMICOLON@22..23 ";"
- WHITESPACE@23..24 "\n"
- R_CURLY@24..25 "}"
+ L_CURLY@9..10 "{"
+ WHITESPACE@10..15 "\n "
+ EXPR_STMT@15..23
+ LOOP_EXPR@15..22
+ LOOP_KW@15..19 "loop"
+ WHITESPACE@19..20 " "
+ BLOCK_EXPR@20..22
+ L_CURLY@20..21 "{"
+ R_CURLY@21..22 "}"
+ SEMICOLON@22..23 ";"
+ WHITESPACE@23..24 "\n"
+ R_CURLY@24..25 "}"
WHITESPACE@25..26 "\n"
R_PAREN@7..8 ")"
WHITESPACE@8..9 " "
BLOCK_EXPR@9..47
- BLOCK@9..47
- L_CURLY@9..10 "{"
- WHITESPACE@10..15 "\n "
- EXPR_STMT@15..21
- FIELD_EXPR@15..20
- PATH_EXPR@15..16
- PATH@15..16
- PATH_SEGMENT@15..16
- NAME_REF@15..16
- IDENT@15..16 "x"
- DOT@16..17 "."
- NAME_REF@17..20
- IDENT@17..20 "foo"
- SEMICOLON@20..21 ";"
- WHITESPACE@21..26 "\n "
- EXPR_STMT@26..34
- FIELD_EXPR@26..33
- FIELD_EXPR@26..29
- PATH_EXPR@26..27
- PATH@26..27
- PATH_SEGMENT@26..27
- NAME_REF@26..27
- IDENT@26..27 "x"
- DOT@27..28 "."
- NAME_REF@28..29
- INT_NUMBER@28..29 "0"
- DOT@29..30 "."
- NAME_REF@30..33
- IDENT@30..33 "bar"
- SEMICOLON@33..34 ";"
- WHITESPACE@34..39 "\n "
- EXPR_STMT@39..45
- CALL_EXPR@39..44
- FIELD_EXPR@39..42
- PATH_EXPR@39..40
- PATH@39..40
- PATH_SEGMENT@39..40
- NAME_REF@39..40
- IDENT@39..40 "x"
- DOT@40..41 "."
- NAME_REF@41..42
- INT_NUMBER@41..42 "0"
- ARG_LIST@42..44
- L_PAREN@42..43 "("
- R_PAREN@43..44 ")"
- SEMICOLON@44..45 ";"
- WHITESPACE@45..46 "\n"
- R_CURLY@46..47 "}"
+ L_CURLY@9..10 "{"
+ WHITESPACE@10..15 "\n "
+ EXPR_STMT@15..21
+ FIELD_EXPR@15..20
+ PATH_EXPR@15..16
+ PATH@15..16
+ PATH_SEGMENT@15..16
+ NAME_REF@15..16
+ IDENT@15..16 "x"
+ DOT@16..17 "."
+ NAME_REF@17..20
+ IDENT@17..20 "foo"
+ SEMICOLON@20..21 ";"
+ WHITESPACE@21..26 "\n "
+ EXPR_STMT@26..34
+ FIELD_EXPR@26..33
+ FIELD_EXPR@26..29
+ PATH_EXPR@26..27
+ PATH@26..27
+ PATH_SEGMENT@26..27
+ NAME_REF@26..27
+ IDENT@26..27 "x"
+ DOT@27..28 "."
+ NAME_REF@28..29
+ INT_NUMBER@28..29 "0"
+ DOT@29..30 "."
+ NAME_REF@30..33
+ IDENT@30..33 "bar"
+ SEMICOLON@33..34 ";"
+ WHITESPACE@34..39 "\n "
+ EXPR_STMT@39..45
+ CALL_EXPR@39..44
+ FIELD_EXPR@39..42
+ PATH_EXPR@39..40
+ PATH@39..40
+ PATH_SEGMENT@39..40
+ NAME_REF@39..40
+ IDENT@39..40 "x"
+ DOT@40..41 "."
+ NAME_REF@41..42
+ INT_NUMBER@41..42 "0"
+ ARG_LIST@42..44
+ L_PAREN@42..43 "("
+ R_PAREN@43..44 ")"
+ SEMICOLON@44..45 ";"
+ WHITESPACE@45..46 "\n"
+ R_CURLY@46..47 "}"
WHITESPACE@47..48 "\n"
R_PAREN@7..8 ")"
WHITESPACE@8..9 " "
BLOCK_EXPR@9..68
- BLOCK@9..68
- L_CURLY@9..10 "{"
- WHITESPACE@10..15 "\n "
- LOOP_EXPR@15..66
- LOOP_KW@15..19 "loop"
- WHITESPACE@19..20 " "
- BLOCK_EXPR@20..66
- BLOCK@20..66
- L_CURLY@20..21 "{"
- WHITESPACE@21..30 "\n "
- EXPR_STMT@30..39
- CONTINUE_EXPR@30..38
- CONTINUE_KW@30..38 "continue"
- SEMICOLON@38..39 ";"
- WHITESPACE@39..48 "\n "
- EXPR_STMT@48..60
- CONTINUE_EXPR@48..59
- CONTINUE_KW@48..56 "continue"
- WHITESPACE@56..57 " "
- LIFETIME@57..59 "\'l"
- SEMICOLON@59..60 ";"
- WHITESPACE@60..65 "\n "
- R_CURLY@65..66 "}"
- WHITESPACE@66..67 "\n"
- R_CURLY@67..68 "}"
+ L_CURLY@9..10 "{"
+ WHITESPACE@10..15 "\n "
+ LOOP_EXPR@15..66
+ LOOP_KW@15..19 "loop"
+ WHITESPACE@19..20 " "
+ BLOCK_EXPR@20..66
+ L_CURLY@20..21 "{"
+ WHITESPACE@21..30 "\n "
+ EXPR_STMT@30..39
+ CONTINUE_EXPR@30..38
+ CONTINUE_KW@30..38 "continue"
+ SEMICOLON@38..39 ";"
+ WHITESPACE@39..48 "\n "
+ EXPR_STMT@48..60
+ CONTINUE_EXPR@48..59
+ CONTINUE_KW@48..56 "continue"
+ WHITESPACE@56..57 " "
+ LIFETIME@57..59 "\'l"
+ SEMICOLON@59..60 ";"
+ WHITESPACE@60..65 "\n "
+ R_CURLY@65..66 "}"
+ WHITESPACE@66..67 "\n"
+ R_CURLY@67..68 "}"
WHITESPACE@68..69 "\n"
R_PAREN@29..30 ")"
WHITESPACE@30..31 " "
BLOCK_EXPR@31..33
- BLOCK@31..33
- L_CURLY@31..32 "{"
- R_CURLY@32..33 "}"
+ L_CURLY@31..32 "{"
+ R_CURLY@32..33 "}"
WHITESPACE@33..38 "\n "
FN_DEF@38..66
FN_KW@38..40 "fn"
R_PAREN@62..63 ")"
WHITESPACE@63..64 " "
BLOCK_EXPR@64..66
- BLOCK@64..66
- L_CURLY@64..65 "{"
- R_CURLY@65..66 "}"
+ L_CURLY@64..65 "{"
+ R_CURLY@65..66 "}"
WHITESPACE@66..67 "\n"
R_CURLY@67..68 "}"
WHITESPACE@68..69 "\n"
R_PAREN@7..8 ")"
WHITESPACE@8..9 " "
BLOCK_EXPR@9..43
- BLOCK@9..43
- L_CURLY@9..10 "{"
- WHITESPACE@10..15 "\n "
- EXPR_STMT@15..20
- PREFIX_EXPR@15..19
- STAR@15..16 "*"
- PREFIX_EXPR@16..19
- STAR@16..17 "*"
- REF_EXPR@17..19
- AMP@17..18 "&"
- LITERAL@18..19
- INT_NUMBER@18..19 "1"
- SEMICOLON@19..20 ";"
- WHITESPACE@20..25 "\n "
- EXPR_STMT@25..32
- PREFIX_EXPR@25..31
- BANG@25..26 "!"
- PREFIX_EXPR@26..31
- BANG@26..27 "!"
- LITERAL@27..31
- TRUE_KW@27..31 "true"
- SEMICOLON@31..32 ";"
- WHITESPACE@32..37 "\n "
- EXPR_STMT@37..41
- PREFIX_EXPR@37..40
- MINUS@37..38 "-"
- PREFIX_EXPR@38..40
- MINUS@38..39 "-"
- LITERAL@39..40
- INT_NUMBER@39..40 "1"
- SEMICOLON@40..41 ";"
- WHITESPACE@41..42 "\n"
- R_CURLY@42..43 "}"
+ L_CURLY@9..10 "{"
+ WHITESPACE@10..15 "\n "
+ EXPR_STMT@15..20
+ PREFIX_EXPR@15..19
+ STAR@15..16 "*"
+ PREFIX_EXPR@16..19
+ STAR@16..17 "*"
+ REF_EXPR@17..19
+ AMP@17..18 "&"
+ LITERAL@18..19
+ INT_NUMBER@18..19 "1"
+ SEMICOLON@19..20 ";"
+ WHITESPACE@20..25 "\n "
+ EXPR_STMT@25..32
+ PREFIX_EXPR@25..31
+ BANG@25..26 "!"
+ PREFIX_EXPR@26..31
+ BANG@26..27 "!"
+ LITERAL@27..31
+ TRUE_KW@27..31 "true"
+ SEMICOLON@31..32 ";"
+ WHITESPACE@32..37 "\n "
+ EXPR_STMT@37..41
+ PREFIX_EXPR@37..40
+ MINUS@37..38 "-"
+ PREFIX_EXPR@38..40
+ MINUS@38..39 "-"
+ LITERAL@39..40
+ INT_NUMBER@39..40 "1"
+ SEMICOLON@40..41 ";"
+ WHITESPACE@41..42 "\n"
+ R_CURLY@42..43 "}"
WHITESPACE@43..44 "\n"
R_PAREN@61..62 ")"
WHITESPACE@62..63 " "
BLOCK_EXPR@63..65
- BLOCK@63..65
- L_CURLY@63..64 "{"
- R_CURLY@64..65 "}"
+ L_CURLY@63..64 "{"
+ R_CURLY@64..65 "}"
WHITESPACE@65..70 "\n "
FN_DEF@70..86
FN_KW@70..72 "fn"
R_PAREN@82..83 ")"
WHITESPACE@83..84 " "
BLOCK_EXPR@84..86
- BLOCK@84..86
- L_CURLY@84..85 "{"
- R_CURLY@85..86 "}"
+ L_CURLY@84..85 "{"
+ R_CURLY@85..86 "}"
WHITESPACE@86..87 "\n"
R_CURLY@87..88 "}"
WHITESPACE@88..89 "\n"
R_PAREN@8..9 ")"
WHITESPACE@9..10 " "
BLOCK_EXPR@10..38
- BLOCK@10..38
- L_CURLY@10..11 "{"
- WHITESPACE@11..16 "\n "
- LET_STMT@16..36
- LET_KW@16..19 "let"
- WHITESPACE@19..20 " "
- SLICE_PAT@20..30
- L_BRACK@20..21 "["
- BIND_PAT@21..22
- NAME@21..22
- IDENT@21..22 "a"
- COMMA@22..23 ","
- WHITESPACE@23..24 " "
- BIND_PAT@24..25
- NAME@24..25
- IDENT@24..25 "b"
- COMMA@25..26 ","
- WHITESPACE@26..27 " "
- DOT_DOT_PAT@27..29
- DOT2@27..29 ".."
- R_BRACK@29..30 "]"
- WHITESPACE@30..31 " "
- EQ@31..32 "="
- WHITESPACE@32..33 " "
- ARRAY_EXPR@33..35
- L_BRACK@33..34 "["
- R_BRACK@34..35 "]"
- SEMICOLON@35..36 ";"
- WHITESPACE@36..37 "\n"
- R_CURLY@37..38 "}"
+ L_CURLY@10..11 "{"
+ WHITESPACE@11..16 "\n "
+ LET_STMT@16..36
+ LET_KW@16..19 "let"
+ WHITESPACE@19..20 " "
+ SLICE_PAT@20..30
+ L_BRACK@20..21 "["
+ BIND_PAT@21..22
+ NAME@21..22
+ IDENT@21..22 "a"
+ COMMA@22..23 ","
+ WHITESPACE@23..24 " "
+ BIND_PAT@24..25
+ NAME@24..25
+ IDENT@24..25 "b"
+ COMMA@25..26 ","
+ WHITESPACE@26..27 " "
+ DOT_DOT_PAT@27..29
+ DOT2@27..29 ".."
+ R_BRACK@29..30 "]"
+ WHITESPACE@30..31 " "
+ EQ@31..32 "="
+ WHITESPACE@32..33 " "
+ ARRAY_EXPR@33..35
+ L_BRACK@33..34 "["
+ R_BRACK@34..35 "]"
+ SEMICOLON@35..36 ";"
+ WHITESPACE@36..37 "\n"
+ R_CURLY@37..38 "}"
WHITESPACE@38..39 "\n"
R_PAREN@7..8 ")"
WHITESPACE@8..9 " "
BLOCK_EXPR@9..96
- BLOCK@9..96
- L_CURLY@9..10 "{"
- WHITESPACE@10..15 "\n "
- LET_STMT@15..28
- LET_KW@15..18 "let"
- WHITESPACE@18..19 " "
- TUPLE_STRUCT_PAT@19..22
- PATH@19..20
- PATH_SEGMENT@19..20
- NAME_REF@19..20
- IDENT@19..20 "S"
- L_PAREN@20..21 "("
- R_PAREN@21..22 ")"
- WHITESPACE@22..23 " "
- EQ@23..24 "="
- WHITESPACE@24..25 " "
- TUPLE_EXPR@25..27
- L_PAREN@25..26 "("
- R_PAREN@26..27 ")"
- SEMICOLON@27..28 ";"
- WHITESPACE@28..33 "\n "
- LET_STMT@33..47
- LET_KW@33..36 "let"
- WHITESPACE@36..37 " "
- TUPLE_STRUCT_PAT@37..41
- PATH@37..38
- PATH_SEGMENT@37..38
- NAME_REF@37..38
- IDENT@37..38 "S"
- L_PAREN@38..39 "("
- PLACEHOLDER_PAT@39..40
- UNDERSCORE@39..40 "_"
- R_PAREN@40..41 ")"
- WHITESPACE@41..42 " "
- EQ@42..43 "="
- WHITESPACE@43..44 " "
- TUPLE_EXPR@44..46
- L_PAREN@44..45 "("
- R_PAREN@45..46 ")"
- SEMICOLON@46..47 ";"
- WHITESPACE@47..52 "\n "
- LET_STMT@52..67
- LET_KW@52..55 "let"
- WHITESPACE@55..56 " "
- TUPLE_STRUCT_PAT@56..61
- PATH@56..57
- PATH_SEGMENT@56..57
- NAME_REF@56..57
- IDENT@56..57 "S"
- L_PAREN@57..58 "("
- PLACEHOLDER_PAT@58..59
- UNDERSCORE@58..59 "_"
- COMMA@59..60 ","
- R_PAREN@60..61 ")"
- WHITESPACE@61..62 " "
- EQ@62..63 "="
- WHITESPACE@63..64 " "
- TUPLE_EXPR@64..66
- L_PAREN@64..65 "("
- R_PAREN@65..66 ")"
- SEMICOLON@66..67 ";"
- WHITESPACE@67..72 "\n "
- LET_STMT@72..94
- LET_KW@72..75 "let"
- WHITESPACE@75..76 " "
- TUPLE_STRUCT_PAT@76..88
- PATH@76..77
- PATH_SEGMENT@76..77
- NAME_REF@76..77
- IDENT@76..77 "S"
- L_PAREN@77..78 "("
- PLACEHOLDER_PAT@78..79
- UNDERSCORE@78..79 "_"
- COMMA@79..80 ","
- WHITESPACE@80..81 " "
- DOT_DOT_PAT@81..83
- DOT2@81..83 ".."
- WHITESPACE@83..84 " "
- COMMA@84..85 ","
- WHITESPACE@85..86 " "
- BIND_PAT@86..87
- NAME@86..87
- IDENT@86..87 "x"
- R_PAREN@87..88 ")"
- WHITESPACE@88..89 " "
- EQ@89..90 "="
- WHITESPACE@90..91 " "
- TUPLE_EXPR@91..93
- L_PAREN@91..92 "("
- R_PAREN@92..93 ")"
- SEMICOLON@93..94 ";"
- WHITESPACE@94..95 "\n"
- R_CURLY@95..96 "}"
+ L_CURLY@9..10 "{"
+ WHITESPACE@10..15 "\n "
+ LET_STMT@15..28
+ LET_KW@15..18 "let"
+ WHITESPACE@18..19 " "
+ TUPLE_STRUCT_PAT@19..22
+ PATH@19..20
+ PATH_SEGMENT@19..20
+ NAME_REF@19..20
+ IDENT@19..20 "S"
+ L_PAREN@20..21 "("
+ R_PAREN@21..22 ")"
+ WHITESPACE@22..23 " "
+ EQ@23..24 "="
+ WHITESPACE@24..25 " "
+ TUPLE_EXPR@25..27
+ L_PAREN@25..26 "("
+ R_PAREN@26..27 ")"
+ SEMICOLON@27..28 ";"
+ WHITESPACE@28..33 "\n "
+ LET_STMT@33..47
+ LET_KW@33..36 "let"
+ WHITESPACE@36..37 " "
+ TUPLE_STRUCT_PAT@37..41
+ PATH@37..38
+ PATH_SEGMENT@37..38
+ NAME_REF@37..38
+ IDENT@37..38 "S"
+ L_PAREN@38..39 "("
+ PLACEHOLDER_PAT@39..40
+ UNDERSCORE@39..40 "_"
+ R_PAREN@40..41 ")"
+ WHITESPACE@41..42 " "
+ EQ@42..43 "="
+ WHITESPACE@43..44 " "
+ TUPLE_EXPR@44..46
+ L_PAREN@44..45 "("
+ R_PAREN@45..46 ")"
+ SEMICOLON@46..47 ";"
+ WHITESPACE@47..52 "\n "
+ LET_STMT@52..67
+ LET_KW@52..55 "let"
+ WHITESPACE@55..56 " "
+ TUPLE_STRUCT_PAT@56..61
+ PATH@56..57
+ PATH_SEGMENT@56..57
+ NAME_REF@56..57
+ IDENT@56..57 "S"
+ L_PAREN@57..58 "("
+ PLACEHOLDER_PAT@58..59
+ UNDERSCORE@58..59 "_"
+ COMMA@59..60 ","
+ R_PAREN@60..61 ")"
+ WHITESPACE@61..62 " "
+ EQ@62..63 "="
+ WHITESPACE@63..64 " "
+ TUPLE_EXPR@64..66
+ L_PAREN@64..65 "("
+ R_PAREN@65..66 ")"
+ SEMICOLON@66..67 ";"
+ WHITESPACE@67..72 "\n "
+ LET_STMT@72..94
+ LET_KW@72..75 "let"
+ WHITESPACE@75..76 " "
+ TUPLE_STRUCT_PAT@76..88
+ PATH@76..77
+ PATH_SEGMENT@76..77
+ NAME_REF@76..77
+ IDENT@76..77 "S"
+ L_PAREN@77..78 "("
+ PLACEHOLDER_PAT@78..79
+ UNDERSCORE@78..79 "_"
+ COMMA@79..80 ","
+ WHITESPACE@80..81 " "
+ DOT_DOT_PAT@81..83
+ DOT2@81..83 ".."
+ WHITESPACE@83..84 " "
+ COMMA@84..85 ","
+ WHITESPACE@85..86 " "
+ BIND_PAT@86..87
+ NAME@86..87
+ IDENT@86..87 "x"
+ R_PAREN@87..88 ")"
+ WHITESPACE@88..89 " "
+ EQ@89..90 "="
+ WHITESPACE@90..91 " "
+ TUPLE_EXPR@91..93
+ L_PAREN@91..92 "("
+ R_PAREN@92..93 ")"
+ SEMICOLON@93..94 ";"
+ WHITESPACE@94..95 "\n"
+ R_CURLY@95..96 "}"
WHITESPACE@96..97 "\n"
R_PAREN@8..9 ")"
WHITESPACE@9..10 " "
BLOCK_EXPR@10..51
- BLOCK@10..51
- L_CURLY@10..11 "{"
- WHITESPACE@11..16 "\n "
- LET_STMT@16..28
- LET_KW@16..19 "let"
- WHITESPACE@19..20 " "
- REF_PAT@20..22
- AMP@20..21 "&"
- BIND_PAT@21..22
- NAME@21..22
- IDENT@21..22 "a"
- WHITESPACE@22..23 " "
- EQ@23..24 "="
- WHITESPACE@24..25 " "
- TUPLE_EXPR@25..27
- L_PAREN@25..26 "("
- R_PAREN@26..27 ")"
- SEMICOLON@27..28 ";"
- WHITESPACE@28..33 "\n "
- LET_STMT@33..49
- LET_KW@33..36 "let"
- WHITESPACE@36..37 " "
- REF_PAT@37..43
- AMP@37..38 "&"
- MUT_KW@38..41 "mut"
- WHITESPACE@41..42 " "
- BIND_PAT@42..43
- NAME@42..43
- IDENT@42..43 "b"
- WHITESPACE@43..44 " "
- EQ@44..45 "="
- WHITESPACE@45..46 " "
- TUPLE_EXPR@46..48
- L_PAREN@46..47 "("
- R_PAREN@47..48 ")"
- SEMICOLON@48..49 ";"
- WHITESPACE@49..50 "\n"
- R_CURLY@50..51 "}"
+ L_CURLY@10..11 "{"
+ WHITESPACE@11..16 "\n "
+ LET_STMT@16..28
+ LET_KW@16..19 "let"
+ WHITESPACE@19..20 " "
+ REF_PAT@20..22
+ AMP@20..21 "&"
+ BIND_PAT@21..22
+ NAME@21..22
+ IDENT@21..22 "a"
+ WHITESPACE@22..23 " "
+ EQ@23..24 "="
+ WHITESPACE@24..25 " "
+ TUPLE_EXPR@25..27
+ L_PAREN@25..26 "("
+ R_PAREN@26..27 ")"
+ SEMICOLON@27..28 ";"
+ WHITESPACE@28..33 "\n "
+ LET_STMT@33..49
+ LET_KW@33..36 "let"
+ WHITESPACE@36..37 " "
+ REF_PAT@37..43
+ AMP@37..38 "&"
+ MUT_KW@38..41 "mut"
+ WHITESPACE@41..42 " "
+ BIND_PAT@42..43
+ NAME@42..43
+ IDENT@42..43 "b"
+ WHITESPACE@43..44 " "
+ EQ@44..45 "="
+ WHITESPACE@45..46 " "
+ TUPLE_EXPR@46..48
+ L_PAREN@46..47 "("
+ R_PAREN@47..48 ")"
+ SEMICOLON@48..49 ";"
+ WHITESPACE@49..50 "\n"
+ R_CURLY@50..51 "}"
WHITESPACE@51..52 "\n"
R_PAREN@7..8 ")"
WHITESPACE@8..9 " "
BLOCK_EXPR@9..88
- BLOCK@9..88
- L_CURLY@9..10 "{"
- WHITESPACE@10..15 "\n "
- EXPR_STMT@15..25
- CAST_EXPR@15..24
- LITERAL@15..17
- INT_NUMBER@15..17 "82"
- WHITESPACE@17..18 " "
- AS_KW@18..20 "as"
- WHITESPACE@20..21 " "
- PATH_TYPE@21..24
- PATH@21..24
- PATH_SEGMENT@21..24
- NAME_REF@21..24
- IDENT@21..24 "i32"
- SEMICOLON@24..25 ";"
- WHITESPACE@25..30 "\n "
- EXPR_STMT@30..43
- BIN_EXPR@30..42
- CAST_EXPR@30..38
- LITERAL@30..32
- INT_NUMBER@30..32 "81"
- WHITESPACE@32..33 " "
- AS_KW@33..35 "as"
- WHITESPACE@35..36 " "
- PATH_TYPE@36..38
- PATH@36..38
- PATH_SEGMENT@36..38
- NAME_REF@36..38
- IDENT@36..38 "i8"
- WHITESPACE@38..39 " "
- PLUS@39..40 "+"
- WHITESPACE@40..41 " "
- LITERAL@41..42
- INT_NUMBER@41..42 "1"
- SEMICOLON@42..43 ";"
- WHITESPACE@43..48 "\n "
- EXPR_STMT@48..62
- BIN_EXPR@48..61
- CAST_EXPR@48..57
- LITERAL@48..50
- INT_NUMBER@48..50 "79"
- WHITESPACE@50..51 " "
- AS_KW@51..53 "as"
- WHITESPACE@53..54 " "
- PATH_TYPE@54..57
- PATH@54..57
- PATH_SEGMENT@54..57
- NAME_REF@54..57
- IDENT@54..57 "i16"
- WHITESPACE@57..58 " "
- MINUS@58..59 "-"
- WHITESPACE@59..60 " "
- LITERAL@60..61
- INT_NUMBER@60..61 "1"
- SEMICOLON@61..62 ";"
- WHITESPACE@62..67 "\n "
- EXPR_STMT@67..86
- BIN_EXPR@67..85
- CAST_EXPR@67..77
- LITERAL@67..71
- INT_NUMBER@67..71 "0x36"
- WHITESPACE@71..72 " "
- AS_KW@72..74 "as"
- WHITESPACE@74..75 " "
- PATH_TYPE@75..77
- PATH@75..77
- PATH_SEGMENT@75..77
- NAME_REF@75..77
- IDENT@75..77 "u8"
- WHITESPACE@77..78 " "
- LTEQ@78..80 "<="
- WHITESPACE@80..81 " "
- LITERAL@81..85
- INT_NUMBER@81..85 "0x37"
- SEMICOLON@85..86 ";"
- WHITESPACE@86..87 "\n"
- R_CURLY@87..88 "}"
+ L_CURLY@9..10 "{"
+ WHITESPACE@10..15 "\n "
+ EXPR_STMT@15..25
+ CAST_EXPR@15..24
+ LITERAL@15..17
+ INT_NUMBER@15..17 "82"
+ WHITESPACE@17..18 " "
+ AS_KW@18..20 "as"
+ WHITESPACE@20..21 " "
+ PATH_TYPE@21..24
+ PATH@21..24
+ PATH_SEGMENT@21..24
+ NAME_REF@21..24
+ IDENT@21..24 "i32"
+ SEMICOLON@24..25 ";"
+ WHITESPACE@25..30 "\n "
+ EXPR_STMT@30..43
+ BIN_EXPR@30..42
+ CAST_EXPR@30..38
+ LITERAL@30..32
+ INT_NUMBER@30..32 "81"
+ WHITESPACE@32..33 " "
+ AS_KW@33..35 "as"
+ WHITESPACE@35..36 " "
+ PATH_TYPE@36..38
+ PATH@36..38
+ PATH_SEGMENT@36..38
+ NAME_REF@36..38
+ IDENT@36..38 "i8"
+ WHITESPACE@38..39 " "
+ PLUS@39..40 "+"
+ WHITESPACE@40..41 " "
+ LITERAL@41..42
+ INT_NUMBER@41..42 "1"
+ SEMICOLON@42..43 ";"
+ WHITESPACE@43..48 "\n "
+ EXPR_STMT@48..62
+ BIN_EXPR@48..61
+ CAST_EXPR@48..57
+ LITERAL@48..50
+ INT_NUMBER@48..50 "79"
+ WHITESPACE@50..51 " "
+ AS_KW@51..53 "as"
+ WHITESPACE@53..54 " "
+ PATH_TYPE@54..57
+ PATH@54..57
+ PATH_SEGMENT@54..57
+ NAME_REF@54..57
+ IDENT@54..57 "i16"
+ WHITESPACE@57..58 " "
+ MINUS@58..59 "-"
+ WHITESPACE@59..60 " "
+ LITERAL@60..61
+ INT_NUMBER@60..61 "1"
+ SEMICOLON@61..62 ";"
+ WHITESPACE@62..67 "\n "
+ EXPR_STMT@67..86
+ BIN_EXPR@67..85
+ CAST_EXPR@67..77
+ LITERAL@67..71
+ INT_NUMBER@67..71 "0x36"
+ WHITESPACE@71..72 " "
+ AS_KW@72..74 "as"
+ WHITESPACE@74..75 " "
+ PATH_TYPE@75..77
+ PATH@75..77
+ PATH_SEGMENT@75..77
+ NAME_REF@75..77
+ IDENT@75..77 "u8"
+ WHITESPACE@77..78 " "
+ LTEQ@78..80 "<="
+ WHITESPACE@80..81 " "
+ LITERAL@81..85
+ INT_NUMBER@81..85 "0x37"
+ SEMICOLON@85..86 ";"
+ WHITESPACE@86..87 "\n"
+ R_CURLY@87..88 "}"
WHITESPACE@88..89 "\n"
R_PAREN@7..8 ")"
WHITESPACE@8..9 " "
BLOCK_EXPR@9..37
- BLOCK@9..37
- L_CURLY@9..10 "{"
- WHITESPACE@10..11 " "
- IF_EXPR@11..35
- IF_KW@11..13 "if"
- WHITESPACE@13..14 " "
- CONDITION@14..32
- LET_KW@14..17 "let"
- WHITESPACE@17..18 " "
- TUPLE_STRUCT_PAT@18..25
- PATH@18..22
- PATH_SEGMENT@18..22
- NAME_REF@18..22
- IDENT@18..22 "Some"
- L_PAREN@22..23 "("
- PLACEHOLDER_PAT@23..24
- UNDERSCORE@23..24 "_"
- R_PAREN@24..25 ")"
- WHITESPACE@25..26 " "
- EQ@26..27 "="
- WHITESPACE@27..28 " "
- PATH_EXPR@28..32
- PATH@28..32
- PATH_SEGMENT@28..32
- NAME_REF@28..32
- IDENT@28..32 "None"
- WHITESPACE@32..33 " "
- BLOCK_EXPR@33..35
- BLOCK@33..35
- L_CURLY@33..34 "{"
- R_CURLY@34..35 "}"
- WHITESPACE@35..36 " "
- R_CURLY@36..37 "}"
+ L_CURLY@9..10 "{"
+ WHITESPACE@10..11 " "
+ IF_EXPR@11..35
+ IF_KW@11..13 "if"
+ WHITESPACE@13..14 " "
+ CONDITION@14..32
+ LET_KW@14..17 "let"
+ WHITESPACE@17..18 " "
+ TUPLE_STRUCT_PAT@18..25
+ PATH@18..22
+ PATH_SEGMENT@18..22
+ NAME_REF@18..22
+ IDENT@18..22 "Some"
+ L_PAREN@22..23 "("
+ PLACEHOLDER_PAT@23..24
+ UNDERSCORE@23..24 "_"
+ R_PAREN@24..25 ")"
+ WHITESPACE@25..26 " "
+ EQ@26..27 "="
+ WHITESPACE@27..28 " "
+ PATH_EXPR@28..32
+ PATH@28..32
+ PATH_SEGMENT@28..32
+ NAME_REF@28..32
+ IDENT@28..32 "None"
+ WHITESPACE@32..33 " "
+ BLOCK_EXPR@33..35
+ L_CURLY@33..34 "{"
+ R_CURLY@34..35 "}"
+ WHITESPACE@35..36 " "
+ R_CURLY@36..37 "}"
WHITESPACE@37..38 "\n"
FN_DEF@38..196
FN_KW@38..40 "fn"
R_PAREN@45..46 ")"
WHITESPACE@46..47 " "
BLOCK_EXPR@47..196
- BLOCK@47..196
- L_CURLY@47..48 "{"
- WHITESPACE@48..53 "\n "
- EXPR_STMT@53..87
- IF_EXPR@53..87
- IF_KW@53..55 "if"
- WHITESPACE@55..56 " "
- CONDITION@56..84
- LET_KW@56..59 "let"
- WHITESPACE@59..60 " "
- OR_PAT@60..77
- TUPLE_STRUCT_PAT@60..67
- PATH@60..64
- PATH_SEGMENT@60..64
- NAME_REF@60..64
- IDENT@60..64 "Some"
- L_PAREN@64..65 "("
- PLACEHOLDER_PAT@65..66
- UNDERSCORE@65..66 "_"
- R_PAREN@66..67 ")"
- WHITESPACE@67..68 " "
- PIPE@68..69 "|"
- WHITESPACE@69..70 " "
- TUPLE_STRUCT_PAT@70..77
- PATH@70..74
- PATH_SEGMENT@70..74
- NAME_REF@70..74
- IDENT@70..74 "Some"
- L_PAREN@74..75 "("
- PLACEHOLDER_PAT@75..76
- UNDERSCORE@75..76 "_"
- R_PAREN@76..77 ")"
- WHITESPACE@77..78 " "
- EQ@78..79 "="
- WHITESPACE@79..80 " "
- PATH_EXPR@80..84
- PATH@80..84
- PATH_SEGMENT@80..84
- NAME_REF@80..84
- IDENT@80..84 "None"
- WHITESPACE@84..85 " "
- BLOCK_EXPR@85..87
- BLOCK@85..87
- L_CURLY@85..86 "{"
- R_CURLY@86..87 "}"
- WHITESPACE@87..92 "\n "
- EXPR_STMT@92..118
- IF_EXPR@92..118
- IF_KW@92..94 "if"
- WHITESPACE@94..95 " "
- CONDITION@95..115
- LET_KW@95..98 "let"
- WHITESPACE@98..99 " "
- PIPE@99..100 "|"
- WHITESPACE@100..101 " "
- TUPLE_STRUCT_PAT@101..108
- PATH@101..105
- PATH_SEGMENT@101..105
- NAME_REF@101..105
- IDENT@101..105 "Some"
- L_PAREN@105..106 "("
- PLACEHOLDER_PAT@106..107
- UNDERSCORE@106..107 "_"
- R_PAREN@107..108 ")"
- WHITESPACE@108..109 " "
- EQ@109..110 "="
- WHITESPACE@110..111 " "
- PATH_EXPR@111..115
- PATH@111..115
- PATH_SEGMENT@111..115
- NAME_REF@111..115
- IDENT@111..115 "None"
- WHITESPACE@115..116 " "
- BLOCK_EXPR@116..118
- BLOCK@116..118
- L_CURLY@116..117 "{"
- R_CURLY@117..118 "}"
- WHITESPACE@118..123 "\n "
- EXPR_STMT@123..160
- WHILE_EXPR@123..160
- WHILE_KW@123..128 "while"
- WHITESPACE@128..129 " "
- CONDITION@129..157
- LET_KW@129..132 "let"
- WHITESPACE@132..133 " "
- OR_PAT@133..150
- TUPLE_STRUCT_PAT@133..140
- PATH@133..137
- PATH_SEGMENT@133..137
- NAME_REF@133..137
- IDENT@133..137 "Some"
- L_PAREN@137..138 "("
- PLACEHOLDER_PAT@138..139
- UNDERSCORE@138..139 "_"
- R_PAREN@139..140 ")"
- WHITESPACE@140..141 " "
- PIPE@141..142 "|"
- WHITESPACE@142..143 " "
- TUPLE_STRUCT_PAT@143..150
- PATH@143..147
- PATH_SEGMENT@143..147
- NAME_REF@143..147
- IDENT@143..147 "Some"
- L_PAREN@147..148 "("
- PLACEHOLDER_PAT@148..149
- UNDERSCORE@148..149 "_"
- R_PAREN@149..150 ")"
- WHITESPACE@150..151 " "
- EQ@151..152 "="
- WHITESPACE@152..153 " "
- PATH_EXPR@153..157
- PATH@153..157
- PATH_SEGMENT@153..157
- NAME_REF@153..157
- IDENT@153..157 "None"
- WHITESPACE@157..158 " "
- BLOCK_EXPR@158..160
- BLOCK@158..160
- L_CURLY@158..159 "{"
- R_CURLY@159..160 "}"
- WHITESPACE@160..165 "\n "
- WHILE_EXPR@165..194
- WHILE_KW@165..170 "while"
- WHITESPACE@170..171 " "
- CONDITION@171..191
- LET_KW@171..174 "let"
- WHITESPACE@174..175 " "
- PIPE@175..176 "|"
- WHITESPACE@176..177 " "
- TUPLE_STRUCT_PAT@177..184
- PATH@177..181
- PATH_SEGMENT@177..181
- NAME_REF@177..181
- IDENT@177..181 "Some"
- L_PAREN@181..182 "("
- PLACEHOLDER_PAT@182..183
- UNDERSCORE@182..183 "_"
- R_PAREN@183..184 ")"
- WHITESPACE@184..185 " "
- EQ@185..186 "="
- WHITESPACE@186..187 " "
- PATH_EXPR@187..191
- PATH@187..191
- PATH_SEGMENT@187..191
- NAME_REF@187..191
- IDENT@187..191 "None"
- WHITESPACE@191..192 " "
- BLOCK_EXPR@192..194
- BLOCK@192..194
- L_CURLY@192..193 "{"
- R_CURLY@193..194 "}"
- WHITESPACE@194..195 "\n"
- R_CURLY@195..196 "}"
+ L_CURLY@47..48 "{"
+ WHITESPACE@48..53 "\n "
+ EXPR_STMT@53..87
+ IF_EXPR@53..87
+ IF_KW@53..55 "if"
+ WHITESPACE@55..56 " "
+ CONDITION@56..84
+ LET_KW@56..59 "let"
+ WHITESPACE@59..60 " "
+ OR_PAT@60..77
+ TUPLE_STRUCT_PAT@60..67
+ PATH@60..64
+ PATH_SEGMENT@60..64
+ NAME_REF@60..64
+ IDENT@60..64 "Some"
+ L_PAREN@64..65 "("
+ PLACEHOLDER_PAT@65..66
+ UNDERSCORE@65..66 "_"
+ R_PAREN@66..67 ")"
+ WHITESPACE@67..68 " "
+ PIPE@68..69 "|"
+ WHITESPACE@69..70 " "
+ TUPLE_STRUCT_PAT@70..77
+ PATH@70..74
+ PATH_SEGMENT@70..74
+ NAME_REF@70..74
+ IDENT@70..74 "Some"
+ L_PAREN@74..75 "("
+ PLACEHOLDER_PAT@75..76
+ UNDERSCORE@75..76 "_"
+ R_PAREN@76..77 ")"
+ WHITESPACE@77..78 " "
+ EQ@78..79 "="
+ WHITESPACE@79..80 " "
+ PATH_EXPR@80..84
+ PATH@80..84
+ PATH_SEGMENT@80..84
+ NAME_REF@80..84
+ IDENT@80..84 "None"
+ WHITESPACE@84..85 " "
+ BLOCK_EXPR@85..87
+ L_CURLY@85..86 "{"
+ R_CURLY@86..87 "}"
+ WHITESPACE@87..92 "\n "
+ EXPR_STMT@92..118
+ IF_EXPR@92..118
+ IF_KW@92..94 "if"
+ WHITESPACE@94..95 " "
+ CONDITION@95..115
+ LET_KW@95..98 "let"
+ WHITESPACE@98..99 " "
+ PIPE@99..100 "|"
+ WHITESPACE@100..101 " "
+ TUPLE_STRUCT_PAT@101..108
+ PATH@101..105
+ PATH_SEGMENT@101..105
+ NAME_REF@101..105
+ IDENT@101..105 "Some"
+ L_PAREN@105..106 "("
+ PLACEHOLDER_PAT@106..107
+ UNDERSCORE@106..107 "_"
+ R_PAREN@107..108 ")"
+ WHITESPACE@108..109 " "
+ EQ@109..110 "="
+ WHITESPACE@110..111 " "
+ PATH_EXPR@111..115
+ PATH@111..115
+ PATH_SEGMENT@111..115
+ NAME_REF@111..115
+ IDENT@111..115 "None"
+ WHITESPACE@115..116 " "
+ BLOCK_EXPR@116..118
+ L_CURLY@116..117 "{"
+ R_CURLY@117..118 "}"
+ WHITESPACE@118..123 "\n "
+ EXPR_STMT@123..160
+ WHILE_EXPR@123..160
+ WHILE_KW@123..128 "while"
+ WHITESPACE@128..129 " "
+ CONDITION@129..157
+ LET_KW@129..132 "let"
+ WHITESPACE@132..133 " "
+ OR_PAT@133..150
+ TUPLE_STRUCT_PAT@133..140
+ PATH@133..137
+ PATH_SEGMENT@133..137
+ NAME_REF@133..137
+ IDENT@133..137 "Some"
+ L_PAREN@137..138 "("
+ PLACEHOLDER_PAT@138..139
+ UNDERSCORE@138..139 "_"
+ R_PAREN@139..140 ")"
+ WHITESPACE@140..141 " "
+ PIPE@141..142 "|"
+ WHITESPACE@142..143 " "
+ TUPLE_STRUCT_PAT@143..150
+ PATH@143..147
+ PATH_SEGMENT@143..147
+ NAME_REF@143..147
+ IDENT@143..147 "Some"
+ L_PAREN@147..148 "("
+ PLACEHOLDER_PAT@148..149
+ UNDERSCORE@148..149 "_"
+ R_PAREN@149..150 ")"
+ WHITESPACE@150..151 " "
+ EQ@151..152 "="
+ WHITESPACE@152..153 " "
+ PATH_EXPR@153..157
+ PATH@153..157
+ PATH_SEGMENT@153..157
+ NAME_REF@153..157
+ IDENT@153..157 "None"
+ WHITESPACE@157..158 " "
+ BLOCK_EXPR@158..160
+ L_CURLY@158..159 "{"
+ R_CURLY@159..160 "}"
+ WHITESPACE@160..165 "\n "
+ WHILE_EXPR@165..194
+ WHILE_KW@165..170 "while"
+ WHITESPACE@170..171 " "
+ CONDITION@171..191
+ LET_KW@171..174 "let"
+ WHITESPACE@174..175 " "
+ PIPE@175..176 "|"
+ WHITESPACE@176..177 " "
+ TUPLE_STRUCT_PAT@177..184
+ PATH@177..181
+ PATH_SEGMENT@177..181
+ NAME_REF@177..181
+ IDENT@177..181 "Some"
+ L_PAREN@181..182 "("
+ PLACEHOLDER_PAT@182..183
+ UNDERSCORE@182..183 "_"
+ R_PAREN@183..184 ")"
+ WHITESPACE@184..185 " "
+ EQ@185..186 "="
+ WHITESPACE@186..187 " "
+ PATH_EXPR@187..191
+ PATH@187..191
+ PATH_SEGMENT@187..191
+ NAME_REF@187..191
+ IDENT@187..191 "None"
+ WHITESPACE@191..192 " "
+ BLOCK_EXPR@192..194
+ L_CURLY@192..193 "{"
+ R_CURLY@193..194 "}"
+ WHITESPACE@194..195 "\n"
+ R_CURLY@195..196 "}"
WHITESPACE@196..197 "\n"
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 "}"
- SEMICOLON@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 "}"
- SEMICOLON@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 "}"
- SEMICOLON@89..90 ";"
- WHITESPACE@90..91 "\n"
- R_CURLY@91..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
+ L_CURLY@26..27 "{"
+ R_CURLY@27..28 "}"
+ SEMICOLON@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
+ L_CURLY@64..65 "{"
+ R_CURLY@65..66 "}"
+ SEMICOLON@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
+ 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
+ L_CURLY@87..88 "{"
+ R_CURLY@88..89 "}"
+ SEMICOLON@89..90 ";"
+ WHITESPACE@90..91 "\n"
+ R_CURLY@91..92 "}"
WHITESPACE@92..93 "\n"
R_PAREN@7..8 ")"
WHITESPACE@8..9 " "
BLOCK_EXPR@9..101
- BLOCK@9..101
- L_CURLY@9..10 "{"
- WHITESPACE@10..15 "\n "
- LOOP_EXPR@15..99
- LOOP_KW@15..19 "loop"
- WHITESPACE@19..20 " "
- BLOCK_EXPR@20..99
- BLOCK@20..99
- L_CURLY@20..21 "{"
- WHITESPACE@21..30 "\n "
- EXPR_STMT@30..36
- BREAK_EXPR@30..35
- BREAK_KW@30..35 "break"
- SEMICOLON@35..36 ";"
- WHITESPACE@36..45 "\n "
- EXPR_STMT@45..54
- BREAK_EXPR@45..53
- BREAK_KW@45..50 "break"
- WHITESPACE@50..51 " "
- LIFETIME@51..53 "\'l"
- SEMICOLON@53..54 ";"
- WHITESPACE@54..63 "\n "
- EXPR_STMT@63..72
- BREAK_EXPR@63..71
- BREAK_KW@63..68 "break"
- WHITESPACE@68..69 " "
- LITERAL@69..71
- INT_NUMBER@69..71 "92"
- SEMICOLON@71..72 ";"
- WHITESPACE@72..81 "\n "
- EXPR_STMT@81..93
- BREAK_EXPR@81..92
- BREAK_KW@81..86 "break"
- WHITESPACE@86..87 " "
- LIFETIME@87..89 "\'l"
- WHITESPACE@89..90 " "
- LITERAL@90..92
- INT_NUMBER@90..92 "92"
- SEMICOLON@92..93 ";"
- WHITESPACE@93..98 "\n "
- R_CURLY@98..99 "}"
- WHITESPACE@99..100 "\n"
- R_CURLY@100..101 "}"
+ L_CURLY@9..10 "{"
+ WHITESPACE@10..15 "\n "
+ LOOP_EXPR@15..99
+ LOOP_KW@15..19 "loop"
+ WHITESPACE@19..20 " "
+ BLOCK_EXPR@20..99
+ L_CURLY@20..21 "{"
+ WHITESPACE@21..30 "\n "
+ EXPR_STMT@30..36
+ BREAK_EXPR@30..35
+ BREAK_KW@30..35 "break"
+ SEMICOLON@35..36 ";"
+ WHITESPACE@36..45 "\n "
+ EXPR_STMT@45..54
+ BREAK_EXPR@45..53
+ BREAK_KW@45..50 "break"
+ WHITESPACE@50..51 " "
+ LIFETIME@51..53 "\'l"
+ SEMICOLON@53..54 ";"
+ WHITESPACE@54..63 "\n "
+ EXPR_STMT@63..72
+ BREAK_EXPR@63..71
+ BREAK_KW@63..68 "break"
+ WHITESPACE@68..69 " "
+ LITERAL@69..71
+ INT_NUMBER@69..71 "92"
+ SEMICOLON@71..72 ";"
+ WHITESPACE@72..81 "\n "
+ EXPR_STMT@81..93
+ BREAK_EXPR@81..92
+ BREAK_KW@81..86 "break"
+ WHITESPACE@86..87 " "
+ LIFETIME@87..89 "\'l"
+ WHITESPACE@89..90 " "
+ LITERAL@90..92
+ INT_NUMBER@90..92 "92"
+ SEMICOLON@92..93 ";"
+ WHITESPACE@93..98 "\n "
+ R_CURLY@98..99 "}"
+ WHITESPACE@99..100 "\n"
+ R_CURLY@100..101 "}"
WHITESPACE@101..102 "\n"
R_PAREN@25..26 ")"
WHITESPACE@26..27 " "
BLOCK_EXPR@27..29
- BLOCK@27..29
- L_CURLY@27..28 "{"
- R_CURLY@28..29 "}"
+ L_CURLY@27..28 "{"
+ R_CURLY@28..29 "}"
WHITESPACE@29..30 "\n"
R_PAREN@34..35 ")"
WHITESPACE@35..36 " "
BLOCK_EXPR@36..70
- BLOCK@36..70
- L_CURLY@36..37 "{"
- WHITESPACE@37..38 " "
- EXPR_STMT@38..68
- CALL_EXPR@38..67
- PATH_EXPR@38..65
- PATH@38..65
- PATH@38..56
- PATH_SEGMENT@38..56
- L_ANGLE@38..39 "<"
- PATH_TYPE@39..44
- PATH@39..44
- PATH_SEGMENT@39..44
- NAME_REF@39..44
- IDENT@39..44 "usize"
- WHITESPACE@44..45 " "
- AS_KW@45..47 "as"
- WHITESPACE@47..48 " "
- PATH_TYPE@48..55
- PATH@48..55
- PATH_SEGMENT@48..55
- NAME_REF@48..55
- IDENT@48..55 "Default"
- R_ANGLE@55..56 ">"
- COLON2@56..58 "::"
- PATH_SEGMENT@58..65
- NAME_REF@58..65
- IDENT@58..65 "default"
- ARG_LIST@65..67
- L_PAREN@65..66 "("
- R_PAREN@66..67 ")"
- SEMICOLON@67..68 ";"
- WHITESPACE@68..69 " "
- R_CURLY@69..70 "}"
+ L_CURLY@36..37 "{"
+ WHITESPACE@37..38 " "
+ EXPR_STMT@38..68
+ CALL_EXPR@38..67
+ PATH_EXPR@38..65
+ PATH@38..65
+ PATH@38..56
+ PATH_SEGMENT@38..56
+ L_ANGLE@38..39 "<"
+ PATH_TYPE@39..44
+ PATH@39..44
+ PATH_SEGMENT@39..44
+ NAME_REF@39..44
+ IDENT@39..44 "usize"
+ WHITESPACE@44..45 " "
+ AS_KW@45..47 "as"
+ WHITESPACE@47..48 " "
+ PATH_TYPE@48..55
+ PATH@48..55
+ PATH_SEGMENT@48..55
+ NAME_REF@48..55
+ IDENT@48..55 "Default"
+ R_ANGLE@55..56 ">"
+ COLON2@56..58 "::"
+ PATH_SEGMENT@58..65
+ NAME_REF@58..65
+ IDENT@58..65 "default"
+ ARG_LIST@65..67
+ L_PAREN@65..66 "("
+ R_PAREN@66..67 ")"
+ SEMICOLON@67..68 ";"
+ WHITESPACE@68..69 " "
+ R_CURLY@69..70 "}"
WHITESPACE@70..71 "\n"
R_PAREN@7..8 ")"
WHITESPACE@8..9 " "
BLOCK_EXPR@9..20
- BLOCK@9..20
- L_CURLY@9..10 "{"
- WHITESPACE@10..11 " "
- EXPR_STMT@11..18
- INDEX_EXPR@11..17
- PATH_EXPR@11..13
- PATH@11..13
- PATH_SEGMENT@11..13
- NAME_REF@11..13
- IDENT@11..13 "xs"
- L_BRACK@13..14 "["
- RANGE_EXPR@14..16
- DOT2@14..16 ".."
- R_BRACK@16..17 "]"
- SEMICOLON@17..18 ";"
- WHITESPACE@18..19 " "
- R_CURLY@19..20 "}"
+ L_CURLY@9..10 "{"
+ WHITESPACE@10..11 " "
+ EXPR_STMT@11..18
+ INDEX_EXPR@11..17
+ PATH_EXPR@11..13
+ PATH@11..13
+ PATH_SEGMENT@11..13
+ NAME_REF@11..13
+ IDENT@11..13 "xs"
+ L_BRACK@13..14 "["
+ RANGE_EXPR@14..16
+ DOT2@14..16 ".."
+ R_BRACK@16..17 "]"
+ SEMICOLON@17..18 ";"
+ WHITESPACE@18..19 " "
+ R_CURLY@19..20 "}"
WHITESPACE@20..21 "\n"
WHITESPACE@27..28 " "
CONST_ARG@28..33
BLOCK_EXPR@28..33
- BLOCK@28..33
- L_CURLY@28..29 "{"
- WHITESPACE@29..30 " "
- LITERAL@30..31
- INT_NUMBER@30..31 "2"
- WHITESPACE@31..32 " "
- R_CURLY@32..33 "}"
+ L_CURLY@28..29 "{"
+ WHITESPACE@29..30 " "
+ LITERAL@30..31
+ INT_NUMBER@30..31 "2"
+ WHITESPACE@31..32 " "
+ R_CURLY@32..33 "}"
COMMA@33..34 ","
WHITESPACE@34..35 " "
ASSOC_TYPE_ARG@35..43
R_PAREN@14..15 ")"
WHITESPACE@15..16 " "
BLOCK_EXPR@16..19
- BLOCK@16..19
- L_CURLY@16..17 "{"
- WHITESPACE@17..18 " "
- R_CURLY@18..19 "}"
+ L_CURLY@16..17 "{"
+ WHITESPACE@17..18 " "
+ R_CURLY@18..19 "}"
WHITESPACE@19..20 "\n"
STRUCT_DEF@20..49
STRUCT_KW@20..26 "struct"
R_PAREN@7..8 ")"
WHITESPACE@8..9 " "
BLOCK_EXPR@9..117
- BLOCK@9..117
- L_CURLY@9..10 "{"
- WHITESPACE@10..15 "\n "
- LET_STMT@15..27
- LET_KW@15..18 "let"
- WHITESPACE@18..19 " "
- PLACEHOLDER_PAT@19..20
- UNDERSCORE@19..20 "_"
- WHITESPACE@20..21 " "
- EQ@21..22 "="
- WHITESPACE@22..23 " "
- CALL_EXPR@23..26
- PATH_EXPR@23..24
- PATH@23..24
- PATH_SEGMENT@23..24
- NAME_REF@23..24
- IDENT@23..24 "f"
- ARG_LIST@24..26
- L_PAREN@24..25 "("
- R_PAREN@25..26 ")"
- SEMICOLON@26..27 ";"
- WHITESPACE@27..32 "\n "
- LET_STMT@32..54
- LET_KW@32..35 "let"
- WHITESPACE@35..36 " "
- PLACEHOLDER_PAT@36..37
- UNDERSCORE@36..37 "_"
- WHITESPACE@37..38 " "
- EQ@38..39 "="
- WHITESPACE@39..40 " "
- CALL_EXPR@40..53
- CALL_EXPR@40..46
- CALL_EXPR@40..43
- PATH_EXPR@40..41
- PATH@40..41
- PATH_SEGMENT@40..41
- NAME_REF@40..41
- IDENT@40..41 "f"
- ARG_LIST@41..43
- L_PAREN@41..42 "("
- R_PAREN@42..43 ")"
- ARG_LIST@43..46
- L_PAREN@43..44 "("
- LITERAL@44..45
- INT_NUMBER@44..45 "1"
- R_PAREN@45..46 ")"
- ARG_LIST@46..53
- L_PAREN@46..47 "("
- LITERAL@47..48
- INT_NUMBER@47..48 "1"
- COMMA@48..49 ","
- WHITESPACE@49..50 " "
- LITERAL@50..51
- INT_NUMBER@50..51 "2"
- COMMA@51..52 ","
- R_PAREN@52..53 ")"
- SEMICOLON@53..54 ";"
- WHITESPACE@54..59 "\n "
- LET_STMT@59..84
- LET_KW@59..62 "let"
- WHITESPACE@62..63 " "
- PLACEHOLDER_PAT@63..64
- UNDERSCORE@63..64 "_"
- WHITESPACE@64..65 " "
- EQ@65..66 "="
- WHITESPACE@66..67 " "
- CALL_EXPR@67..83
- PATH_EXPR@67..68
- PATH@67..68
- PATH_SEGMENT@67..68
- NAME_REF@67..68
- IDENT@67..68 "f"
- ARG_LIST@68..83
- L_PAREN@68..69 "("
- CALL_EXPR@69..82
- PATH_EXPR@69..80
- PATH@69..80
- PATH@69..74
- PATH_SEGMENT@69..74
- L_ANGLE@69..70 "<"
- PATH_TYPE@70..73
- PATH@70..73
- PATH_SEGMENT@70..73
- NAME_REF@70..73
- IDENT@70..73 "Foo"
- R_ANGLE@73..74 ">"
- COLON2@74..76 "::"
- PATH_SEGMENT@76..80
- NAME_REF@76..80
- IDENT@76..80 "func"
- ARG_LIST@80..82
- L_PAREN@80..81 "("
- R_PAREN@81..82 ")"
- R_PAREN@82..83 ")"
- SEMICOLON@83..84 ";"
- WHITESPACE@84..89 "\n "
- EXPR_STMT@89..115
- CALL_EXPR@89..114
- PATH_EXPR@89..90
- PATH@89..90
- PATH_SEGMENT@89..90
- NAME_REF@89..90
- IDENT@89..90 "f"
- ARG_LIST@90..114
- L_PAREN@90..91 "("
- CALL_EXPR@91..113
- PATH_EXPR@91..111
- PATH@91..111
- PATH@91..105
- PATH_SEGMENT@91..105
- L_ANGLE@91..92 "<"
- PATH_TYPE@92..95
- PATH@92..95
- PATH_SEGMENT@92..95
- NAME_REF@92..95
- IDENT@92..95 "Foo"
- WHITESPACE@95..96 " "
- AS_KW@96..98 "as"
- WHITESPACE@98..99 " "
- PATH_TYPE@99..104
- PATH@99..104
- PATH_SEGMENT@99..104
- NAME_REF@99..104
- IDENT@99..104 "Trait"
- R_ANGLE@104..105 ">"
- COLON2@105..107 "::"
- PATH_SEGMENT@107..111
- NAME_REF@107..111
- IDENT@107..111 "func"
- ARG_LIST@111..113
- L_PAREN@111..112 "("
- R_PAREN@112..113 ")"
- R_PAREN@113..114 ")"
- SEMICOLON@114..115 ";"
- WHITESPACE@115..116 "\n"
- R_CURLY@116..117 "}"
+ L_CURLY@9..10 "{"
+ WHITESPACE@10..15 "\n "
+ LET_STMT@15..27
+ LET_KW@15..18 "let"
+ WHITESPACE@18..19 " "
+ PLACEHOLDER_PAT@19..20
+ UNDERSCORE@19..20 "_"
+ WHITESPACE@20..21 " "
+ EQ@21..22 "="
+ WHITESPACE@22..23 " "
+ CALL_EXPR@23..26
+ PATH_EXPR@23..24
+ PATH@23..24
+ PATH_SEGMENT@23..24
+ NAME_REF@23..24
+ IDENT@23..24 "f"
+ ARG_LIST@24..26
+ L_PAREN@24..25 "("
+ R_PAREN@25..26 ")"
+ SEMICOLON@26..27 ";"
+ WHITESPACE@27..32 "\n "
+ LET_STMT@32..54
+ LET_KW@32..35 "let"
+ WHITESPACE@35..36 " "
+ PLACEHOLDER_PAT@36..37
+ UNDERSCORE@36..37 "_"
+ WHITESPACE@37..38 " "
+ EQ@38..39 "="
+ WHITESPACE@39..40 " "
+ CALL_EXPR@40..53
+ CALL_EXPR@40..46
+ CALL_EXPR@40..43
+ PATH_EXPR@40..41
+ PATH@40..41
+ PATH_SEGMENT@40..41
+ NAME_REF@40..41
+ IDENT@40..41 "f"
+ ARG_LIST@41..43
+ L_PAREN@41..42 "("
+ R_PAREN@42..43 ")"
+ ARG_LIST@43..46
+ L_PAREN@43..44 "("
+ LITERAL@44..45
+ INT_NUMBER@44..45 "1"
+ R_PAREN@45..46 ")"
+ ARG_LIST@46..53
+ L_PAREN@46..47 "("
+ LITERAL@47..48
+ INT_NUMBER@47..48 "1"
+ COMMA@48..49 ","
+ WHITESPACE@49..50 " "
+ LITERAL@50..51
+ INT_NUMBER@50..51 "2"
+ COMMA@51..52 ","
+ R_PAREN@52..53 ")"
+ SEMICOLON@53..54 ";"
+ WHITESPACE@54..59 "\n "
+ LET_STMT@59..84
+ LET_KW@59..62 "let"
+ WHITESPACE@62..63 " "
+ PLACEHOLDER_PAT@63..64
+ UNDERSCORE@63..64 "_"
+ WHITESPACE@64..65 " "
+ EQ@65..66 "="
+ WHITESPACE@66..67 " "
+ CALL_EXPR@67..83
+ PATH_EXPR@67..68
+ PATH@67..68
+ PATH_SEGMENT@67..68
+ NAME_REF@67..68
+ IDENT@67..68 "f"
+ ARG_LIST@68..83
+ L_PAREN@68..69 "("
+ CALL_EXPR@69..82
+ PATH_EXPR@69..80
+ PATH@69..80
+ PATH@69..74
+ PATH_SEGMENT@69..74
+ L_ANGLE@69..70 "<"
+ PATH_TYPE@70..73
+ PATH@70..73
+ PATH_SEGMENT@70..73
+ NAME_REF@70..73
+ IDENT@70..73 "Foo"
+ R_ANGLE@73..74 ">"
+ COLON2@74..76 "::"
+ PATH_SEGMENT@76..80
+ NAME_REF@76..80
+ IDENT@76..80 "func"
+ ARG_LIST@80..82
+ L_PAREN@80..81 "("
+ R_PAREN@81..82 ")"
+ R_PAREN@82..83 ")"
+ SEMICOLON@83..84 ";"
+ WHITESPACE@84..89 "\n "
+ EXPR_STMT@89..115
+ CALL_EXPR@89..114
+ PATH_EXPR@89..90
+ PATH@89..90
+ PATH_SEGMENT@89..90
+ NAME_REF@89..90
+ IDENT@89..90 "f"
+ ARG_LIST@90..114
+ L_PAREN@90..91 "("
+ CALL_EXPR@91..113
+ PATH_EXPR@91..111
+ PATH@91..111
+ PATH@91..105
+ PATH_SEGMENT@91..105
+ L_ANGLE@91..92 "<"
+ PATH_TYPE@92..95
+ PATH@92..95
+ PATH_SEGMENT@92..95
+ NAME_REF@92..95
+ IDENT@92..95 "Foo"
+ WHITESPACE@95..96 " "
+ AS_KW@96..98 "as"
+ WHITESPACE@98..99 " "
+ PATH_TYPE@99..104
+ PATH@99..104
+ PATH_SEGMENT@99..104
+ NAME_REF@99..104
+ IDENT@99..104 "Trait"
+ R_ANGLE@104..105 ">"
+ COLON2@105..107 "::"
+ PATH_SEGMENT@107..111
+ NAME_REF@107..111
+ IDENT@107..111 "func"
+ ARG_LIST@111..113
+ L_PAREN@111..112 "("
+ R_PAREN@112..113 ")"
+ R_PAREN@113..114 ")"
+ SEMICOLON@114..115 ";"
+ WHITESPACE@115..116 "\n"
+ R_CURLY@116..117 "}"
WHITESPACE@117..118 "\n"
R_PAREN@5..6 ")"
WHITESPACE@6..7 " "
BLOCK_EXPR@7..20
- BLOCK@7..20
- L_CURLY@7..8 "{"
- WHITESPACE@8..9 " "
- FN_DEF@9..18
- FN_KW@9..11 "fn"
- WHITESPACE@11..12 " "
- NAME@12..13
- IDENT@12..13 "b"
- PARAM_LIST@13..15
- L_PAREN@13..14 "("
- R_PAREN@14..15 ")"
- WHITESPACE@15..16 " "
- BLOCK_EXPR@16..18
- BLOCK@16..18
- L_CURLY@16..17 "{"
- R_CURLY@17..18 "}"
- WHITESPACE@18..19 " "
- R_CURLY@19..20 "}"
+ L_CURLY@7..8 "{"
+ WHITESPACE@8..9 " "
+ FN_DEF@9..18
+ FN_KW@9..11 "fn"
+ WHITESPACE@11..12 " "
+ NAME@12..13
+ IDENT@12..13 "b"
+ PARAM_LIST@13..15
+ L_PAREN@13..14 "("
+ R_PAREN@14..15 ")"
+ WHITESPACE@15..16 " "
+ BLOCK_EXPR@16..18
+ L_CURLY@16..17 "{"
+ R_CURLY@17..18 "}"
+ WHITESPACE@18..19 " "
+ R_CURLY@19..20 "}"
WHITESPACE@20..21 "\n"
L_PAREN@30..31 "("
R_PAREN@31..32 ")"
BLOCK_EXPR@32..34
- BLOCK@32..34
- L_CURLY@32..33 "{"
- R_CURLY@33..34 "}"
+ L_CURLY@32..33 "{"
+ R_CURLY@33..34 "}"
WHITESPACE@34..35 "\n"
R_ANGLE@22..23 ">"
WHITESPACE@23..24 " "
BLOCK_EXPR@24..26
- BLOCK@24..26
- L_CURLY@24..25 "{"
- R_CURLY@25..26 "}"
+ L_CURLY@24..25 "{"
+ R_CURLY@25..26 "}"
WHITESPACE@26..27 "\n"
FN_DEF@27..57
FN_KW@27..29 "fn"
R_ANGLE@53..54 ">"
WHITESPACE@54..55 " "
BLOCK_EXPR@55..57
- BLOCK@55..57
- L_CURLY@55..56 "{"
- R_CURLY@56..57 "}"
+ L_CURLY@55..56 "{"
+ R_CURLY@56..57 "}"
WHITESPACE@57..58 "\n"
R_PAREN@7..8 ")"
WHITESPACE@8..9 " "
BLOCK_EXPR@9..90
- BLOCK@9..90
- L_CURLY@9..10 "{"
- WHITESPACE@10..15 "\n "
- LET_STMT@15..25
- LET_KW@15..18 "let"
- WHITESPACE@18..19 " "
- PLACEHOLDER_PAT@19..20
- UNDERSCORE@19..20 "_"
- WHITESPACE@20..21 " "
- EQ@21..22 "="
- WHITESPACE@22..23 " "
- PATH_EXPR@23..24
- PATH@23..24
- PATH_SEGMENT@23..24
- NAME_REF@23..24
- IDENT@23..24 "a"
- SEMICOLON@24..25 ";"
- WHITESPACE@25..30 "\n "
- LET_STMT@30..43
- LET_KW@30..33 "let"
- WHITESPACE@33..34 " "
- PLACEHOLDER_PAT@34..35
- UNDERSCORE@34..35 "_"
- WHITESPACE@35..36 " "
- EQ@36..37 "="
- WHITESPACE@37..38 " "
- PATH_EXPR@38..42
- PATH@38..42
- PATH@38..39
- PATH_SEGMENT@38..39
- NAME_REF@38..39
- IDENT@38..39 "a"
- COLON2@39..41 "::"
- PATH_SEGMENT@41..42
- NAME_REF@41..42
- IDENT@41..42 "b"
- SEMICOLON@42..43 ";"
- WHITESPACE@43..48 "\n "
- LET_STMT@48..65
- LET_KW@48..51 "let"
- WHITESPACE@51..52 " "
- PLACEHOLDER_PAT@52..53
- UNDERSCORE@52..53 "_"
- WHITESPACE@53..54 " "
- EQ@54..55 "="
- WHITESPACE@55..56 " "
- PATH_EXPR@56..64
- PATH@56..64
- PATH_SEGMENT@56..64
- COLON2@56..58 "::"
- NAME_REF@58..59
- IDENT@58..59 "a"
- TYPE_ARG_LIST@59..64
- COLON2@59..61 "::"
- L_ANGLE@61..62 "<"
- TYPE_ARG@62..63
- PATH_TYPE@62..63
- PATH@62..63
- PATH_SEGMENT@62..63
- NAME_REF@62..63
- IDENT@62..63 "b"
- R_ANGLE@63..64 ">"
- SEMICOLON@64..65 ";"
- WHITESPACE@65..70 "\n "
- LET_STMT@70..88
- LET_KW@70..73 "let"
- WHITESPACE@73..74 " "
- PLACEHOLDER_PAT@74..75
- UNDERSCORE@74..75 "_"
- WHITESPACE@75..76 " "
- EQ@76..77 "="
- WHITESPACE@77..78 " "
- MACRO_CALL@78..87
- PATH@78..84
- PATH_SEGMENT@78..84
- NAME_REF@78..84
- IDENT@78..84 "format"
- BANG@84..85 "!"
- TOKEN_TREE@85..87
- L_PAREN@85..86 "("
- R_PAREN@86..87 ")"
- SEMICOLON@87..88 ";"
- WHITESPACE@88..89 "\n"
- R_CURLY@89..90 "}"
+ L_CURLY@9..10 "{"
+ WHITESPACE@10..15 "\n "
+ LET_STMT@15..25
+ LET_KW@15..18 "let"
+ WHITESPACE@18..19 " "
+ PLACEHOLDER_PAT@19..20
+ UNDERSCORE@19..20 "_"
+ WHITESPACE@20..21 " "
+ EQ@21..22 "="
+ WHITESPACE@22..23 " "
+ PATH_EXPR@23..24
+ PATH@23..24
+ PATH_SEGMENT@23..24
+ NAME_REF@23..24
+ IDENT@23..24 "a"
+ SEMICOLON@24..25 ";"
+ WHITESPACE@25..30 "\n "
+ LET_STMT@30..43
+ LET_KW@30..33 "let"
+ WHITESPACE@33..34 " "
+ PLACEHOLDER_PAT@34..35
+ UNDERSCORE@34..35 "_"
+ WHITESPACE@35..36 " "
+ EQ@36..37 "="
+ WHITESPACE@37..38 " "
+ PATH_EXPR@38..42
+ PATH@38..42
+ PATH@38..39
+ PATH_SEGMENT@38..39
+ NAME_REF@38..39
+ IDENT@38..39 "a"
+ COLON2@39..41 "::"
+ PATH_SEGMENT@41..42
+ NAME_REF@41..42
+ IDENT@41..42 "b"
+ SEMICOLON@42..43 ";"
+ WHITESPACE@43..48 "\n "
+ LET_STMT@48..65
+ LET_KW@48..51 "let"
+ WHITESPACE@51..52 " "
+ PLACEHOLDER_PAT@52..53
+ UNDERSCORE@52..53 "_"
+ WHITESPACE@53..54 " "
+ EQ@54..55 "="
+ WHITESPACE@55..56 " "
+ PATH_EXPR@56..64
+ PATH@56..64
+ PATH_SEGMENT@56..64
+ COLON2@56..58 "::"
+ NAME_REF@58..59
+ IDENT@58..59 "a"
+ TYPE_ARG_LIST@59..64
+ COLON2@59..61 "::"
+ L_ANGLE@61..62 "<"
+ TYPE_ARG@62..63
+ PATH_TYPE@62..63
+ PATH@62..63
+ PATH_SEGMENT@62..63
+ NAME_REF@62..63
+ IDENT@62..63 "b"
+ R_ANGLE@63..64 ">"
+ SEMICOLON@64..65 ";"
+ WHITESPACE@65..70 "\n "
+ LET_STMT@70..88
+ LET_KW@70..73 "let"
+ WHITESPACE@73..74 " "
+ PLACEHOLDER_PAT@74..75
+ UNDERSCORE@74..75 "_"
+ WHITESPACE@75..76 " "
+ EQ@76..77 "="
+ WHITESPACE@77..78 " "
+ MACRO_CALL@78..87
+ PATH@78..84
+ PATH_SEGMENT@78..84
+ NAME_REF@78..84
+ IDENT@78..84 "format"
+ BANG@84..85 "!"
+ TOKEN_TREE@85..87
+ L_PAREN@85..86 "("
+ R_PAREN@86..87 ")"
+ SEMICOLON@87..88 ";"
+ WHITESPACE@88..89 "\n"
+ R_CURLY@89..90 "}"
WHITESPACE@90..91 "\n"
R_PAREN@8..9 ")"
WHITESPACE@9..10 " "
BLOCK_EXPR@10..112
- BLOCK@10..112
- L_CURLY@10..11 "{"
- WHITESPACE@11..16 "\n "
- MATCH_EXPR@16..110
- MATCH_KW@16..21 "match"
- WHITESPACE@21..22 " "
- TUPLE_EXPR@22..24
- L_PAREN@22..23 "("
- R_PAREN@23..24 ")"
- WHITESPACE@24..25 " "
- MATCH_ARM_LIST@25..110
- L_CURLY@25..26 "{"
- WHITESPACE@26..35 "\n "
- MATCH_ARM@35..43
- LITERAL_PAT@35..37
- MINUS@35..36 "-"
- LITERAL@36..37
- INT_NUMBER@36..37 "1"
- WHITESPACE@37..38 " "
- FAT_ARROW@38..40 "=>"
- WHITESPACE@40..41 " "
- TUPLE_EXPR@41..43
- L_PAREN@41..42 "("
- R_PAREN@42..43 ")"
- COMMA@43..44 ","
- WHITESPACE@44..53 "\n "
- MATCH_ARM@53..61
- LITERAL_PAT@53..55
- LITERAL@53..55
- INT_NUMBER@53..55 "92"
- WHITESPACE@55..56 " "
- FAT_ARROW@56..58 "=>"
- WHITESPACE@58..59 " "
- TUPLE_EXPR@59..61
- L_PAREN@59..60 "("
- R_PAREN@60..61 ")"
- COMMA@61..62 ","
- WHITESPACE@62..71 "\n "
- MATCH_ARM@71..80
- LITERAL_PAT@71..74
- LITERAL@71..74
- CHAR@71..74 "\'c\'"
- WHITESPACE@74..75 " "
- FAT_ARROW@75..77 "=>"
- WHITESPACE@77..78 " "
- TUPLE_EXPR@78..80
- L_PAREN@78..79 "("
- R_PAREN@79..80 ")"
- COMMA@80..81 ","
- WHITESPACE@81..90 "\n "
- MATCH_ARM@90..103
- LITERAL_PAT@90..97
- LITERAL@90..97
- STRING@90..97 "\"hello\""
- WHITESPACE@97..98 " "
- FAT_ARROW@98..100 "=>"
- WHITESPACE@100..101 " "
- TUPLE_EXPR@101..103
- L_PAREN@101..102 "("
- R_PAREN@102..103 ")"
- COMMA@103..104 ","
- WHITESPACE@104..109 "\n "
- R_CURLY@109..110 "}"
- WHITESPACE@110..111 "\n"
- R_CURLY@111..112 "}"
+ L_CURLY@10..11 "{"
+ WHITESPACE@11..16 "\n "
+ MATCH_EXPR@16..110
+ MATCH_KW@16..21 "match"
+ WHITESPACE@21..22 " "
+ TUPLE_EXPR@22..24
+ L_PAREN@22..23 "("
+ R_PAREN@23..24 ")"
+ WHITESPACE@24..25 " "
+ MATCH_ARM_LIST@25..110
+ L_CURLY@25..26 "{"
+ WHITESPACE@26..35 "\n "
+ MATCH_ARM@35..43
+ LITERAL_PAT@35..37
+ MINUS@35..36 "-"
+ LITERAL@36..37
+ INT_NUMBER@36..37 "1"
+ WHITESPACE@37..38 " "
+ FAT_ARROW@38..40 "=>"
+ WHITESPACE@40..41 " "
+ TUPLE_EXPR@41..43
+ L_PAREN@41..42 "("
+ R_PAREN@42..43 ")"
+ COMMA@43..44 ","
+ WHITESPACE@44..53 "\n "
+ MATCH_ARM@53..61
+ LITERAL_PAT@53..55
+ LITERAL@53..55
+ INT_NUMBER@53..55 "92"
+ WHITESPACE@55..56 " "
+ FAT_ARROW@56..58 "=>"
+ WHITESPACE@58..59 " "
+ TUPLE_EXPR@59..61
+ L_PAREN@59..60 "("
+ R_PAREN@60..61 ")"
+ COMMA@61..62 ","
+ WHITESPACE@62..71 "\n "
+ MATCH_ARM@71..80
+ LITERAL_PAT@71..74
+ LITERAL@71..74
+ CHAR@71..74 "\'c\'"
+ WHITESPACE@74..75 " "
+ FAT_ARROW@75..77 "=>"
+ WHITESPACE@77..78 " "
+ TUPLE_EXPR@78..80
+ L_PAREN@78..79 "("
+ R_PAREN@79..80 ")"
+ COMMA@80..81 ","
+ WHITESPACE@81..90 "\n "
+ MATCH_ARM@90..103
+ LITERAL_PAT@90..97
+ LITERAL@90..97
+ STRING@90..97 "\"hello\""
+ WHITESPACE@97..98 " "
+ FAT_ARROW@98..100 "=>"
+ WHITESPACE@100..101 " "
+ TUPLE_EXPR@101..103
+ L_PAREN@101..102 "("
+ R_PAREN@102..103 ")"
+ COMMA@103..104 ","
+ WHITESPACE@104..109 "\n "
+ R_CURLY@109..110 "}"
+ WHITESPACE@110..111 "\n"
+ R_CURLY@111..112 "}"
WHITESPACE@112..113 "\n"
LIFETIME@110..112 "\'a"
WHITESPACE@112..113 "\n"
BLOCK_EXPR@113..115
- BLOCK@113..115
- L_CURLY@113..114 "{"
- R_CURLY@114..115 "}"
+ L_CURLY@113..114 "{"
+ R_CURLY@114..115 "}"
WHITESPACE@115..116 "\n"
R_PAREN@13..14 ")"
WHITESPACE@14..15 " "
BLOCK_EXPR@15..17
- BLOCK@15..17
- L_CURLY@15..16 "{"
- R_CURLY@16..17 "}"
+ L_CURLY@15..16 "{"
+ R_CURLY@16..17 "}"
WHITESPACE@17..18 "\n"
R_PAREN@8..9 ")"
WHITESPACE@9..10 " "
BLOCK_EXPR@10..111
- BLOCK@10..111
- L_CURLY@10..11 "{"
- WHITESPACE@11..16 "\n "
- MATCH_EXPR@16..109
- MATCH_KW@16..21 "match"
- WHITESPACE@21..22 " "
- LITERAL@22..24
- INT_NUMBER@22..24 "92"
- WHITESPACE@24..25 " "
- MATCH_ARM_LIST@25..109
- L_CURLY@25..26 "{"
- WHITESPACE@26..35 "\n "
- MATCH_ARM@35..50
- RANGE_PAT@35..44
- LITERAL_PAT@35..36
- LITERAL@35..36
- INT_NUMBER@35..36 "0"
- WHITESPACE@36..37 " "
- DOT3@37..40 "..."
- WHITESPACE@40..41 " "
- LITERAL_PAT@41..44
- LITERAL@41..44
- INT_NUMBER@41..44 "100"
- WHITESPACE@44..45 " "
- FAT_ARROW@45..47 "=>"
- WHITESPACE@47..48 " "
- TUPLE_EXPR@48..50
- L_PAREN@48..49 "("
- R_PAREN@49..50 ")"
- COMMA@50..51 ","
- WHITESPACE@51..60 "\n "
- MATCH_ARM@60..77
- RANGE_PAT@60..71
- LITERAL_PAT@60..63
- LITERAL@60..63
- INT_NUMBER@60..63 "101"
- WHITESPACE@63..64 " "
- DOT2EQ@64..67 "..="
- WHITESPACE@67..68 " "
- LITERAL_PAT@68..71
- LITERAL@68..71
- INT_NUMBER@68..71 "200"
- WHITESPACE@71..72 " "
- FAT_ARROW@72..74 "=>"
- WHITESPACE@74..75 " "
- TUPLE_EXPR@75..77
- L_PAREN@75..76 "("
- R_PAREN@76..77 ")"
- COMMA@77..78 ","
- WHITESPACE@78..87 "\n "
- MATCH_ARM@87..102
- RANGE_PAT@87..97
- LITERAL_PAT@87..90
- LITERAL@87..90
- INT_NUMBER@87..90 "200"
- WHITESPACE@90..91 " "
- DOT2@91..93 ".."
- WHITESPACE@93..94 " "
- LITERAL_PAT@94..97
- LITERAL@94..97
- INT_NUMBER@94..97 "301"
- FAT_ARROW@97..99 "=>"
- WHITESPACE@99..100 " "
- TUPLE_EXPR@100..102
- L_PAREN@100..101 "("
- R_PAREN@101..102 ")"
- COMMA@102..103 ","
- WHITESPACE@103..108 "\n "
- R_CURLY@108..109 "}"
- WHITESPACE@109..110 "\n"
- R_CURLY@110..111 "}"
+ L_CURLY@10..11 "{"
+ WHITESPACE@11..16 "\n "
+ MATCH_EXPR@16..109
+ MATCH_KW@16..21 "match"
+ WHITESPACE@21..22 " "
+ LITERAL@22..24
+ INT_NUMBER@22..24 "92"
+ WHITESPACE@24..25 " "
+ MATCH_ARM_LIST@25..109
+ L_CURLY@25..26 "{"
+ WHITESPACE@26..35 "\n "
+ MATCH_ARM@35..50
+ RANGE_PAT@35..44
+ LITERAL_PAT@35..36
+ LITERAL@35..36
+ INT_NUMBER@35..36 "0"
+ WHITESPACE@36..37 " "
+ DOT3@37..40 "..."
+ WHITESPACE@40..41 " "
+ LITERAL_PAT@41..44
+ LITERAL@41..44
+ INT_NUMBER@41..44 "100"
+ WHITESPACE@44..45 " "
+ FAT_ARROW@45..47 "=>"
+ WHITESPACE@47..48 " "
+ TUPLE_EXPR@48..50
+ L_PAREN@48..49 "("
+ R_PAREN@49..50 ")"
+ COMMA@50..51 ","
+ WHITESPACE@51..60 "\n "
+ MATCH_ARM@60..77
+ RANGE_PAT@60..71
+ LITERAL_PAT@60..63
+ LITERAL@60..63
+ INT_NUMBER@60..63 "101"
+ WHITESPACE@63..64 " "
+ DOT2EQ@64..67 "..="
+ WHITESPACE@67..68 " "
+ LITERAL_PAT@68..71
+ LITERAL@68..71
+ INT_NUMBER@68..71 "200"
+ WHITESPACE@71..72 " "
+ FAT_ARROW@72..74 "=>"
+ WHITESPACE@74..75 " "
+ TUPLE_EXPR@75..77
+ L_PAREN@75..76 "("
+ R_PAREN@76..77 ")"
+ COMMA@77..78 ","
+ WHITESPACE@78..87 "\n "
+ MATCH_ARM@87..102
+ RANGE_PAT@87..97
+ LITERAL_PAT@87..90
+ LITERAL@87..90
+ INT_NUMBER@87..90 "200"
+ WHITESPACE@90..91 " "
+ DOT2@91..93 ".."
+ WHITESPACE@93..94 " "
+ LITERAL_PAT@94..97
+ LITERAL@94..97
+ INT_NUMBER@94..97 "301"
+ FAT_ARROW@97..99 "=>"
+ WHITESPACE@99..100 " "
+ TUPLE_EXPR@100..102
+ L_PAREN@100..101 "("
+ R_PAREN@101..102 ")"
+ COMMA@102..103 ","
+ WHITESPACE@103..108 "\n "
+ R_CURLY@108..109 "}"
+ WHITESPACE@109..110 "\n"
+ R_CURLY@110..111 "}"
WHITESPACE@111..112 "\n"
R_PAREN@7..8 ")"
WHITESPACE@8..9 " "
BLOCK_EXPR@9..82
- BLOCK@9..82
- L_CURLY@9..10 "{"
- WHITESPACE@10..15 "\n "
- MATCH_EXPR@15..80
- MATCH_KW@15..20 "match"
- WHITESPACE@20..21 " "
- TUPLE_EXPR@21..23
- L_PAREN@21..22 "("
- R_PAREN@22..23 ")"
- WHITESPACE@23..24 " "
- MATCH_ARM_LIST@24..80
- L_CURLY@24..25 "{"
- WHITESPACE@25..34 "\n "
- MATCH_ARM@34..41
- PLACEHOLDER_PAT@34..35
- UNDERSCORE@34..35 "_"
- WHITESPACE@35..36 " "
- FAT_ARROW@36..38 "=>"
- WHITESPACE@38..39 " "
- TUPLE_EXPR@39..41
- L_PAREN@39..40 "("
- R_PAREN@40..41 ")"
- COMMA@41..42 ","
- WHITESPACE@42..51 "\n "
- MATCH_ARM@51..58
- PLACEHOLDER_PAT@51..52
- UNDERSCORE@51..52 "_"
- WHITESPACE@52..53 " "
- FAT_ARROW@53..55 "=>"
- WHITESPACE@55..56 " "
- BLOCK_EXPR@56..58
- BLOCK@56..58
- L_CURLY@56..57 "{"
- R_CURLY@57..58 "}"
- WHITESPACE@58..67 "\n "
- MATCH_ARM@67..74
- PLACEHOLDER_PAT@67..68
- UNDERSCORE@67..68 "_"
- WHITESPACE@68..69 " "
- FAT_ARROW@69..71 "=>"
- WHITESPACE@71..72 " "
- TUPLE_EXPR@72..74
- L_PAREN@72..73 "("
- R_PAREN@73..74 ")"
- WHITESPACE@74..79 "\n "
- R_CURLY@79..80 "}"
- WHITESPACE@80..81 "\n"
- R_CURLY@81..82 "}"
+ L_CURLY@9..10 "{"
+ WHITESPACE@10..15 "\n "
+ MATCH_EXPR@15..80
+ MATCH_KW@15..20 "match"
+ WHITESPACE@20..21 " "
+ TUPLE_EXPR@21..23
+ L_PAREN@21..22 "("
+ R_PAREN@22..23 ")"
+ WHITESPACE@23..24 " "
+ MATCH_ARM_LIST@24..80
+ L_CURLY@24..25 "{"
+ WHITESPACE@25..34 "\n "
+ MATCH_ARM@34..41
+ PLACEHOLDER_PAT@34..35
+ UNDERSCORE@34..35 "_"
+ WHITESPACE@35..36 " "
+ FAT_ARROW@36..38 "=>"
+ WHITESPACE@38..39 " "
+ TUPLE_EXPR@39..41
+ L_PAREN@39..40 "("
+ R_PAREN@40..41 ")"
+ COMMA@41..42 ","
+ WHITESPACE@42..51 "\n "
+ MATCH_ARM@51..58
+ PLACEHOLDER_PAT@51..52
+ UNDERSCORE@51..52 "_"
+ WHITESPACE@52..53 " "
+ FAT_ARROW@53..55 "=>"
+ WHITESPACE@55..56 " "
+ BLOCK_EXPR@56..58
+ L_CURLY@56..57 "{"
+ R_CURLY@57..58 "}"
+ WHITESPACE@58..67 "\n "
+ MATCH_ARM@67..74
+ PLACEHOLDER_PAT@67..68
+ UNDERSCORE@67..68 "_"
+ WHITESPACE@68..69 " "
+ FAT_ARROW@69..71 "=>"
+ WHITESPACE@71..72 " "
+ TUPLE_EXPR@72..74
+ L_PAREN@72..73 "("
+ R_PAREN@73..74 ")"
+ WHITESPACE@74..79 "\n "
+ R_CURLY@79..80 "}"
+ WHITESPACE@80..81 "\n"
+ R_CURLY@81..82 "}"
WHITESPACE@82..83 "\n"
R_PAREN@7..8 ")"
WHITESPACE@8..9 " "
BLOCK_EXPR@9..111
- BLOCK@9..111
- L_CURLY@9..10 "{"
- WHITESPACE@10..15 "\n "
- EXPR_STMT@15..20
- RECORD_LIT@15..19
- PATH@15..16
- PATH_SEGMENT@15..16
- NAME_REF@15..16
- IDENT@15..16 "S"
- WHITESPACE@16..17 " "
- RECORD_FIELD_LIST@17..19
- L_CURLY@17..18 "{"
- R_CURLY@18..19 "}"
- SEMICOLON@19..20 ";"
- WHITESPACE@20..25 "\n "
- EXPR_STMT@25..41
- RECORD_LIT@25..40
- PATH@25..26
- PATH_SEGMENT@25..26
- NAME_REF@25..26
- IDENT@25..26 "S"
- WHITESPACE@26..27 " "
- RECORD_FIELD_LIST@27..40
- L_CURLY@27..28 "{"
- WHITESPACE@28..29 " "
- RECORD_FIELD@29..30
- PATH_EXPR@29..30
- PATH@29..30
- PATH_SEGMENT@29..30
- NAME_REF@29..30
- IDENT@29..30 "x"
- COMMA@30..31 ","
- WHITESPACE@31..32 " "
- RECORD_FIELD@32..37
- NAME_REF@32..33
- IDENT@32..33 "y"
- COLON@33..34 ":"
- WHITESPACE@34..35 " "
- LITERAL@35..37
- INT_NUMBER@35..37 "32"
- COMMA@37..38 ","
- WHITESPACE@38..39 " "
- R_CURLY@39..40 "}"
- SEMICOLON@40..41 ";"
- WHITESPACE@41..46 "\n "
- EXPR_STMT@46..83
- RECORD_LIT@46..82
- PATH@46..47
- PATH_SEGMENT@46..47
- NAME_REF@46..47
- IDENT@46..47 "S"
- WHITESPACE@47..48 " "
- RECORD_FIELD_LIST@48..82
- L_CURLY@48..49 "{"
- WHITESPACE@49..50 " "
- RECORD_FIELD@50..51
- PATH_EXPR@50..51
- PATH@50..51
- PATH_SEGMENT@50..51
- NAME_REF@50..51
- IDENT@50..51 "x"
- COMMA@51..52 ","
- WHITESPACE@52..53 " "
- RECORD_FIELD@53..58
- NAME_REF@53..54
- IDENT@53..54 "y"
- COLON@54..55 ":"
- WHITESPACE@55..56 " "
- LITERAL@56..58
- INT_NUMBER@56..58 "32"
- COMMA@58..59 ","
- WHITESPACE@59..60 " "
- DOT2@60..62 ".."
- CALL_EXPR@62..80
- PATH_EXPR@62..78
- PATH@62..78
- PATH@62..69
- PATH_SEGMENT@62..69
- NAME_REF@62..69
- IDENT@62..69 "Default"
- COLON2@69..71 "::"
- PATH_SEGMENT@71..78
- NAME_REF@71..78
- IDENT@71..78 "default"
- ARG_LIST@78..80
- L_PAREN@78..79 "("
- R_PAREN@79..80 ")"
- WHITESPACE@80..81 " "
- R_CURLY@81..82 "}"
- SEMICOLON@82..83 ";"
- WHITESPACE@83..88 "\n "
- EXPR_STMT@88..109
- RECORD_LIT@88..108
- PATH@88..99
- PATH_SEGMENT@88..99
- NAME_REF@88..99
- IDENT@88..99 "TupleStruct"
- WHITESPACE@99..100 " "
- RECORD_FIELD_LIST@100..108
- L_CURLY@100..101 "{"
- WHITESPACE@101..102 " "
- RECORD_FIELD@102..106
- NAME_REF@102..103
- INT_NUMBER@102..103 "0"
- COLON@103..104 ":"
- WHITESPACE@104..105 " "
- LITERAL@105..106
- INT_NUMBER@105..106 "1"
- WHITESPACE@106..107 " "
- R_CURLY@107..108 "}"
- SEMICOLON@108..109 ";"
- WHITESPACE@109..110 "\n"
- R_CURLY@110..111 "}"
+ L_CURLY@9..10 "{"
+ WHITESPACE@10..15 "\n "
+ EXPR_STMT@15..20
+ RECORD_LIT@15..19
+ PATH@15..16
+ PATH_SEGMENT@15..16
+ NAME_REF@15..16
+ IDENT@15..16 "S"
+ WHITESPACE@16..17 " "
+ RECORD_FIELD_LIST@17..19
+ L_CURLY@17..18 "{"
+ R_CURLY@18..19 "}"
+ SEMICOLON@19..20 ";"
+ WHITESPACE@20..25 "\n "
+ EXPR_STMT@25..41
+ RECORD_LIT@25..40
+ PATH@25..26
+ PATH_SEGMENT@25..26
+ NAME_REF@25..26
+ IDENT@25..26 "S"
+ WHITESPACE@26..27 " "
+ RECORD_FIELD_LIST@27..40
+ L_CURLY@27..28 "{"
+ WHITESPACE@28..29 " "
+ RECORD_FIELD@29..30
+ PATH_EXPR@29..30
+ PATH@29..30
+ PATH_SEGMENT@29..30
+ NAME_REF@29..30
+ IDENT@29..30 "x"
+ COMMA@30..31 ","
+ WHITESPACE@31..32 " "
+ RECORD_FIELD@32..37
+ NAME_REF@32..33
+ IDENT@32..33 "y"
+ COLON@33..34 ":"
+ WHITESPACE@34..35 " "
+ LITERAL@35..37
+ INT_NUMBER@35..37 "32"
+ COMMA@37..38 ","
+ WHITESPACE@38..39 " "
+ R_CURLY@39..40 "}"
+ SEMICOLON@40..41 ";"
+ WHITESPACE@41..46 "\n "
+ EXPR_STMT@46..83
+ RECORD_LIT@46..82
+ PATH@46..47
+ PATH_SEGMENT@46..47
+ NAME_REF@46..47
+ IDENT@46..47 "S"
+ WHITESPACE@47..48 " "
+ RECORD_FIELD_LIST@48..82
+ L_CURLY@48..49 "{"
+ WHITESPACE@49..50 " "
+ RECORD_FIELD@50..51
+ PATH_EXPR@50..51
+ PATH@50..51
+ PATH_SEGMENT@50..51
+ NAME_REF@50..51
+ IDENT@50..51 "x"
+ COMMA@51..52 ","
+ WHITESPACE@52..53 " "
+ RECORD_FIELD@53..58
+ NAME_REF@53..54
+ IDENT@53..54 "y"
+ COLON@54..55 ":"
+ WHITESPACE@55..56 " "
+ LITERAL@56..58
+ INT_NUMBER@56..58 "32"
+ COMMA@58..59 ","
+ WHITESPACE@59..60 " "
+ DOT2@60..62 ".."
+ CALL_EXPR@62..80
+ PATH_EXPR@62..78
+ PATH@62..78
+ PATH@62..69
+ PATH_SEGMENT@62..69
+ NAME_REF@62..69
+ IDENT@62..69 "Default"
+ COLON2@69..71 "::"
+ PATH_SEGMENT@71..78
+ NAME_REF@71..78
+ IDENT@71..78 "default"
+ ARG_LIST@78..80
+ L_PAREN@78..79 "("
+ R_PAREN@79..80 ")"
+ WHITESPACE@80..81 " "
+ R_CURLY@81..82 "}"
+ SEMICOLON@82..83 ";"
+ WHITESPACE@83..88 "\n "
+ EXPR_STMT@88..109
+ RECORD_LIT@88..108
+ PATH@88..99
+ PATH_SEGMENT@88..99
+ NAME_REF@88..99
+ IDENT@88..99 "TupleStruct"
+ WHITESPACE@99..100 " "
+ RECORD_FIELD_LIST@100..108
+ L_CURLY@100..101 "{"
+ WHITESPACE@101..102 " "
+ RECORD_FIELD@102..106
+ NAME_REF@102..103
+ INT_NUMBER@102..103 "0"
+ COLON@103..104 ":"
+ WHITESPACE@104..105 " "
+ LITERAL@105..106
+ INT_NUMBER@105..106 "1"
+ WHITESPACE@106..107 " "
+ R_CURLY@107..108 "}"
+ SEMICOLON@108..109 ";"
+ WHITESPACE@109..110 "\n"
+ R_CURLY@110..111 "}"
WHITESPACE@111..112 "\n"
R_PAREN@7..8 ")"
WHITESPACE@8..9 " "
BLOCK_EXPR@9..11
- BLOCK@9..11
- L_CURLY@9..10 "{"
- R_CURLY@10..11 "}"
+ L_CURLY@9..10 "{"
+ R_CURLY@10..11 "}"
WHITESPACE@11..12 "\n"
MACRO_CALL@12..31
PATH@12..23
R_PAREN@7..8 ")"
WHITESPACE@8..9 " "
BLOCK_EXPR@9..136
- BLOCK@9..136
- L_CURLY@9..10 "{"
- WHITESPACE@10..15 "\n "
- EXPR_STMT@15..26
- IF_EXPR@15..25
- IF_KW@15..17 "if"
- WHITESPACE@17..18 " "
- CONDITION@18..22
- LITERAL@18..22
- TRUE_KW@18..22 "true"
- WHITESPACE@22..23 " "
- BLOCK_EXPR@23..25
- BLOCK@23..25
- L_CURLY@23..24 "{"
- R_CURLY@24..25 "}"
- SEMICOLON@25..26 ";"
- WHITESPACE@26..31 "\n "
- EXPR_STMT@31..50
- IF_EXPR@31..49
- IF_KW@31..33 "if"
- WHITESPACE@33..34 " "
- CONDITION@34..38
- LITERAL@34..38
- TRUE_KW@34..38 "true"
- WHITESPACE@38..39 " "
- BLOCK_EXPR@39..41
- BLOCK@39..41
- L_CURLY@39..40 "{"
- R_CURLY@40..41 "}"
- WHITESPACE@41..42 " "
- ELSE_KW@42..46 "else"
- WHITESPACE@46..47 " "
- BLOCK_EXPR@47..49
- BLOCK@47..49
- L_CURLY@47..48 "{"
- R_CURLY@48..49 "}"
- SEMICOLON@49..50 ";"
- WHITESPACE@50..55 "\n "
- EXPR_STMT@55..91
- IF_EXPR@55..90
- IF_KW@55..57 "if"
- WHITESPACE@57..58 " "
- CONDITION@58..62
- LITERAL@58..62
- TRUE_KW@58..62 "true"
- WHITESPACE@62..63 " "
- BLOCK_EXPR@63..65
- BLOCK@63..65
- L_CURLY@63..64 "{"
- R_CURLY@64..65 "}"
- WHITESPACE@65..66 " "
- ELSE_KW@66..70 "else"
- WHITESPACE@70..71 " "
- IF_EXPR@71..90
- IF_KW@71..73 "if"
- WHITESPACE@73..74 " "
- CONDITION@74..79
- LITERAL@74..79
- FALSE_KW@74..79 "false"
- WHITESPACE@79..80 " "
- BLOCK_EXPR@80..82
- BLOCK@80..82
- L_CURLY@80..81 "{"
- R_CURLY@81..82 "}"
- WHITESPACE@82..83 " "
- ELSE_KW@83..87 "else"
- WHITESPACE@87..88 " "
- BLOCK_EXPR@88..90
- BLOCK@88..90
- L_CURLY@88..89 "{"
- R_CURLY@89..90 "}"
- SEMICOLON@90..91 ";"
- WHITESPACE@91..96 "\n "
- EXPR_STMT@96..104
- IF_EXPR@96..103
- IF_KW@96..98 "if"
- WHITESPACE@98..99 " "
- CONDITION@99..100
- PATH_EXPR@99..100
- PATH@99..100
- PATH_SEGMENT@99..100
- NAME_REF@99..100
- IDENT@99..100 "S"
- WHITESPACE@100..101 " "
- BLOCK_EXPR@101..103
- BLOCK@101..103
- L_CURLY@101..102 "{"
- R_CURLY@102..103 "}"
- SEMICOLON@103..104 ";"
- WHITESPACE@104..109 "\n "
- EXPR_STMT@109..134
- IF_EXPR@109..133
- IF_KW@109..111 "if"
- WHITESPACE@111..112 " "
- CONDITION@112..120
- BLOCK_EXPR@112..120
- BLOCK@112..120
- L_CURLY@112..113 "{"
- WHITESPACE@113..114 " "
- LITERAL@114..118
- TRUE_KW@114..118 "true"
- WHITESPACE@118..119 " "
- R_CURLY@119..120 "}"
- WHITESPACE@120..121 " "
- BLOCK_EXPR@121..124
- BLOCK@121..124
- L_CURLY@121..122 "{"
- WHITESPACE@122..123 " "
- R_CURLY@123..124 "}"
- WHITESPACE@124..125 " "
- ELSE_KW@125..129 "else"
- WHITESPACE@129..130 " "
- BLOCK_EXPR@130..133
- BLOCK@130..133
- L_CURLY@130..131 "{"
- WHITESPACE@131..132 " "
- R_CURLY@132..133 "}"
- SEMICOLON@133..134 ";"
- WHITESPACE@134..135 "\n"
- R_CURLY@135..136 "}"
+ L_CURLY@9..10 "{"
+ WHITESPACE@10..15 "\n "
+ EXPR_STMT@15..26
+ IF_EXPR@15..25
+ IF_KW@15..17 "if"
+ WHITESPACE@17..18 " "
+ CONDITION@18..22
+ LITERAL@18..22
+ TRUE_KW@18..22 "true"
+ WHITESPACE@22..23 " "
+ BLOCK_EXPR@23..25
+ L_CURLY@23..24 "{"
+ R_CURLY@24..25 "}"
+ SEMICOLON@25..26 ";"
+ WHITESPACE@26..31 "\n "
+ EXPR_STMT@31..50
+ IF_EXPR@31..49
+ IF_KW@31..33 "if"
+ WHITESPACE@33..34 " "
+ CONDITION@34..38
+ LITERAL@34..38
+ TRUE_KW@34..38 "true"
+ WHITESPACE@38..39 " "
+ BLOCK_EXPR@39..41
+ L_CURLY@39..40 "{"
+ R_CURLY@40..41 "}"
+ WHITESPACE@41..42 " "
+ ELSE_KW@42..46 "else"
+ WHITESPACE@46..47 " "
+ BLOCK_EXPR@47..49
+ L_CURLY@47..48 "{"
+ R_CURLY@48..49 "}"
+ SEMICOLON@49..50 ";"
+ WHITESPACE@50..55 "\n "
+ EXPR_STMT@55..91
+ IF_EXPR@55..90
+ IF_KW@55..57 "if"
+ WHITESPACE@57..58 " "
+ CONDITION@58..62
+ LITERAL@58..62
+ TRUE_KW@58..62 "true"
+ WHITESPACE@62..63 " "
+ BLOCK_EXPR@63..65
+ L_CURLY@63..64 "{"
+ R_CURLY@64..65 "}"
+ WHITESPACE@65..66 " "
+ ELSE_KW@66..70 "else"
+ WHITESPACE@70..71 " "
+ IF_EXPR@71..90
+ IF_KW@71..73 "if"
+ WHITESPACE@73..74 " "
+ CONDITION@74..79
+ LITERAL@74..79
+ FALSE_KW@74..79 "false"
+ WHITESPACE@79..80 " "
+ BLOCK_EXPR@80..82
+ L_CURLY@80..81 "{"
+ R_CURLY@81..82 "}"
+ WHITESPACE@82..83 " "
+ ELSE_KW@83..87 "else"
+ WHITESPACE@87..88 " "
+ BLOCK_EXPR@88..90
+ L_CURLY@88..89 "{"
+ R_CURLY@89..90 "}"
+ SEMICOLON@90..91 ";"
+ WHITESPACE@91..96 "\n "
+ EXPR_STMT@96..104
+ IF_EXPR@96..103
+ IF_KW@96..98 "if"
+ WHITESPACE@98..99 " "
+ CONDITION@99..100
+ PATH_EXPR@99..100
+ PATH@99..100
+ PATH_SEGMENT@99..100
+ NAME_REF@99..100
+ IDENT@99..100 "S"
+ WHITESPACE@100..101 " "
+ BLOCK_EXPR@101..103
+ L_CURLY@101..102 "{"
+ R_CURLY@102..103 "}"
+ SEMICOLON@103..104 ";"
+ WHITESPACE@104..109 "\n "
+ EXPR_STMT@109..134
+ IF_EXPR@109..133
+ IF_KW@109..111 "if"
+ WHITESPACE@111..112 " "
+ CONDITION@112..120
+ BLOCK_EXPR@112..120
+ L_CURLY@112..113 "{"
+ WHITESPACE@113..114 " "
+ LITERAL@114..118
+ TRUE_KW@114..118 "true"
+ WHITESPACE@118..119 " "
+ R_CURLY@119..120 "}"
+ WHITESPACE@120..121 " "
+ BLOCK_EXPR@121..124
+ L_CURLY@121..122 "{"
+ WHITESPACE@122..123 " "
+ R_CURLY@123..124 "}"
+ WHITESPACE@124..125 " "
+ ELSE_KW@125..129 "else"
+ WHITESPACE@129..130 " "
+ BLOCK_EXPR@130..133
+ L_CURLY@130..131 "{"
+ WHITESPACE@131..132 " "
+ R_CURLY@132..133 "}"
+ SEMICOLON@133..134 ";"
+ WHITESPACE@134..135 "\n"
+ R_CURLY@135..136 "}"
WHITESPACE@136..137 "\n"
R_PAREN@7..8 ")"
WHITESPACE@8..9 " "
BLOCK_EXPR@9..166
- BLOCK@9..166
- L_CURLY@9..10 "{"
- WHITESPACE@10..15 "\n "
- EXPR_STMT@15..164
- MATCH_EXPR@15..163
- MATCH_KW@15..20 "match"
- WHITESPACE@20..21 " "
- TUPLE_EXPR@21..23
- L_PAREN@21..22 "("
- R_PAREN@22..23 ")"
- WHITESPACE@23..24 " "
- MATCH_ARM_LIST@24..163
- L_CURLY@24..25 "{"
- WHITESPACE@25..34 "\n "
- MATCH_ARM@34..41
- PLACEHOLDER_PAT@34..35
- UNDERSCORE@34..35 "_"
- WHITESPACE@35..36 " "
- FAT_ARROW@36..38 "=>"
- WHITESPACE@38..39 " "
- TUPLE_EXPR@39..41
- L_PAREN@39..40 "("
- R_PAREN@40..41 ")"
- COMMA@41..42 ","
- WHITESPACE@42..51 "\n "
- MATCH_ARM@51..83
- PLACEHOLDER_PAT@51..52
- UNDERSCORE@51..52 "_"
- WHITESPACE@52..53 " "
- MATCH_GUARD@53..77
- IF_KW@53..55 "if"
- WHITESPACE@55..56 " "
- BIN_EXPR@56..77
- PATH_EXPR@56..60
- PATH@56..60
- PATH_SEGMENT@56..60
- NAME_REF@56..60
- IDENT@56..60 "Test"
- WHITESPACE@60..61 " "
- R_ANGLE@61..62 ">"
- WHITESPACE@62..63 " "
- RECORD_LIT@63..77
- PATH@63..67
- PATH_SEGMENT@63..67
- NAME_REF@63..67
- IDENT@63..67 "Test"
- RECORD_FIELD_LIST@67..77
- L_CURLY@67..68 "{"
- RECORD_FIELD@68..76
- NAME_REF@68..73
- IDENT@68..73 "field"
- COLON@73..74 ":"
- WHITESPACE@74..75 " "
- LITERAL@75..76
- INT_NUMBER@75..76 "0"
- R_CURLY@76..77 "}"
- WHITESPACE@77..78 " "
- FAT_ARROW@78..80 "=>"
- WHITESPACE@80..81 " "
- TUPLE_EXPR@81..83
- L_PAREN@81..82 "("
- R_PAREN@82..83 ")"
- COMMA@83..84 ","
- WHITESPACE@84..93 "\n "
- MATCH_ARM@93..109
- OR_PAT@93..98
- BIND_PAT@93..94
- NAME@93..94
- IDENT@93..94 "X"
- WHITESPACE@94..95 " "
- PIPE@95..96 "|"
- WHITESPACE@96..97 " "
- BIND_PAT@97..98
- NAME@97..98
- IDENT@97..98 "Y"
- WHITESPACE@98..99 " "
- MATCH_GUARD@99..103
- IF_KW@99..101 "if"
- WHITESPACE@101..102 " "
- PATH_EXPR@102..103
- PATH@102..103
- PATH_SEGMENT@102..103
- NAME_REF@102..103
- IDENT@102..103 "Z"
- WHITESPACE@103..104 " "
- FAT_ARROW@104..106 "=>"
- WHITESPACE@106..107 " "
- TUPLE_EXPR@107..109
- L_PAREN@107..108 "("
- R_PAREN@108..109 ")"
- COMMA@109..110 ","
- WHITESPACE@110..119 "\n "
- MATCH_ARM@119..137
- PIPE@119..120 "|"
- WHITESPACE@120..121 " "
- OR_PAT@121..126
- BIND_PAT@121..122
- NAME@121..122
- IDENT@121..122 "X"
- WHITESPACE@122..123 " "
- PIPE@123..124 "|"
- WHITESPACE@124..125 " "
- BIND_PAT@125..126
- NAME@125..126
- IDENT@125..126 "Y"
- WHITESPACE@126..127 " "
- MATCH_GUARD@127..131
- IF_KW@127..129 "if"
- WHITESPACE@129..130 " "
- PATH_EXPR@130..131
- PATH@130..131
- PATH_SEGMENT@130..131
- NAME_REF@130..131
- IDENT@130..131 "Z"
- WHITESPACE@131..132 " "
- FAT_ARROW@132..134 "=>"
- WHITESPACE@134..135 " "
- TUPLE_EXPR@135..137
- L_PAREN@135..136 "("
- R_PAREN@136..137 ")"
- COMMA@137..138 ","
- WHITESPACE@138..147 "\n "
- MATCH_ARM@147..156
- PIPE@147..148 "|"
- WHITESPACE@148..149 " "
- BIND_PAT@149..150
- NAME@149..150
- IDENT@149..150 "X"
- WHITESPACE@150..151 " "
- FAT_ARROW@151..153 "=>"
- WHITESPACE@153..154 " "
- TUPLE_EXPR@154..156
- L_PAREN@154..155 "("
- R_PAREN@155..156 ")"
- COMMA@156..157 ","
- WHITESPACE@157..162 "\n "
- R_CURLY@162..163 "}"
- SEMICOLON@163..164 ";"
- WHITESPACE@164..165 "\n"
- R_CURLY@165..166 "}"
+ L_CURLY@9..10 "{"
+ WHITESPACE@10..15 "\n "
+ EXPR_STMT@15..164
+ MATCH_EXPR@15..163
+ MATCH_KW@15..20 "match"
+ WHITESPACE@20..21 " "
+ TUPLE_EXPR@21..23
+ L_PAREN@21..22 "("
+ R_PAREN@22..23 ")"
+ WHITESPACE@23..24 " "
+ MATCH_ARM_LIST@24..163
+ L_CURLY@24..25 "{"
+ WHITESPACE@25..34 "\n "
+ MATCH_ARM@34..41
+ PLACEHOLDER_PAT@34..35
+ UNDERSCORE@34..35 "_"
+ WHITESPACE@35..36 " "
+ FAT_ARROW@36..38 "=>"
+ WHITESPACE@38..39 " "
+ TUPLE_EXPR@39..41
+ L_PAREN@39..40 "("
+ R_PAREN@40..41 ")"
+ COMMA@41..42 ","
+ WHITESPACE@42..51 "\n "
+ MATCH_ARM@51..83
+ PLACEHOLDER_PAT@51..52
+ UNDERSCORE@51..52 "_"
+ WHITESPACE@52..53 " "
+ MATCH_GUARD@53..77
+ IF_KW@53..55 "if"
+ WHITESPACE@55..56 " "
+ BIN_EXPR@56..77
+ PATH_EXPR@56..60
+ PATH@56..60
+ PATH_SEGMENT@56..60
+ NAME_REF@56..60
+ IDENT@56..60 "Test"
+ WHITESPACE@60..61 " "
+ R_ANGLE@61..62 ">"
+ WHITESPACE@62..63 " "
+ RECORD_LIT@63..77
+ PATH@63..67
+ PATH_SEGMENT@63..67
+ NAME_REF@63..67
+ IDENT@63..67 "Test"
+ RECORD_FIELD_LIST@67..77
+ L_CURLY@67..68 "{"
+ RECORD_FIELD@68..76
+ NAME_REF@68..73
+ IDENT@68..73 "field"
+ COLON@73..74 ":"
+ WHITESPACE@74..75 " "
+ LITERAL@75..76
+ INT_NUMBER@75..76 "0"
+ R_CURLY@76..77 "}"
+ WHITESPACE@77..78 " "
+ FAT_ARROW@78..80 "=>"
+ WHITESPACE@80..81 " "
+ TUPLE_EXPR@81..83
+ L_PAREN@81..82 "("
+ R_PAREN@82..83 ")"
+ COMMA@83..84 ","
+ WHITESPACE@84..93 "\n "
+ MATCH_ARM@93..109
+ OR_PAT@93..98
+ BIND_PAT@93..94
+ NAME@93..94
+ IDENT@93..94 "X"
+ WHITESPACE@94..95 " "
+ PIPE@95..96 "|"
+ WHITESPACE@96..97 " "
+ BIND_PAT@97..98
+ NAME@97..98
+ IDENT@97..98 "Y"
+ WHITESPACE@98..99 " "
+ MATCH_GUARD@99..103
+ IF_KW@99..101 "if"
+ WHITESPACE@101..102 " "
+ PATH_EXPR@102..103
+ PATH@102..103
+ PATH_SEGMENT@102..103
+ NAME_REF@102..103
+ IDENT@102..103 "Z"
+ WHITESPACE@103..104 " "
+ FAT_ARROW@104..106 "=>"
+ WHITESPACE@106..107 " "
+ TUPLE_EXPR@107..109
+ L_PAREN@107..108 "("
+ R_PAREN@108..109 ")"
+ COMMA@109..110 ","
+ WHITESPACE@110..119 "\n "
+ MATCH_ARM@119..137
+ PIPE@119..120 "|"
+ WHITESPACE@120..121 " "
+ OR_PAT@121..126
+ BIND_PAT@121..122
+ NAME@121..122
+ IDENT@121..122 "X"
+ WHITESPACE@122..123 " "
+ PIPE@123..124 "|"
+ WHITESPACE@124..125 " "
+ BIND_PAT@125..126
+ NAME@125..126
+ IDENT@125..126 "Y"
+ WHITESPACE@126..127 " "
+ MATCH_GUARD@127..131
+ IF_KW@127..129 "if"
+ WHITESPACE@129..130 " "
+ PATH_EXPR@130..131
+ PATH@130..131
+ PATH_SEGMENT@130..131
+ NAME_REF@130..131
+ IDENT@130..131 "Z"
+ WHITESPACE@131..132 " "
+ FAT_ARROW@132..134 "=>"
+ WHITESPACE@134..135 " "
+ TUPLE_EXPR@135..137
+ L_PAREN@135..136 "("
+ R_PAREN@136..137 ")"
+ COMMA@137..138 ","
+ WHITESPACE@138..147 "\n "
+ MATCH_ARM@147..156
+ PIPE@147..148 "|"
+ WHITESPACE@148..149 " "
+ BIND_PAT@149..150
+ NAME@149..150
+ IDENT@149..150 "X"
+ WHITESPACE@150..151 " "
+ FAT_ARROW@151..153 "=>"
+ WHITESPACE@153..154 " "
+ TUPLE_EXPR@154..156
+ L_PAREN@154..155 "("
+ R_PAREN@155..156 ")"
+ COMMA@156..157 ","
+ WHITESPACE@157..162 "\n "
+ R_CURLY@162..163 "}"
+ SEMICOLON@163..164 ";"
+ WHITESPACE@164..165 "\n"
+ R_CURLY@165..166 "}"
WHITESPACE@166..167 "\n"
R_PAREN@7..8 ")"
WHITESPACE@8..9 " "
BLOCK_EXPR@9..45
- BLOCK@9..45
- L_CURLY@9..10 "{"
- WHITESPACE@10..15 "\n "
- LET_STMT@15..31
- LET_KW@15..18 "let"
- WHITESPACE@18..19 " "
- PLACEHOLDER_PAT@19..20
- UNDERSCORE@19..20 "_"
- WHITESPACE@20..21 " "
- EQ@21..22 "="
- WHITESPACE@22..23 " "
- BIN_EXPR@23..30
- BLOCK_EXPR@23..26
- BLOCK@23..26
- L_CURLY@23..24 "{"
- LITERAL@24..25
- INT_NUMBER@24..25 "1"
- R_CURLY@25..26 "}"
- WHITESPACE@26..27 " "
- AMP@27..28 "&"
- WHITESPACE@28..29 " "
- LITERAL@29..30
- INT_NUMBER@29..30 "2"
- SEMICOLON@30..31 ";"
- WHITESPACE@31..36 "\n "
- EXPR_STMT@36..39
- BLOCK_EXPR@36..39
- BLOCK@36..39
- L_CURLY@36..37 "{"
- LITERAL@37..38
- INT_NUMBER@37..38 "1"
- R_CURLY@38..39 "}"
- WHITESPACE@39..40 " "
- EXPR_STMT@40..43
- REF_EXPR@40..42
- AMP@40..41 "&"
- LITERAL@41..42
- INT_NUMBER@41..42 "2"
- SEMICOLON@42..43 ";"
- WHITESPACE@43..44 "\n"
- R_CURLY@44..45 "}"
+ L_CURLY@9..10 "{"
+ WHITESPACE@10..15 "\n "
+ LET_STMT@15..31
+ LET_KW@15..18 "let"
+ WHITESPACE@18..19 " "
+ PLACEHOLDER_PAT@19..20
+ UNDERSCORE@19..20 "_"
+ WHITESPACE@20..21 " "
+ EQ@21..22 "="
+ WHITESPACE@22..23 " "
+ BIN_EXPR@23..30
+ BLOCK_EXPR@23..26
+ L_CURLY@23..24 "{"
+ LITERAL@24..25
+ INT_NUMBER@24..25 "1"
+ R_CURLY@25..26 "}"
+ WHITESPACE@26..27 " "
+ AMP@27..28 "&"
+ WHITESPACE@28..29 " "
+ LITERAL@29..30
+ INT_NUMBER@29..30 "2"
+ SEMICOLON@30..31 ";"
+ WHITESPACE@31..36 "\n "
+ EXPR_STMT@36..39
+ BLOCK_EXPR@36..39
+ L_CURLY@36..37 "{"
+ LITERAL@37..38
+ INT_NUMBER@37..38 "1"
+ R_CURLY@38..39 "}"
+ WHITESPACE@39..40 " "
+ EXPR_STMT@40..43
+ REF_EXPR@40..42
+ AMP@40..41 "&"
+ LITERAL@41..42
+ INT_NUMBER@41..42 "2"
+ SEMICOLON@42..43 ";"
+ WHITESPACE@43..44 "\n"
+ R_CURLY@44..45 "}"
WHITESPACE@45..46 "\n"
R_PAREN@7..8 ")"
WHITESPACE@8..9 " "
BLOCK_EXPR@9..96
- BLOCK@9..96
- L_CURLY@9..10 "{"
- WHITESPACE@10..15 "\n "
- EXPR_STMT@15..28
- MATCH_EXPR@15..27
- MATCH_KW@15..20 "match"
- WHITESPACE@20..21 " "
- TUPLE_EXPR@21..23
- L_PAREN@21..22 "("
- R_PAREN@22..23 ")"
- WHITESPACE@23..24 " "
- MATCH_ARM_LIST@24..27
- L_CURLY@24..25 "{"
- WHITESPACE@25..26 " "
- R_CURLY@26..27 "}"
- SEMICOLON@27..28 ";"
- WHITESPACE@28..33 "\n "
- EXPR_STMT@33..44
- MATCH_EXPR@33..43
- MATCH_KW@33..38 "match"
- WHITESPACE@38..39 " "
- PATH_EXPR@39..40
- PATH@39..40
- PATH_SEGMENT@39..40
- NAME_REF@39..40
- IDENT@39..40 "S"
- WHITESPACE@40..41 " "
- MATCH_ARM_LIST@41..43
- L_CURLY@41..42 "{"
- R_CURLY@42..43 "}"
- SEMICOLON@43..44 ";"
- WHITESPACE@44..49 "\n "
- EXPR_STMT@49..71
- MATCH_EXPR@49..70
- MATCH_KW@49..54 "match"
- WHITESPACE@54..55 " "
- BLOCK_EXPR@55..58
- BLOCK@55..58
- L_CURLY@55..56 "{"
- WHITESPACE@56..57 " "
- R_CURLY@57..58 "}"
- WHITESPACE@58..59 " "
- MATCH_ARM_LIST@59..70
- L_CURLY@59..60 "{"
- WHITESPACE@60..61 " "
- MATCH_ARM@61..68
- PLACEHOLDER_PAT@61..62
- UNDERSCORE@61..62 "_"
- WHITESPACE@62..63 " "
- FAT_ARROW@63..65 "=>"
- WHITESPACE@65..66 " "
- TUPLE_EXPR@66..68
- L_PAREN@66..67 "("
- R_PAREN@67..68 ")"
- WHITESPACE@68..69 " "
- R_CURLY@69..70 "}"
- SEMICOLON@70..71 ";"
- WHITESPACE@71..76 "\n "
- EXPR_STMT@76..94
- MATCH_EXPR@76..93
- MATCH_KW@76..81 "match"
- WHITESPACE@81..82 " "
- BLOCK_EXPR@82..90
- BLOCK@82..90
- L_CURLY@82..83 "{"
- WHITESPACE@83..84 " "
- RECORD_LIT@84..88
- PATH@84..85
- PATH_SEGMENT@84..85
- NAME_REF@84..85
- IDENT@84..85 "S"
- WHITESPACE@85..86 " "
- RECORD_FIELD_LIST@86..88
- L_CURLY@86..87 "{"
- R_CURLY@87..88 "}"
- WHITESPACE@88..89 " "
- R_CURLY@89..90 "}"
- WHITESPACE@90..91 " "
- MATCH_ARM_LIST@91..93
- L_CURLY@91..92 "{"
- R_CURLY@92..93 "}"
- SEMICOLON@93..94 ";"
- WHITESPACE@94..95 "\n"
- R_CURLY@95..96 "}"
+ L_CURLY@9..10 "{"
+ WHITESPACE@10..15 "\n "
+ EXPR_STMT@15..28
+ MATCH_EXPR@15..27
+ MATCH_KW@15..20 "match"
+ WHITESPACE@20..21 " "
+ TUPLE_EXPR@21..23
+ L_PAREN@21..22 "("
+ R_PAREN@22..23 ")"
+ WHITESPACE@23..24 " "
+ MATCH_ARM_LIST@24..27
+ L_CURLY@24..25 "{"
+ WHITESPACE@25..26 " "
+ R_CURLY@26..27 "}"
+ SEMICOLON@27..28 ";"
+ WHITESPACE@28..33 "\n "
+ EXPR_STMT@33..44
+ MATCH_EXPR@33..43
+ MATCH_KW@33..38 "match"
+ WHITESPACE@38..39 " "
+ PATH_EXPR@39..40
+ PATH@39..40
+ PATH_SEGMENT@39..40
+ NAME_REF@39..40
+ IDENT@39..40 "S"
+ WHITESPACE@40..41 " "
+ MATCH_ARM_LIST@41..43
+ L_CURLY@41..42 "{"
+ R_CURLY@42..43 "}"
+ SEMICOLON@43..44 ";"
+ WHITESPACE@44..49 "\n "
+ EXPR_STMT@49..71
+ MATCH_EXPR@49..70
+ MATCH_KW@49..54 "match"
+ WHITESPACE@54..55 " "
+ BLOCK_EXPR@55..58
+ L_CURLY@55..56 "{"
+ WHITESPACE@56..57 " "
+ R_CURLY@57..58 "}"
+ WHITESPACE@58..59 " "
+ MATCH_ARM_LIST@59..70
+ L_CURLY@59..60 "{"
+ WHITESPACE@60..61 " "
+ MATCH_ARM@61..68
+ PLACEHOLDER_PAT@61..62
+ UNDERSCORE@61..62 "_"
+ WHITESPACE@62..63 " "
+ FAT_ARROW@63..65 "=>"
+ WHITESPACE@65..66 " "
+ TUPLE_EXPR@66..68
+ L_PAREN@66..67 "("
+ R_PAREN@67..68 ")"
+ WHITESPACE@68..69 " "
+ R_CURLY@69..70 "}"
+ SEMICOLON@70..71 ";"
+ WHITESPACE@71..76 "\n "
+ EXPR_STMT@76..94
+ MATCH_EXPR@76..93
+ MATCH_KW@76..81 "match"
+ WHITESPACE@81..82 " "
+ BLOCK_EXPR@82..90
+ L_CURLY@82..83 "{"
+ WHITESPACE@83..84 " "
+ RECORD_LIT@84..88
+ PATH@84..85
+ PATH_SEGMENT@84..85
+ NAME_REF@84..85
+ IDENT@84..85 "S"
+ WHITESPACE@85..86 " "
+ RECORD_FIELD_LIST@86..88
+ L_CURLY@86..87 "{"
+ R_CURLY@87..88 "}"
+ WHITESPACE@88..89 " "
+ R_CURLY@89..90 "}"
+ WHITESPACE@90..91 " "
+ MATCH_ARM_LIST@91..93
+ L_CURLY@91..92 "{"
+ R_CURLY@92..93 "}"
+ SEMICOLON@93..94 ";"
+ WHITESPACE@94..95 "\n"
+ R_CURLY@95..96 "}"
WHITESPACE@96..97 "\n"
R_PAREN@7..8 ")"
WHITESPACE@8..9 " "
BLOCK_EXPR@9..39
- BLOCK@9..39
- L_CURLY@9..10 "{"
- WHITESPACE@10..15 "\n "
- EXPR_STMT@15..22
- RETURN_EXPR@15..21
- RETURN_KW@15..21 "return"
- SEMICOLON@21..22 ";"
- WHITESPACE@22..27 "\n "
- EXPR_STMT@27..37
- RETURN_EXPR@27..36
- RETURN_KW@27..33 "return"
- WHITESPACE@33..34 " "
- LITERAL@34..36
- INT_NUMBER@34..36 "92"
- SEMICOLON@36..37 ";"
- WHITESPACE@37..38 "\n"
- R_CURLY@38..39 "}"
+ L_CURLY@9..10 "{"
+ WHITESPACE@10..15 "\n "
+ EXPR_STMT@15..22
+ RETURN_EXPR@15..21
+ RETURN_KW@15..21 "return"
+ SEMICOLON@21..22 ";"
+ WHITESPACE@22..27 "\n "
+ EXPR_STMT@27..37
+ RETURN_EXPR@27..36
+ RETURN_KW@27..33 "return"
+ WHITESPACE@33..34 " "
+ LITERAL@34..36
+ INT_NUMBER@34..36 "92"
+ SEMICOLON@36..37 ";"
+ WHITESPACE@37..38 "\n"
+ R_CURLY@38..39 "}"
WHITESPACE@39..40 "\n"
R_PAREN@7..8 ")"
WHITESPACE@8..9 " "
BLOCK_EXPR@9..83
- BLOCK@9..83
- L_CURLY@9..10 "{"
- WHITESPACE@10..15 "\n "
- MATCH_EXPR@15..81
- MATCH_KW@15..20 "match"
- WHITESPACE@20..21 " "
- TUPLE_EXPR@21..23
- L_PAREN@21..22 "("
- R_PAREN@22..23 ")"
- WHITESPACE@23..24 " "
- MATCH_ARM_LIST@24..81
- L_CURLY@24..25 "{"
- WHITESPACE@25..34 "\n "
- MATCH_ARM@34..41
- PLACEHOLDER_PAT@34..35
- UNDERSCORE@34..35 "_"
- WHITESPACE@35..36 " "
- FAT_ARROW@36..38 "=>"
- WHITESPACE@38..39 " "
- BLOCK_EXPR@39..41
- BLOCK@39..41
- L_CURLY@39..40 "{"
- R_CURLY@40..41 "}"
- WHITESPACE@41..50 "\n "
- MATCH_ARM@50..58
- TUPLE_PAT@50..52
- L_PAREN@50..51 "("
- R_PAREN@51..52 ")"
- WHITESPACE@52..53 " "
- FAT_ARROW@53..55 "=>"
- WHITESPACE@55..56 " "
- BLOCK_EXPR@56..58
- BLOCK@56..58
- L_CURLY@56..57 "{"
- R_CURLY@57..58 "}"
- WHITESPACE@58..67 "\n "
- MATCH_ARM@67..75
- SLICE_PAT@67..69
- L_BRACK@67..68 "["
- R_BRACK@68..69 "]"
- WHITESPACE@69..70 " "
- FAT_ARROW@70..72 "=>"
- WHITESPACE@72..73 " "
- BLOCK_EXPR@73..75
- BLOCK@73..75
- L_CURLY@73..74 "{"
- R_CURLY@74..75 "}"
- WHITESPACE@75..80 "\n "
- R_CURLY@80..81 "}"
- WHITESPACE@81..82 "\n"
- R_CURLY@82..83 "}"
+ L_CURLY@9..10 "{"
+ WHITESPACE@10..15 "\n "
+ MATCH_EXPR@15..81
+ MATCH_KW@15..20 "match"
+ WHITESPACE@20..21 " "
+ TUPLE_EXPR@21..23
+ L_PAREN@21..22 "("
+ R_PAREN@22..23 ")"
+ WHITESPACE@23..24 " "
+ MATCH_ARM_LIST@24..81
+ L_CURLY@24..25 "{"
+ WHITESPACE@25..34 "\n "
+ MATCH_ARM@34..41
+ PLACEHOLDER_PAT@34..35
+ UNDERSCORE@34..35 "_"
+ WHITESPACE@35..36 " "
+ FAT_ARROW@36..38 "=>"
+ WHITESPACE@38..39 " "
+ BLOCK_EXPR@39..41
+ L_CURLY@39..40 "{"
+ R_CURLY@40..41 "}"
+ WHITESPACE@41..50 "\n "
+ MATCH_ARM@50..58
+ TUPLE_PAT@50..52
+ L_PAREN@50..51 "("
+ R_PAREN@51..52 ")"
+ WHITESPACE@52..53 " "
+ FAT_ARROW@53..55 "=>"
+ WHITESPACE@55..56 " "
+ BLOCK_EXPR@56..58
+ L_CURLY@56..57 "{"
+ R_CURLY@57..58 "}"
+ WHITESPACE@58..67 "\n "
+ MATCH_ARM@67..75
+ SLICE_PAT@67..69
+ L_BRACK@67..68 "["
+ R_BRACK@68..69 "]"
+ WHITESPACE@69..70 " "
+ FAT_ARROW@70..72 "=>"
+ WHITESPACE@72..73 " "
+ BLOCK_EXPR@73..75
+ L_CURLY@73..74 "{"
+ R_CURLY@74..75 "}"
+ WHITESPACE@75..80 "\n "
+ R_CURLY@80..81 "}"
+ WHITESPACE@81..82 "\n"
+ R_CURLY@82..83 "}"
WHITESPACE@83..84 "\n"
R_PAREN@5..6 ")"
WHITESPACE@6..7 " "
BLOCK_EXPR@7..9
- BLOCK@7..9
- L_CURLY@7..8 "{"
- R_CURLY@8..9 "}"
+ L_CURLY@7..8 "{"
+ R_CURLY@8..9 "}"
WHITESPACE@9..10 "\n"
FN_DEF@10..31
FN_KW@10..12 "fn"
R_PAREN@15..16 ")"
WHITESPACE@16..17 " "
BLOCK_EXPR@17..31
- BLOCK@17..31
- L_CURLY@17..18 "{"
- WHITESPACE@18..19 " "
- LET_STMT@19..29
- LET_KW@19..22 "let"
- WHITESPACE@22..23 " "
- PLACEHOLDER_PAT@23..24
- UNDERSCORE@23..24 "_"
- WHITESPACE@24..25 " "
- EQ@25..26 "="
- WHITESPACE@26..27 " "
- LITERAL@27..28
- INT_NUMBER@27..28 "1"
- SEMICOLON@28..29 ";"
- WHITESPACE@29..30 " "
- R_CURLY@30..31 "}"
+ L_CURLY@17..18 "{"
+ WHITESPACE@18..19 " "
+ LET_STMT@19..29
+ LET_KW@19..22 "let"
+ WHITESPACE@22..23 " "
+ PLACEHOLDER_PAT@23..24
+ UNDERSCORE@23..24 "_"
+ WHITESPACE@24..25 " "
+ EQ@25..26 "="
+ WHITESPACE@26..27 " "
+ LITERAL@27..28
+ INT_NUMBER@27..28 "1"
+ SEMICOLON@28..29 ";"
+ WHITESPACE@29..30 " "
+ R_CURLY@30..31 "}"
WHITESPACE@31..32 "\n"
FN_DEF@32..48
FN_KW@32..34 "fn"
R_PAREN@37..38 ")"
WHITESPACE@38..39 " "
BLOCK_EXPR@39..48
- BLOCK@39..48
- L_CURLY@39..40 "{"
- WHITESPACE@40..41 " "
- EXPR_STMT@41..43
- LITERAL@41..42
- INT_NUMBER@41..42 "1"
- SEMICOLON@42..43 ";"
- WHITESPACE@43..44 " "
- EXPR_STMT@44..46
- LITERAL@44..45
- INT_NUMBER@44..45 "2"
- SEMICOLON@45..46 ";"
- WHITESPACE@46..47 " "
- R_CURLY@47..48 "}"
+ L_CURLY@39..40 "{"
+ WHITESPACE@40..41 " "
+ EXPR_STMT@41..43
+ LITERAL@41..42
+ INT_NUMBER@41..42 "1"
+ SEMICOLON@42..43 ";"
+ WHITESPACE@43..44 " "
+ EXPR_STMT@44..46
+ LITERAL@44..45
+ INT_NUMBER@44..45 "2"
+ SEMICOLON@45..46 ";"
+ WHITESPACE@46..47 " "
+ R_CURLY@47..48 "}"
WHITESPACE@48..49 "\n"
FN_DEF@49..64
FN_KW@49..51 "fn"
R_PAREN@54..55 ")"
WHITESPACE@55..56 " "
BLOCK_EXPR@56..64
- BLOCK@56..64
- L_CURLY@56..57 "{"
- WHITESPACE@57..58 " "
- EXPR_STMT@58..60
- LITERAL@58..59
- INT_NUMBER@58..59 "1"
- SEMICOLON@59..60 ";"
- WHITESPACE@60..61 " "
- LITERAL@61..62
- INT_NUMBER@61..62 "2"
- WHITESPACE@62..63 " "
- R_CURLY@63..64 "}"
+ L_CURLY@56..57 "{"
+ WHITESPACE@57..58 " "
+ EXPR_STMT@58..60
+ LITERAL@58..59
+ INT_NUMBER@58..59 "1"
+ SEMICOLON@59..60 ";"
+ WHITESPACE@60..61 " "
+ LITERAL@61..62
+ INT_NUMBER@61..62 "2"
+ WHITESPACE@62..63 " "
+ R_CURLY@63..64 "}"
WHITESPACE@64..65 "\n"
IDENT@21..25 "Copy"
WHITESPACE@25..26 " "
BLOCK_EXPR@26..28
- BLOCK@26..28
- L_CURLY@26..27 "{"
- R_CURLY@27..28 "}"
+ L_CURLY@26..27 "{"
+ R_CURLY@27..28 "}"
WHITESPACE@28..29 "\n"
R_PAREN@7..8 ")"
WHITESPACE@8..9 " "
BLOCK_EXPR@9..20
- BLOCK@9..20
- L_CURLY@9..10 "{"
- WHITESPACE@10..15 "\n "
- EXPR_STMT@15..18
- TRY_EXPR@15..17
- PATH_EXPR@15..16
- PATH@15..16
- PATH_SEGMENT@15..16
- NAME_REF@15..16
- IDENT@15..16 "x"
- QUESTION@16..17 "?"
- SEMICOLON@17..18 ";"
- WHITESPACE@18..19 "\n"
- R_CURLY@19..20 "}"
+ L_CURLY@9..10 "{"
+ WHITESPACE@10..15 "\n "
+ EXPR_STMT@15..18
+ TRY_EXPR@15..17
+ PATH_EXPR@15..16
+ PATH@15..16
+ PATH_SEGMENT@15..16
+ NAME_REF@15..16
+ IDENT@15..16 "x"
+ QUESTION@16..17 "?"
+ SEMICOLON@17..18 ";"
+ WHITESPACE@18..19 "\n"
+ R_CURLY@19..20 "}"
WHITESPACE@20..21 "\n"
R_PAREN@7..8 ")"
WHITESPACE@8..9 " "
BLOCK_EXPR@9..88
- BLOCK@9..88
- L_CURLY@9..10 "{"
- WHITESPACE@10..15 "\n "
- LET_STMT@15..27
- LET_KW@15..18 "let"
- WHITESPACE@18..19 " "
- BIND_PAT@19..20
- NAME@19..20
- IDENT@19..20 "x"
- WHITESPACE@20..21 " "
- EQ@21..22 "="
- WHITESPACE@22..23 " "
- RANGE_EXPR@23..26
- LITERAL@23..24
- INT_NUMBER@23..24 "1"
- DOT2@24..26 ".."
- SEMICOLON@26..27 ";"
- WHITESPACE@27..32 "\n "
- EXPR_STMT@32..54
- MATCH_EXPR@32..53
- MATCH_KW@32..37 "match"
- WHITESPACE@37..38 " "
- RANGE_EXPR@38..41
- LITERAL@38..39
- INT_NUMBER@38..39 "1"
- DOT2@39..41 ".."
- WHITESPACE@41..42 " "
- MATCH_ARM_LIST@42..53
- L_CURLY@42..43 "{"
- WHITESPACE@43..44 " "
- MATCH_ARM@44..51
- PLACEHOLDER_PAT@44..45
- UNDERSCORE@44..45 "_"
- WHITESPACE@45..46 " "
- FAT_ARROW@46..48 "=>"
- WHITESPACE@48..49 " "
- TUPLE_EXPR@49..51
- L_PAREN@49..50 "("
- R_PAREN@50..51 ")"
- WHITESPACE@51..52 " "
- R_CURLY@52..53 "}"
- SEMICOLON@53..54 ";"
- WHITESPACE@54..59 "\n "
- EXPR_STMT@59..86
- MATCH_EXPR@59..85
- MATCH_KW@59..64 "match"
- WHITESPACE@64..65 " "
- RANGE_EXPR@65..73
- METHOD_CALL_EXPR@65..70
- PATH_EXPR@65..66
- PATH@65..66
- PATH_SEGMENT@65..66
- NAME_REF@65..66
- IDENT@65..66 "a"
- DOT@66..67 "."
- NAME_REF@67..68
- IDENT@67..68 "b"
- ARG_LIST@68..70
- L_PAREN@68..69 "("
- R_PAREN@69..70 ")"
- DOT2@70..72 ".."
- PATH_EXPR@72..73
- PATH@72..73
- PATH_SEGMENT@72..73
- NAME_REF@72..73
- IDENT@72..73 "S"
- WHITESPACE@73..74 " "
- MATCH_ARM_LIST@74..85
- L_CURLY@74..75 "{"
- WHITESPACE@75..76 " "
- MATCH_ARM@76..83
- PLACEHOLDER_PAT@76..77
- UNDERSCORE@76..77 "_"
- WHITESPACE@77..78 " "
- FAT_ARROW@78..80 "=>"
- WHITESPACE@80..81 " "
- TUPLE_EXPR@81..83
- L_PAREN@81..82 "("
- R_PAREN@82..83 ")"
- WHITESPACE@83..84 " "
- R_CURLY@84..85 "}"
- SEMICOLON@85..86 ";"
- WHITESPACE@86..87 "\n"
- R_CURLY@87..88 "}"
+ L_CURLY@9..10 "{"
+ WHITESPACE@10..15 "\n "
+ LET_STMT@15..27
+ LET_KW@15..18 "let"
+ WHITESPACE@18..19 " "
+ BIND_PAT@19..20
+ NAME@19..20
+ IDENT@19..20 "x"
+ WHITESPACE@20..21 " "
+ EQ@21..22 "="
+ WHITESPACE@22..23 " "
+ RANGE_EXPR@23..26
+ LITERAL@23..24
+ INT_NUMBER@23..24 "1"
+ DOT2@24..26 ".."
+ SEMICOLON@26..27 ";"
+ WHITESPACE@27..32 "\n "
+ EXPR_STMT@32..54
+ MATCH_EXPR@32..53
+ MATCH_KW@32..37 "match"
+ WHITESPACE@37..38 " "
+ RANGE_EXPR@38..41
+ LITERAL@38..39
+ INT_NUMBER@38..39 "1"
+ DOT2@39..41 ".."
+ WHITESPACE@41..42 " "
+ MATCH_ARM_LIST@42..53
+ L_CURLY@42..43 "{"
+ WHITESPACE@43..44 " "
+ MATCH_ARM@44..51
+ PLACEHOLDER_PAT@44..45
+ UNDERSCORE@44..45 "_"
+ WHITESPACE@45..46 " "
+ FAT_ARROW@46..48 "=>"
+ WHITESPACE@48..49 " "
+ TUPLE_EXPR@49..51
+ L_PAREN@49..50 "("
+ R_PAREN@50..51 ")"
+ WHITESPACE@51..52 " "
+ R_CURLY@52..53 "}"
+ SEMICOLON@53..54 ";"
+ WHITESPACE@54..59 "\n "
+ EXPR_STMT@59..86
+ MATCH_EXPR@59..85
+ MATCH_KW@59..64 "match"
+ WHITESPACE@64..65 " "
+ RANGE_EXPR@65..73
+ METHOD_CALL_EXPR@65..70
+ PATH_EXPR@65..66
+ PATH@65..66
+ PATH_SEGMENT@65..66
+ NAME_REF@65..66
+ IDENT@65..66 "a"
+ DOT@66..67 "."
+ NAME_REF@67..68
+ IDENT@67..68 "b"
+ ARG_LIST@68..70
+ L_PAREN@68..69 "("
+ R_PAREN@69..70 ")"
+ DOT2@70..72 ".."
+ PATH_EXPR@72..73
+ PATH@72..73
+ PATH_SEGMENT@72..73
+ NAME_REF@72..73
+ IDENT@72..73 "S"
+ WHITESPACE@73..74 " "
+ MATCH_ARM_LIST@74..85
+ L_CURLY@74..75 "{"
+ WHITESPACE@75..76 " "
+ MATCH_ARM@76..83
+ PLACEHOLDER_PAT@76..77
+ UNDERSCORE@76..77 "_"
+ WHITESPACE@77..78 " "
+ FAT_ARROW@78..80 "=>"
+ WHITESPACE@80..81 " "
+ TUPLE_EXPR@81..83
+ L_PAREN@81..82 "("
+ R_PAREN@82..83 ")"
+ WHITESPACE@83..84 " "
+ R_CURLY@84..85 "}"
+ SEMICOLON@85..86 ";"
+ WHITESPACE@86..87 "\n"
+ R_CURLY@87..88 "}"
WHITESPACE@88..89 "\n"
IDENT@68..76 "Iterator"
WHITESPACE@76..77 " "
BLOCK_EXPR@77..79
- BLOCK@77..79
- L_CURLY@77..78 "{"
- R_CURLY@78..79 "}"
+ L_CURLY@77..78 "{"
+ R_CURLY@78..79 "}"
WHITESPACE@79..80 "\n"
FN_DEF@80..134
FN_KW@80..82 "fn"
IDENT@123..131 "Iterator"
WHITESPACE@131..132 " "
BLOCK_EXPR@132..134
- BLOCK@132..134
- L_CURLY@132..133 "{"
- R_CURLY@133..134 "}"
+ L_CURLY@132..133 "{"
+ R_CURLY@133..134 "}"
WHITESPACE@134..135 "\n"
FN_DEF@135..199
FN_KW@135..137 "fn"
IDENT@188..196 "Iterator"
WHITESPACE@196..197 " "
BLOCK_EXPR@197..199
- BLOCK@197..199
- L_CURLY@197..198 "{"
- R_CURLY@198..199 "}"
+ L_CURLY@197..198 "{"
+ R_CURLY@198..199 "}"
WHITESPACE@199..200 "\n"
R_PAREN@7..8 ")"
WHITESPACE@8..9 " "
BLOCK_EXPR@9..51
- BLOCK@9..51
- L_CURLY@9..10 "{"
- WHITESPACE@10..15 "\n "
- LET_STMT@15..26
- LET_KW@15..18 "let"
- WHITESPACE@18..19 " "
- PLACEHOLDER_PAT@19..20
- UNDERSCORE@19..20 "_"
- WHITESPACE@20..21 " "
- EQ@21..22 "="
- WHITESPACE@22..23 " "
- REF_EXPR@23..25
- AMP@23..24 "&"
- LITERAL@24..25
- INT_NUMBER@24..25 "1"
- SEMICOLON@25..26 ";"
- WHITESPACE@26..31 "\n "
- LET_STMT@31..49
- LET_KW@31..34 "let"
- WHITESPACE@34..35 " "
- PLACEHOLDER_PAT@35..36
- UNDERSCORE@35..36 "_"
- WHITESPACE@36..37 " "
- EQ@37..38 "="
- WHITESPACE@38..39 " "
- REF_EXPR@39..48
- AMP@39..40 "&"
- MUT_KW@40..43 "mut"
- WHITESPACE@43..44 " "
- REF_EXPR@44..48
- AMP@44..45 "&"
- CALL_EXPR@45..48
- PATH_EXPR@45..46
- PATH@45..46
- PATH_SEGMENT@45..46
- NAME_REF@45..46
- IDENT@45..46 "f"
- ARG_LIST@46..48
- L_PAREN@46..47 "("
- R_PAREN@47..48 ")"
- SEMICOLON@48..49 ";"
- WHITESPACE@49..50 "\n"
- R_CURLY@50..51 "}"
+ L_CURLY@9..10 "{"
+ WHITESPACE@10..15 "\n "
+ LET_STMT@15..26
+ LET_KW@15..18 "let"
+ WHITESPACE@18..19 " "
+ PLACEHOLDER_PAT@19..20
+ UNDERSCORE@19..20 "_"
+ WHITESPACE@20..21 " "
+ EQ@21..22 "="
+ WHITESPACE@22..23 " "
+ REF_EXPR@23..25
+ AMP@23..24 "&"
+ LITERAL@24..25
+ INT_NUMBER@24..25 "1"
+ SEMICOLON@25..26 ";"
+ WHITESPACE@26..31 "\n "
+ LET_STMT@31..49
+ LET_KW@31..34 "let"
+ WHITESPACE@34..35 " "
+ PLACEHOLDER_PAT@35..36
+ UNDERSCORE@35..36 "_"
+ WHITESPACE@36..37 " "
+ EQ@37..38 "="
+ WHITESPACE@38..39 " "
+ REF_EXPR@39..48
+ AMP@39..40 "&"
+ MUT_KW@40..43 "mut"
+ WHITESPACE@43..44 " "
+ REF_EXPR@44..48
+ AMP@44..45 "&"
+ CALL_EXPR@45..48
+ PATH_EXPR@45..46
+ PATH@45..46
+ PATH_SEGMENT@45..46
+ NAME_REF@45..46
+ IDENT@45..46 "f"
+ ARG_LIST@46..48
+ L_PAREN@46..47 "("
+ R_PAREN@47..48 ")"
+ SEMICOLON@48..49 ";"
+ WHITESPACE@49..50 "\n"
+ R_CURLY@50..51 "}"
WHITESPACE@51..52 "\n"
R_PAREN@7..8 ")"
WHITESPACE@8..9 " "
BLOCK_EXPR@9..188
- BLOCK@9..188
- L_CURLY@9..10 "{"
- WHITESPACE@10..15 "\n "
- LET_STMT@15..28
- LET_KW@15..18 "let"
- WHITESPACE@18..19 " "
- PLACEHOLDER_PAT@19..20
- UNDERSCORE@19..20 "_"
- WHITESPACE@20..21 " "
- EQ@21..22 "="
- WHITESPACE@22..23 " "
- LITERAL@23..27
- TRUE_KW@23..27 "true"
- SEMICOLON@27..28 ";"
- WHITESPACE@28..33 "\n "
- LET_STMT@33..47
- LET_KW@33..36 "let"
- WHITESPACE@36..37 " "
- PLACEHOLDER_PAT@37..38
- UNDERSCORE@37..38 "_"
- WHITESPACE@38..39 " "
- EQ@39..40 "="
- WHITESPACE@40..41 " "
- LITERAL@41..46
- FALSE_KW@41..46 "false"
- SEMICOLON@46..47 ";"
- WHITESPACE@47..52 "\n "
- LET_STMT@52..62
- LET_KW@52..55 "let"
- WHITESPACE@55..56 " "
- PLACEHOLDER_PAT@56..57
- UNDERSCORE@56..57 "_"
- WHITESPACE@57..58 " "
- EQ@58..59 "="
- WHITESPACE@59..60 " "
- LITERAL@60..61
- INT_NUMBER@60..61 "1"
- SEMICOLON@61..62 ";"
- WHITESPACE@62..67 "\n "
- LET_STMT@67..79
- LET_KW@67..70 "let"
- WHITESPACE@70..71 " "
- PLACEHOLDER_PAT@71..72
- UNDERSCORE@71..72 "_"
- WHITESPACE@72..73 " "
- EQ@73..74 "="
- WHITESPACE@74..75 " "
- LITERAL@75..78
- FLOAT_NUMBER@75..78 "2.0"
- SEMICOLON@78..79 ";"
- WHITESPACE@79..84 "\n "
- LET_STMT@84..97
- LET_KW@84..87 "let"
- WHITESPACE@87..88 " "
- PLACEHOLDER_PAT@88..89
- UNDERSCORE@88..89 "_"
- WHITESPACE@89..90 " "
- EQ@90..91 "="
- WHITESPACE@91..92 " "
- LITERAL@92..96
- BYTE@92..96 "b\'a\'"
- SEMICOLON@96..97 ";"
- WHITESPACE@97..102 "\n "
- LET_STMT@102..114
- LET_KW@102..105 "let"
- WHITESPACE@105..106 " "
- PLACEHOLDER_PAT@106..107
- UNDERSCORE@106..107 "_"
- WHITESPACE@107..108 " "
- EQ@108..109 "="
- WHITESPACE@109..110 " "
- LITERAL@110..113
- CHAR@110..113 "\'b\'"
- SEMICOLON@113..114 ";"
- WHITESPACE@114..119 "\n "
- LET_STMT@119..131
- LET_KW@119..122 "let"
- WHITESPACE@122..123 " "
- PLACEHOLDER_PAT@123..124
- UNDERSCORE@123..124 "_"
- WHITESPACE@124..125 " "
- EQ@125..126 "="
- WHITESPACE@126..127 " "
- LITERAL@127..130
- STRING@127..130 "\"c\""
- SEMICOLON@130..131 ";"
- WHITESPACE@131..136 "\n "
- LET_STMT@136..149
- LET_KW@136..139 "let"
- WHITESPACE@139..140 " "
- PLACEHOLDER_PAT@140..141
- UNDERSCORE@140..141 "_"
- WHITESPACE@141..142 " "
- EQ@142..143 "="
- WHITESPACE@143..144 " "
- LITERAL@144..148
- RAW_STRING@144..148 "r\"d\""
- SEMICOLON@148..149 ";"
- WHITESPACE@149..154 "\n "
- LET_STMT@154..167
- LET_KW@154..157 "let"
- WHITESPACE@157..158 " "
- PLACEHOLDER_PAT@158..159
- UNDERSCORE@158..159 "_"
- WHITESPACE@159..160 " "
- EQ@160..161 "="
- WHITESPACE@161..162 " "
- LITERAL@162..166
- BYTE_STRING@162..166 "b\"e\""
- SEMICOLON@166..167 ";"
- WHITESPACE@167..172 "\n "
- LET_STMT@172..186
- LET_KW@172..175 "let"
- WHITESPACE@175..176 " "
- PLACEHOLDER_PAT@176..177
- UNDERSCORE@176..177 "_"
- WHITESPACE@177..178 " "
- EQ@178..179 "="
- WHITESPACE@179..180 " "
- LITERAL@180..185
- RAW_BYTE_STRING@180..185 "br\"f\""
- SEMICOLON@185..186 ";"
- WHITESPACE@186..187 "\n"
- R_CURLY@187..188 "}"
+ L_CURLY@9..10 "{"
+ WHITESPACE@10..15 "\n "
+ LET_STMT@15..28
+ LET_KW@15..18 "let"
+ WHITESPACE@18..19 " "
+ PLACEHOLDER_PAT@19..20
+ UNDERSCORE@19..20 "_"
+ WHITESPACE@20..21 " "
+ EQ@21..22 "="
+ WHITESPACE@22..23 " "
+ LITERAL@23..27
+ TRUE_KW@23..27 "true"
+ SEMICOLON@27..28 ";"
+ WHITESPACE@28..33 "\n "
+ LET_STMT@33..47
+ LET_KW@33..36 "let"
+ WHITESPACE@36..37 " "
+ PLACEHOLDER_PAT@37..38
+ UNDERSCORE@37..38 "_"
+ WHITESPACE@38..39 " "
+ EQ@39..40 "="
+ WHITESPACE@40..41 " "
+ LITERAL@41..46
+ FALSE_KW@41..46 "false"
+ SEMICOLON@46..47 ";"
+ WHITESPACE@47..52 "\n "
+ LET_STMT@52..62
+ LET_KW@52..55 "let"
+ WHITESPACE@55..56 " "
+ PLACEHOLDER_PAT@56..57
+ UNDERSCORE@56..57 "_"
+ WHITESPACE@57..58 " "
+ EQ@58..59 "="
+ WHITESPACE@59..60 " "
+ LITERAL@60..61
+ INT_NUMBER@60..61 "1"
+ SEMICOLON@61..62 ";"
+ WHITESPACE@62..67 "\n "
+ LET_STMT@67..79
+ LET_KW@67..70 "let"
+ WHITESPACE@70..71 " "
+ PLACEHOLDER_PAT@71..72
+ UNDERSCORE@71..72 "_"
+ WHITESPACE@72..73 " "
+ EQ@73..74 "="
+ WHITESPACE@74..75 " "
+ LITERAL@75..78
+ FLOAT_NUMBER@75..78 "2.0"
+ SEMICOLON@78..79 ";"
+ WHITESPACE@79..84 "\n "
+ LET_STMT@84..97
+ LET_KW@84..87 "let"
+ WHITESPACE@87..88 " "
+ PLACEHOLDER_PAT@88..89
+ UNDERSCORE@88..89 "_"
+ WHITESPACE@89..90 " "
+ EQ@90..91 "="
+ WHITESPACE@91..92 " "
+ LITERAL@92..96
+ BYTE@92..96 "b\'a\'"
+ SEMICOLON@96..97 ";"
+ WHITESPACE@97..102 "\n "
+ LET_STMT@102..114
+ LET_KW@102..105 "let"
+ WHITESPACE@105..106 " "
+ PLACEHOLDER_PAT@106..107
+ UNDERSCORE@106..107 "_"
+ WHITESPACE@107..108 " "
+ EQ@108..109 "="
+ WHITESPACE@109..110 " "
+ LITERAL@110..113
+ CHAR@110..113 "\'b\'"
+ SEMICOLON@113..114 ";"
+ WHITESPACE@114..119 "\n "
+ LET_STMT@119..131
+ LET_KW@119..122 "let"
+ WHITESPACE@122..123 " "
+ PLACEHOLDER_PAT@123..124
+ UNDERSCORE@123..124 "_"
+ WHITESPACE@124..125 " "
+ EQ@125..126 "="
+ WHITESPACE@126..127 " "
+ LITERAL@127..130
+ STRING@127..130 "\"c\""
+ SEMICOLON@130..131 ";"
+ WHITESPACE@131..136 "\n "
+ LET_STMT@136..149
+ LET_KW@136..139 "let"
+ WHITESPACE@139..140 " "
+ PLACEHOLDER_PAT@140..141
+ UNDERSCORE@140..141 "_"
+ WHITESPACE@141..142 " "
+ EQ@142..143 "="
+ WHITESPACE@143..144 " "
+ LITERAL@144..148
+ RAW_STRING@144..148 "r\"d\""
+ SEMICOLON@148..149 ";"
+ WHITESPACE@149..154 "\n "
+ LET_STMT@154..167
+ LET_KW@154..157 "let"
+ WHITESPACE@157..158 " "
+ PLACEHOLDER_PAT@158..159
+ UNDERSCORE@158..159 "_"
+ WHITESPACE@159..160 " "
+ EQ@160..161 "="
+ WHITESPACE@161..162 " "
+ LITERAL@162..166
+ BYTE_STRING@162..166 "b\"e\""
+ SEMICOLON@166..167 ";"
+ WHITESPACE@167..172 "\n "
+ LET_STMT@172..186
+ LET_KW@172..175 "let"
+ WHITESPACE@175..176 " "
+ PLACEHOLDER_PAT@176..177
+ UNDERSCORE@176..177 "_"
+ WHITESPACE@177..178 " "
+ EQ@178..179 "="
+ WHITESPACE@179..180 " "
+ LITERAL@180..185
+ RAW_BYTE_STRING@180..185 "br\"f\""
+ SEMICOLON@185..186 ";"
+ WHITESPACE@186..187 "\n"
+ R_CURLY@187..188 "}"
WHITESPACE@188..189 "\n"
R_PAREN@7..8 ")"
WHITESPACE@8..9 " "
BLOCK_EXPR@9..11
- BLOCK@9..11
- L_CURLY@9..10 "{"
- R_CURLY@10..11 "}"
+ L_CURLY@9..10 "{"
+ R_CURLY@10..11 "}"
WHITESPACE@11..12 "\n"
FN_DEF@12..29
FN_KW@12..14 "fn"
R_PAREN@25..26 ")"
WHITESPACE@26..27 " "
BLOCK_EXPR@27..29
- BLOCK@27..29
- L_CURLY@27..28 "{"
- R_CURLY@28..29 "}"
+ L_CURLY@27..28 "{"
+ R_CURLY@28..29 "}"
WHITESPACE@29..30 "\n"
L_PAREN@6..7 "("
R_PAREN@7..8 ")"
BLOCK_EXPR@8..87
- BLOCK@8..87
- L_CURLY@8..9 "{"
- WHITESPACE@9..14 "\n "
- EXPR_STMT@14..25
- IF_EXPR@14..25
- IF_KW@14..16 "if"
- WHITESPACE@16..17 " "
- CONDITION@17..22
- BREAK_EXPR@17..22
- BREAK_KW@17..22 "break"
- WHITESPACE@22..23 " "
- BLOCK_EXPR@23..25
- BLOCK@23..25
- L_CURLY@23..24 "{"
- R_CURLY@24..25 "}"
- WHITESPACE@25..30 "\n "
- EXPR_STMT@30..44
- WHILE_EXPR@30..44
- WHILE_KW@30..35 "while"
- WHITESPACE@35..36 " "
- CONDITION@36..41
- BREAK_EXPR@36..41
- BREAK_KW@36..41 "break"
- WHITESPACE@41..42 " "
- BLOCK_EXPR@42..44
- BLOCK@42..44
- L_CURLY@42..43 "{"
- R_CURLY@43..44 "}"
- WHITESPACE@44..49 "\n "
- EXPR_STMT@49..66
- FOR_EXPR@49..66
- FOR_KW@49..52 "for"
- WHITESPACE@52..53 " "
- BIND_PAT@53..54
- NAME@53..54
- IDENT@53..54 "i"
- WHITESPACE@54..55 " "
- IN_KW@55..57 "in"
- WHITESPACE@57..58 " "
- BREAK_EXPR@58..63
- BREAK_KW@58..63 "break"
- WHITESPACE@63..64 " "
- BLOCK_EXPR@64..66
- BLOCK@64..66
- L_CURLY@64..65 "{"
- R_CURLY@65..66 "}"
- WHITESPACE@66..71 "\n "
- MATCH_EXPR@71..85
- MATCH_KW@71..76 "match"
- WHITESPACE@76..77 " "
- BREAK_EXPR@77..82
- BREAK_KW@77..82 "break"
- WHITESPACE@82..83 " "
- MATCH_ARM_LIST@83..85
- L_CURLY@83..84 "{"
- R_CURLY@84..85 "}"
- WHITESPACE@85..86 "\n"
- R_CURLY@86..87 "}"
+ L_CURLY@8..9 "{"
+ WHITESPACE@9..14 "\n "
+ EXPR_STMT@14..25
+ IF_EXPR@14..25
+ IF_KW@14..16 "if"
+ WHITESPACE@16..17 " "
+ CONDITION@17..22
+ BREAK_EXPR@17..22
+ BREAK_KW@17..22 "break"
+ WHITESPACE@22..23 " "
+ BLOCK_EXPR@23..25
+ L_CURLY@23..24 "{"
+ R_CURLY@24..25 "}"
+ WHITESPACE@25..30 "\n "
+ EXPR_STMT@30..44
+ WHILE_EXPR@30..44
+ WHILE_KW@30..35 "while"
+ WHITESPACE@35..36 " "
+ CONDITION@36..41
+ BREAK_EXPR@36..41
+ BREAK_KW@36..41 "break"
+ WHITESPACE@41..42 " "
+ BLOCK_EXPR@42..44
+ L_CURLY@42..43 "{"
+ R_CURLY@43..44 "}"
+ WHITESPACE@44..49 "\n "
+ EXPR_STMT@49..66
+ FOR_EXPR@49..66
+ FOR_KW@49..52 "for"
+ WHITESPACE@52..53 " "
+ BIND_PAT@53..54
+ NAME@53..54
+ IDENT@53..54 "i"
+ WHITESPACE@54..55 " "
+ IN_KW@55..57 "in"
+ WHITESPACE@57..58 " "
+ BREAK_EXPR@58..63
+ BREAK_KW@58..63 "break"
+ WHITESPACE@63..64 " "
+ BLOCK_EXPR@64..66
+ L_CURLY@64..65 "{"
+ R_CURLY@65..66 "}"
+ WHITESPACE@66..71 "\n "
+ MATCH_EXPR@71..85
+ MATCH_KW@71..76 "match"
+ WHITESPACE@76..77 " "
+ BREAK_EXPR@77..82
+ BREAK_KW@77..82 "break"
+ WHITESPACE@82..83 " "
+ MATCH_ARM_LIST@83..85
+ L_CURLY@83..84 "{"
+ R_CURLY@84..85 "}"
+ WHITESPACE@85..86 "\n"
+ R_CURLY@86..87 "}"
WHITESPACE@87..88 "\n"
R_PAREN@14..15 ")"
WHITESPACE@15..16 " "
BLOCK_EXPR@16..18
- BLOCK@16..18
- L_CURLY@16..17 "{"
- R_CURLY@17..18 "}"
+ L_CURLY@16..17 "{"
+ R_CURLY@17..18 "}"
WHITESPACE@18..19 "\n"
R_PAREN@7..8 ")"
WHITESPACE@8..9 " "
BLOCK_EXPR@9..25
- BLOCK@9..25
- L_CURLY@9..10 "{"
- WHITESPACE@10..15 "\n "
- EXPR_STMT@15..23
- INDEX_EXPR@15..22
- INDEX_EXPR@15..19
- PATH_EXPR@15..16
- PATH@15..16
- PATH_SEGMENT@15..16
- NAME_REF@15..16
- IDENT@15..16 "x"
- L_BRACK@16..17 "["
- LITERAL@17..18
- INT_NUMBER@17..18 "1"
- R_BRACK@18..19 "]"
- L_BRACK@19..20 "["
- LITERAL@20..21
- INT_NUMBER@20..21 "2"
- R_BRACK@21..22 "]"
- SEMICOLON@22..23 ";"
- WHITESPACE@23..24 "\n"
- R_CURLY@24..25 "}"
+ L_CURLY@9..10 "{"
+ WHITESPACE@10..15 "\n "
+ EXPR_STMT@15..23
+ INDEX_EXPR@15..22
+ INDEX_EXPR@15..19
+ PATH_EXPR@15..16
+ PATH@15..16
+ PATH_SEGMENT@15..16
+ NAME_REF@15..16
+ IDENT@15..16 "x"
+ L_BRACK@16..17 "["
+ LITERAL@17..18
+ INT_NUMBER@17..18 "1"
+ R_BRACK@18..19 "]"
+ L_BRACK@19..20 "["
+ LITERAL@20..21
+ INT_NUMBER@20..21 "2"
+ R_BRACK@21..22 "]"
+ SEMICOLON@22..23 ";"
+ WHITESPACE@23..24 "\n"
+ R_CURLY@24..25 "}"
WHITESPACE@25..26 "\n"
R_PAREN@8..9 ")"
WHITESPACE@9..10 " "
BLOCK_EXPR@10..25
- BLOCK@10..25
- L_CURLY@10..11 "{"
- WHITESPACE@11..12 " "
- LET_STMT@12..23
- LET_KW@12..15 "let"
- WHITESPACE@15..16 " "
- PLACEHOLDER_PAT@16..17
- UNDERSCORE@16..17 "_"
- WHITESPACE@17..18 " "
- EQ@18..19 "="
- WHITESPACE@19..20 " "
- TUPLE_EXPR@20..22
- L_PAREN@20..21 "("
- R_PAREN@21..22 ")"
- SEMICOLON@22..23 ";"
- WHITESPACE@23..24 " "
- R_CURLY@24..25 "}"
+ L_CURLY@10..11 "{"
+ WHITESPACE@11..12 " "
+ LET_STMT@12..23
+ LET_KW@12..15 "let"
+ WHITESPACE@15..16 " "
+ PLACEHOLDER_PAT@16..17
+ UNDERSCORE@16..17 "_"
+ WHITESPACE@17..18 " "
+ EQ@18..19 "="
+ WHITESPACE@19..20 " "
+ TUPLE_EXPR@20..22
+ L_PAREN@20..21 "("
+ R_PAREN@21..22 ")"
+ SEMICOLON@22..23 ";"
+ WHITESPACE@23..24 " "
+ R_CURLY@24..25 "}"
WHITESPACE@25..26 "\n"
R_PAREN@7..8 ")"
WHITESPACE@8..9 " "
BLOCK_EXPR@9..166
- BLOCK@9..166
- L_CURLY@9..10 "{"
- WHITESPACE@10..15 "\n "
- EXPR_STMT@15..25
- IF_EXPR@15..25
- IF_KW@15..17 "if"
- WHITESPACE@17..18 " "
- CONDITION@18..22
- LITERAL@18..22
- TRUE_KW@18..22 "true"
- WHITESPACE@22..23 " "
- BLOCK_EXPR@23..25
- BLOCK@23..25
- L_CURLY@23..24 "{"
- R_CURLY@24..25 "}"
- WHITESPACE@25..30 "\n "
- EXPR_STMT@30..37
- LOOP_EXPR@30..37
- LOOP_KW@30..34 "loop"
- WHITESPACE@34..35 " "
- BLOCK_EXPR@35..37
- BLOCK@35..37
- L_CURLY@35..36 "{"
- R_CURLY@36..37 "}"
- WHITESPACE@37..42 "\n "
- EXPR_STMT@42..53
- MATCH_EXPR@42..53
- MATCH_KW@42..47 "match"
- 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 "\n "
- EXPR_STMT@58..71
- WHILE_EXPR@58..71
- WHILE_KW@58..63 "while"
- WHITESPACE@63..64 " "
- CONDITION@64..68
- LITERAL@64..68
- TRUE_KW@64..68 "true"
- WHITESPACE@68..69 " "
- BLOCK_EXPR@69..71
- BLOCK@69..71
- L_CURLY@69..70 "{"
- R_CURLY@70..71 "}"
- WHITESPACE@71..76 "\n "
- EXPR_STMT@76..90
- FOR_EXPR@76..90
- FOR_KW@76..79 "for"
- WHITESPACE@79..80 " "
- PLACEHOLDER_PAT@80..81
- UNDERSCORE@80..81 "_"
- WHITESPACE@81..82 " "
- IN_KW@82..84 "in"
- WHITESPACE@84..85 " "
- TUPLE_EXPR@85..87
- L_PAREN@85..86 "("
- R_PAREN@86..87 ")"
- WHITESPACE@87..88 " "
- BLOCK_EXPR@88..90
- BLOCK@88..90
- L_CURLY@88..89 "{"
- R_CURLY@89..90 "}"
- WHITESPACE@90..95 "\n "
- EXPR_STMT@95..97
- BLOCK_EXPR@95..97
- BLOCK@95..97
- L_CURLY@95..96 "{"
- R_CURLY@96..97 "}"
- WHITESPACE@97..102 "\n "
- EXPR_STMT@102..104
- BLOCK_EXPR@102..104
- BLOCK@102..104
- L_CURLY@102..103 "{"
- R_CURLY@103..104 "}"
- WHITESPACE@104..109 "\n "
- EXPR_STMT@109..152
- MACRO_CALL@109..152
- PATH@109..120
- PATH_SEGMENT@109..120
- NAME_REF@109..120
- IDENT@109..120 "macro_rules"
- BANG@120..121 "!"
- WHITESPACE@121..122 " "
- NAME@122..126
- IDENT@122..126 "test"
- WHITESPACE@126..127 " "
- TOKEN_TREE@127..152
- L_CURLY@127..128 "{"
- WHITESPACE@128..138 "\n "
- TOKEN_TREE@138..140
- L_PAREN@138..139 "("
- R_PAREN@139..140 ")"
- WHITESPACE@140..141 " "
- EQ@141..142 "="
- R_ANGLE@142..143 ">"
- WHITESPACE@143..144 " "
- TOKEN_TREE@144..146
- L_CURLY@144..145 "{"
- R_CURLY@145..146 "}"
- WHITESPACE@146..151 "\n "
- R_CURLY@151..152 "}"
- WHITESPACE@152..157 "\n "
- MACRO_CALL@157..164
- PATH@157..161
- PATH_SEGMENT@157..161
- NAME_REF@157..161
- IDENT@157..161 "test"
- BANG@161..162 "!"
- TOKEN_TREE@162..164
- L_CURLY@162..163 "{"
- R_CURLY@163..164 "}"
- WHITESPACE@164..165 "\n"
- R_CURLY@165..166 "}"
+ L_CURLY@9..10 "{"
+ WHITESPACE@10..15 "\n "
+ EXPR_STMT@15..25
+ IF_EXPR@15..25
+ IF_KW@15..17 "if"
+ WHITESPACE@17..18 " "
+ CONDITION@18..22
+ LITERAL@18..22
+ TRUE_KW@18..22 "true"
+ WHITESPACE@22..23 " "
+ BLOCK_EXPR@23..25
+ L_CURLY@23..24 "{"
+ R_CURLY@24..25 "}"
+ WHITESPACE@25..30 "\n "
+ EXPR_STMT@30..37
+ LOOP_EXPR@30..37
+ LOOP_KW@30..34 "loop"
+ WHITESPACE@34..35 " "
+ BLOCK_EXPR@35..37
+ L_CURLY@35..36 "{"
+ R_CURLY@36..37 "}"
+ WHITESPACE@37..42 "\n "
+ EXPR_STMT@42..53
+ MATCH_EXPR@42..53
+ MATCH_KW@42..47 "match"
+ 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 "\n "
+ EXPR_STMT@58..71
+ WHILE_EXPR@58..71
+ WHILE_KW@58..63 "while"
+ WHITESPACE@63..64 " "
+ CONDITION@64..68
+ LITERAL@64..68
+ TRUE_KW@64..68 "true"
+ WHITESPACE@68..69 " "
+ BLOCK_EXPR@69..71
+ L_CURLY@69..70 "{"
+ R_CURLY@70..71 "}"
+ WHITESPACE@71..76 "\n "
+ EXPR_STMT@76..90
+ FOR_EXPR@76..90
+ FOR_KW@76..79 "for"
+ WHITESPACE@79..80 " "
+ PLACEHOLDER_PAT@80..81
+ UNDERSCORE@80..81 "_"
+ WHITESPACE@81..82 " "
+ IN_KW@82..84 "in"
+ WHITESPACE@84..85 " "
+ TUPLE_EXPR@85..87
+ L_PAREN@85..86 "("
+ R_PAREN@86..87 ")"
+ WHITESPACE@87..88 " "
+ BLOCK_EXPR@88..90
+ L_CURLY@88..89 "{"
+ R_CURLY@89..90 "}"
+ WHITESPACE@90..95 "\n "
+ EXPR_STMT@95..97
+ BLOCK_EXPR@95..97
+ L_CURLY@95..96 "{"
+ R_CURLY@96..97 "}"
+ WHITESPACE@97..102 "\n "
+ EXPR_STMT@102..104
+ BLOCK_EXPR@102..104
+ L_CURLY@102..103 "{"
+ R_CURLY@103..104 "}"
+ WHITESPACE@104..109 "\n "
+ EXPR_STMT@109..152
+ MACRO_CALL@109..152
+ PATH@109..120
+ PATH_SEGMENT@109..120
+ NAME_REF@109..120
+ IDENT@109..120 "macro_rules"
+ BANG@120..121 "!"
+ WHITESPACE@121..122 " "
+ NAME@122..126
+ IDENT@122..126 "test"
+ WHITESPACE@126..127 " "
+ TOKEN_TREE@127..152
+ L_CURLY@127..128 "{"
+ WHITESPACE@128..138 "\n "
+ TOKEN_TREE@138..140
+ L_PAREN@138..139 "("
+ R_PAREN@139..140 ")"
+ WHITESPACE@140..141 " "
+ EQ@141..142 "="
+ R_ANGLE@142..143 ">"
+ WHITESPACE@143..144 " "
+ TOKEN_TREE@144..146
+ L_CURLY@144..145 "{"
+ R_CURLY@145..146 "}"
+ WHITESPACE@146..151 "\n "
+ R_CURLY@151..152 "}"
+ WHITESPACE@152..157 "\n "
+ MACRO_CALL@157..164
+ PATH@157..161
+ PATH_SEGMENT@157..161
+ NAME_REF@157..161
+ IDENT@157..161 "test"
+ BANG@161..162 "!"
+ TOKEN_TREE@162..164
+ L_CURLY@162..163 "{"
+ R_CURLY@163..164 "}"
+ WHITESPACE@164..165 "\n"
+ R_CURLY@165..166 "}"
WHITESPACE@166..167 "\n"
R_PAREN@20..21 ")"
WHITESPACE@21..22 " "
BLOCK_EXPR@22..24
- BLOCK@22..24
- L_CURLY@22..23 "{"
- R_CURLY@23..24 "}"
+ L_CURLY@22..23 "{"
+ R_CURLY@23..24 "}"
WHITESPACE@24..25 "\n"
R_PAREN@5..6 ")"
WHITESPACE@6..7 " "
BLOCK_EXPR@7..9
- BLOCK@7..9
- L_CURLY@7..8 "{"
- R_CURLY@8..9 "}"
+ L_CURLY@7..8 "{"
+ R_CURLY@8..9 "}"
WHITESPACE@9..10 "\n"
FN_DEF@10..25
FN_KW@10..12 "fn"
R_PAREN@21..22 ")"
WHITESPACE@22..23 " "
BLOCK_EXPR@23..25
- BLOCK@23..25
- L_CURLY@23..24 "{"
- R_CURLY@24..25 "}"
+ L_CURLY@23..24 "{"
+ R_CURLY@24..25 "}"
WHITESPACE@25..26 "\n"
FN_DEF@26..43
FN_KW@26..28 "fn"
R_PAREN@39..40 ")"
WHITESPACE@40..41 " "
BLOCK_EXPR@41..43
- BLOCK@41..43
- L_CURLY@41..42 "{"
- R_CURLY@42..43 "}"
+ L_CURLY@41..42 "{"
+ R_CURLY@42..43 "}"
WHITESPACE@43..44 "\n"
FN_DEF@44..66
FN_KW@44..46 "fn"
R_PAREN@62..63 ")"
WHITESPACE@63..64 " "
BLOCK_EXPR@64..66
- BLOCK@64..66
- L_CURLY@64..65 "{"
- R_CURLY@65..66 "}"
+ L_CURLY@64..65 "{"
+ R_CURLY@65..66 "}"
WHITESPACE@66..67 "\n"
R_PAREN@7..8 ")"
WHITESPACE@8..9 " "
BLOCK_EXPR@9..32
- BLOCK@9..32
- L_CURLY@9..10 "{"
- WHITESPACE@10..15 "\n "
- EXPR_STMT@15..30
- FOR_EXPR@15..29
- FOR_KW@15..18 "for"
- WHITESPACE@18..19 " "
- BIND_PAT@19..20
- NAME@19..20
- IDENT@19..20 "x"
- WHITESPACE@20..21 " "
- IN_KW@21..23 "in"
- WHITESPACE@23..24 " "
- ARRAY_EXPR@24..26
- L_BRACK@24..25 "["
- R_BRACK@25..26 "]"
- WHITESPACE@26..27 " "
- BLOCK_EXPR@27..29
- BLOCK@27..29
- L_CURLY@27..28 "{"
- R_CURLY@28..29 "}"
- SEMICOLON@29..30 ";"
- WHITESPACE@30..31 "\n"
- R_CURLY@31..32 "}"
+ L_CURLY@9..10 "{"
+ WHITESPACE@10..15 "\n "
+ EXPR_STMT@15..30
+ FOR_EXPR@15..29
+ FOR_KW@15..18 "for"
+ WHITESPACE@18..19 " "
+ BIND_PAT@19..20
+ NAME@19..20
+ IDENT@19..20 "x"
+ WHITESPACE@20..21 " "
+ IN_KW@21..23 "in"
+ WHITESPACE@23..24 " "
+ ARRAY_EXPR@24..26
+ L_BRACK@24..25 "["
+ R_BRACK@25..26 "]"
+ WHITESPACE@26..27 " "
+ BLOCK_EXPR@27..29
+ L_CURLY@27..28 "{"
+ R_CURLY@28..29 "}"
+ SEMICOLON@29..30 ";"
+ WHITESPACE@30..31 "\n"
+ R_CURLY@31..32 "}"
WHITESPACE@32..33 "\n"
R_PAREN@14..15 ")"
WHITESPACE@15..16 " "
BLOCK_EXPR@16..18
- BLOCK@16..18
- L_CURLY@16..17 "{"
- R_CURLY@17..18 "}"
+ L_CURLY@16..17 "{"
+ R_CURLY@17..18 "}"
WHITESPACE@18..19 "\n"
R_PAREN@7..8 ")"
WHITESPACE@8..9 " "
BLOCK_EXPR@9..118
- BLOCK@9..118
- L_CURLY@9..10 "{"
- WHITESPACE@10..15 "\n "
- LET_STMT@15..29
- LET_KW@15..18 "let"
- WHITESPACE@18..19 " "
- RECORD_PAT@19..23
- PATH@19..20
- PATH_SEGMENT@19..20
- NAME_REF@19..20
- IDENT@19..20 "S"
- WHITESPACE@20..21 " "
- RECORD_FIELD_PAT_LIST@21..23
- L_CURLY@21..22 "{"
- R_CURLY@22..23 "}"
- WHITESPACE@23..24 " "
- EQ@24..25 "="
- WHITESPACE@25..26 " "
- TUPLE_EXPR@26..28
- L_PAREN@26..27 "("
- R_PAREN@27..28 ")"
- SEMICOLON@28..29 ";"
- WHITESPACE@29..34 "\n "
- LET_STMT@34..62
- LET_KW@34..37 "let"
- WHITESPACE@37..38 " "
- RECORD_PAT@38..56
- PATH@38..39
- PATH_SEGMENT@38..39
- NAME_REF@38..39
- IDENT@38..39 "S"
- WHITESPACE@39..40 " "
- RECORD_FIELD_PAT_LIST@40..56
- L_CURLY@40..41 "{"
- WHITESPACE@41..42 " "
- RECORD_FIELD_PAT@42..43
- BIND_PAT@42..43
- NAME@42..43
- IDENT@42..43 "f"
- COMMA@43..44 ","
- WHITESPACE@44..45 " "
- RECORD_FIELD_PAT@45..54
- BIND_PAT@45..54
- REF_KW@45..48 "ref"
- WHITESPACE@48..49 " "
- MUT_KW@49..52 "mut"
- WHITESPACE@52..53 " "
- NAME@53..54
- IDENT@53..54 "g"
- WHITESPACE@54..55 " "
- R_CURLY@55..56 "}"
- WHITESPACE@56..57 " "
- EQ@57..58 "="
- WHITESPACE@58..59 " "
- TUPLE_EXPR@59..61
- L_PAREN@59..60 "("
- R_PAREN@60..61 ")"
- SEMICOLON@61..62 ";"
- WHITESPACE@62..67 "\n "
- LET_STMT@67..90
- LET_KW@67..70 "let"
- WHITESPACE@70..71 " "
- RECORD_PAT@71..84
- PATH@71..72
- PATH_SEGMENT@71..72
- NAME_REF@71..72
- IDENT@71..72 "S"
- WHITESPACE@72..73 " "
- RECORD_FIELD_PAT_LIST@73..84
- L_CURLY@73..74 "{"
- WHITESPACE@74..75 " "
- RECORD_FIELD_PAT@75..79
- NAME_REF@75..76
- IDENT@75..76 "h"
- COLON@76..77 ":"
- WHITESPACE@77..78 " "
- PLACEHOLDER_PAT@78..79
- UNDERSCORE@78..79 "_"
- COMMA@79..80 ","
- WHITESPACE@80..81 " "
- DOT2@81..83 ".."
- R_CURLY@83..84 "}"
- WHITESPACE@84..85 " "
- EQ@85..86 "="
- WHITESPACE@86..87 " "
- TUPLE_EXPR@87..89
- L_PAREN@87..88 "("
- R_PAREN@88..89 ")"
- SEMICOLON@89..90 ";"
- WHITESPACE@90..95 "\n "
- LET_STMT@95..116
- LET_KW@95..98 "let"
- WHITESPACE@98..99 " "
- RECORD_PAT@99..110
- PATH@99..100
- PATH_SEGMENT@99..100
- NAME_REF@99..100
- IDENT@99..100 "S"
- WHITESPACE@100..101 " "
- RECORD_FIELD_PAT_LIST@101..110
- L_CURLY@101..102 "{"
- WHITESPACE@102..103 " "
- RECORD_FIELD_PAT@103..107
- NAME_REF@103..104
- IDENT@103..104 "h"
- COLON@104..105 ":"
- WHITESPACE@105..106 " "
- PLACEHOLDER_PAT@106..107
- UNDERSCORE@106..107 "_"
- COMMA@107..108 ","
- WHITESPACE@108..109 " "
- R_CURLY@109..110 "}"
- WHITESPACE@110..111 " "
- EQ@111..112 "="
- WHITESPACE@112..113 " "
- TUPLE_EXPR@113..115
- L_PAREN@113..114 "("
- R_PAREN@114..115 ")"
- SEMICOLON@115..116 ";"
- WHITESPACE@116..117 "\n"
- R_CURLY@117..118 "}"
+ L_CURLY@9..10 "{"
+ WHITESPACE@10..15 "\n "
+ LET_STMT@15..29
+ LET_KW@15..18 "let"
+ WHITESPACE@18..19 " "
+ RECORD_PAT@19..23
+ PATH@19..20
+ PATH_SEGMENT@19..20
+ NAME_REF@19..20
+ IDENT@19..20 "S"
+ WHITESPACE@20..21 " "
+ RECORD_FIELD_PAT_LIST@21..23
+ L_CURLY@21..22 "{"
+ R_CURLY@22..23 "}"
+ WHITESPACE@23..24 " "
+ EQ@24..25 "="
+ WHITESPACE@25..26 " "
+ TUPLE_EXPR@26..28
+ L_PAREN@26..27 "("
+ R_PAREN@27..28 ")"
+ SEMICOLON@28..29 ";"
+ WHITESPACE@29..34 "\n "
+ LET_STMT@34..62
+ LET_KW@34..37 "let"
+ WHITESPACE@37..38 " "
+ RECORD_PAT@38..56
+ PATH@38..39
+ PATH_SEGMENT@38..39
+ NAME_REF@38..39
+ IDENT@38..39 "S"
+ WHITESPACE@39..40 " "
+ RECORD_FIELD_PAT_LIST@40..56
+ L_CURLY@40..41 "{"
+ WHITESPACE@41..42 " "
+ RECORD_FIELD_PAT@42..43
+ BIND_PAT@42..43
+ NAME@42..43
+ IDENT@42..43 "f"
+ COMMA@43..44 ","
+ WHITESPACE@44..45 " "
+ RECORD_FIELD_PAT@45..54
+ BIND_PAT@45..54
+ REF_KW@45..48 "ref"
+ WHITESPACE@48..49 " "
+ MUT_KW@49..52 "mut"
+ WHITESPACE@52..53 " "
+ NAME@53..54
+ IDENT@53..54 "g"
+ WHITESPACE@54..55 " "
+ R_CURLY@55..56 "}"
+ WHITESPACE@56..57 " "
+ EQ@57..58 "="
+ WHITESPACE@58..59 " "
+ TUPLE_EXPR@59..61
+ L_PAREN@59..60 "("
+ R_PAREN@60..61 ")"
+ SEMICOLON@61..62 ";"
+ WHITESPACE@62..67 "\n "
+ LET_STMT@67..90
+ LET_KW@67..70 "let"
+ WHITESPACE@70..71 " "
+ RECORD_PAT@71..84
+ PATH@71..72
+ PATH_SEGMENT@71..72
+ NAME_REF@71..72
+ IDENT@71..72 "S"
+ WHITESPACE@72..73 " "
+ RECORD_FIELD_PAT_LIST@73..84
+ L_CURLY@73..74 "{"
+ WHITESPACE@74..75 " "
+ RECORD_FIELD_PAT@75..79
+ NAME_REF@75..76
+ IDENT@75..76 "h"
+ COLON@76..77 ":"
+ WHITESPACE@77..78 " "
+ PLACEHOLDER_PAT@78..79
+ UNDERSCORE@78..79 "_"
+ COMMA@79..80 ","
+ WHITESPACE@80..81 " "
+ DOT2@81..83 ".."
+ R_CURLY@83..84 "}"
+ WHITESPACE@84..85 " "
+ EQ@85..86 "="
+ WHITESPACE@86..87 " "
+ TUPLE_EXPR@87..89
+ L_PAREN@87..88 "("
+ R_PAREN@88..89 ")"
+ SEMICOLON@89..90 ";"
+ WHITESPACE@90..95 "\n "
+ LET_STMT@95..116
+ LET_KW@95..98 "let"
+ WHITESPACE@98..99 " "
+ RECORD_PAT@99..110
+ PATH@99..100
+ PATH_SEGMENT@99..100
+ NAME_REF@99..100
+ IDENT@99..100 "S"
+ WHITESPACE@100..101 " "
+ RECORD_FIELD_PAT_LIST@101..110
+ L_CURLY@101..102 "{"
+ WHITESPACE@102..103 " "
+ RECORD_FIELD_PAT@103..107
+ NAME_REF@103..104
+ IDENT@103..104 "h"
+ COLON@104..105 ":"
+ WHITESPACE@105..106 " "
+ PLACEHOLDER_PAT@106..107
+ UNDERSCORE@106..107 "_"
+ COMMA@107..108 ","
+ WHITESPACE@108..109 " "
+ R_CURLY@109..110 "}"
+ WHITESPACE@110..111 " "
+ EQ@111..112 "="
+ WHITESPACE@112..113 " "
+ TUPLE_EXPR@113..115
+ L_PAREN@113..114 "("
+ R_PAREN@114..115 ")"
+ SEMICOLON@115..116 ";"
+ WHITESPACE@116..117 "\n"
+ R_CURLY@117..118 "}"
WHITESPACE@118..119 "\n"
R_PAREN@7..8 ")"
WHITESPACE@8..9 " "
BLOCK_EXPR@9..54
- BLOCK@9..54
- L_CURLY@9..10 "{"
- WHITESPACE@10..15 "\n "
- EXPR_STMT@15..18
- ARRAY_EXPR@15..17
- L_BRACK@15..16 "["
- R_BRACK@16..17 "]"
- SEMICOLON@17..18 ";"
- WHITESPACE@18..23 "\n "
- EXPR_STMT@23..27
- ARRAY_EXPR@23..26
- L_BRACK@23..24 "["
- LITERAL@24..25
- INT_NUMBER@24..25 "1"
- R_BRACK@25..26 "]"
- SEMICOLON@26..27 ";"
- WHITESPACE@27..32 "\n "
- EXPR_STMT@32..40
- ARRAY_EXPR@32..39
- L_BRACK@32..33 "["
- LITERAL@33..34
- INT_NUMBER@33..34 "1"
- COMMA@34..35 ","
- WHITESPACE@35..36 " "
- LITERAL@36..37
- INT_NUMBER@36..37 "2"
- COMMA@37..38 ","
- R_BRACK@38..39 "]"
- SEMICOLON@39..40 ";"
- WHITESPACE@40..45 "\n "
- EXPR_STMT@45..52
- ARRAY_EXPR@45..51
- L_BRACK@45..46 "["
- LITERAL@46..47
- INT_NUMBER@46..47 "1"
- SEMICOLON@47..48 ";"
- WHITESPACE@48..49 " "
- LITERAL@49..50
- INT_NUMBER@49..50 "2"
- R_BRACK@50..51 "]"
- SEMICOLON@51..52 ";"
- WHITESPACE@52..53 "\n"
- R_CURLY@53..54 "}"
+ L_CURLY@9..10 "{"
+ WHITESPACE@10..15 "\n "
+ EXPR_STMT@15..18
+ ARRAY_EXPR@15..17
+ L_BRACK@15..16 "["
+ R_BRACK@16..17 "]"
+ SEMICOLON@17..18 ";"
+ WHITESPACE@18..23 "\n "
+ EXPR_STMT@23..27
+ ARRAY_EXPR@23..26
+ L_BRACK@23..24 "["
+ LITERAL@24..25
+ INT_NUMBER@24..25 "1"
+ R_BRACK@25..26 "]"
+ SEMICOLON@26..27 ";"
+ WHITESPACE@27..32 "\n "
+ EXPR_STMT@32..40
+ ARRAY_EXPR@32..39
+ L_BRACK@32..33 "["
+ LITERAL@33..34
+ INT_NUMBER@33..34 "1"
+ COMMA@34..35 ","
+ WHITESPACE@35..36 " "
+ LITERAL@36..37
+ INT_NUMBER@36..37 "2"
+ COMMA@37..38 ","
+ R_BRACK@38..39 "]"
+ SEMICOLON@39..40 ";"
+ WHITESPACE@40..45 "\n "
+ EXPR_STMT@45..52
+ ARRAY_EXPR@45..51
+ L_BRACK@45..46 "["
+ LITERAL@46..47
+ INT_NUMBER@46..47 "1"
+ SEMICOLON@47..48 ";"
+ WHITESPACE@48..49 " "
+ LITERAL@49..50
+ INT_NUMBER@49..50 "2"
+ R_BRACK@50..51 "]"
+ SEMICOLON@51..52 ";"
+ WHITESPACE@52..53 "\n"
+ R_CURLY@53..54 "}"
WHITESPACE@54..55 "\n"
R_PAREN@7..8 ")"
WHITESPACE@8..9 " "
BLOCK_EXPR@9..51
- BLOCK@9..51
- L_CURLY@9..10 "{"
- WHITESPACE@10..15 "\n "
- EXPR_STMT@15..18
- BLOCK_EXPR@15..17
- BLOCK@15..17
- L_CURLY@15..16 "{"
- R_CURLY@16..17 "}"
- SEMICOLON@17..18 ";"
- WHITESPACE@18..23 "\n "
- EXPR_STMT@23..33
- BLOCK_EXPR@23..32
- UNSAFE_KW@23..29 "unsafe"
- WHITESPACE@29..30 " "
- BLOCK@30..32
- L_CURLY@30..31 "{"
- R_CURLY@31..32 "}"
- SEMICOLON@32..33 ";"
- WHITESPACE@33..38 "\n "
- EXPR_STMT@38..49
- BLOCK_EXPR@38..48
- LABEL@38..45
- LIFETIME@38..44 "\'label"
- COLON@44..45 ":"
- WHITESPACE@45..46 " "
- BLOCK@46..48
- L_CURLY@46..47 "{"
- R_CURLY@47..48 "}"
- SEMICOLON@48..49 ";"
- WHITESPACE@49..50 "\n"
- R_CURLY@50..51 "}"
+ L_CURLY@9..10 "{"
+ WHITESPACE@10..15 "\n "
+ EXPR_STMT@15..18
+ BLOCK_EXPR@15..17
+ L_CURLY@15..16 "{"
+ R_CURLY@16..17 "}"
+ SEMICOLON@17..18 ";"
+ WHITESPACE@18..23 "\n "
+ EXPR_STMT@23..33
+ EFFECT_EXPR@23..32
+ UNSAFE_KW@23..29 "unsafe"
+ WHITESPACE@29..30 " "
+ BLOCK_EXPR@30..32
+ L_CURLY@30..31 "{"
+ R_CURLY@31..32 "}"
+ SEMICOLON@32..33 ";"
+ WHITESPACE@33..38 "\n "
+ EXPR_STMT@38..49
+ EFFECT_EXPR@38..48
+ LABEL@38..45
+ LIFETIME@38..44 "\'label"
+ COLON@44..45 ":"
+ WHITESPACE@45..46 " "
+ BLOCK_EXPR@46..48
+ L_CURLY@46..47 "{"
+ R_CURLY@47..48 "}"
+ SEMICOLON@48..49 ";"
+ WHITESPACE@49..50 "\n"
+ R_CURLY@50..51 "}"
WHITESPACE@51..52 "\n"
R_PAREN@7..8 ")"
WHITESPACE@8..9 " "
BLOCK_EXPR@9..133
- BLOCK@9..133
- L_CURLY@9..10 "{"
- WHITESPACE@10..15 "\n "
- EXPR_STMT@15..21
- LAMBDA_EXPR@15..20
- PARAM_LIST@15..17
- PIPE@15..16 "|"
- PIPE@16..17 "|"
- WHITESPACE@17..18 " "
- TUPLE_EXPR@18..20
- L_PAREN@18..19 "("
- R_PAREN@19..20 ")"
- SEMICOLON@20..21 ";"
- WHITESPACE@21..26 "\n "
- EXPR_STMT@26..43
- LAMBDA_EXPR@26..42
- PARAM_LIST@26..28
- PIPE@26..27 "|"
- PIPE@27..28 "|"
- WHITESPACE@28..29 " "
- RET_TYPE@29..35
- THIN_ARROW@29..31 "->"
- WHITESPACE@31..32 " "
- PATH_TYPE@32..35
- PATH@32..35
- PATH_SEGMENT@32..35
- NAME_REF@32..35
- IDENT@32..35 "i32"
- WHITESPACE@35..36 " "
- BLOCK_EXPR@36..42
- BLOCK@36..42
- L_CURLY@36..37 "{"
- WHITESPACE@37..38 " "
- LITERAL@38..40
- INT_NUMBER@38..40 "92"
- WHITESPACE@40..41 " "
- R_CURLY@41..42 "}"
- SEMICOLON@42..43 ";"
- WHITESPACE@43..48 "\n "
- EXPR_STMT@48..54
- LAMBDA_EXPR@48..53
- PARAM_LIST@48..51
- PIPE@48..49 "|"
- PARAM@49..50
- BIND_PAT@49..50
- NAME@49..50
- IDENT@49..50 "x"
- PIPE@50..51 "|"
- WHITESPACE@51..52 " "
- PATH_EXPR@52..53
- PATH@52..53
- PATH_SEGMENT@52..53
- NAME_REF@52..53
- IDENT@52..53 "x"
- SEMICOLON@53..54 ";"
- WHITESPACE@54..59 "\n "
- EXPR_STMT@59..76
- LAMBDA_EXPR@59..75
- MOVE_KW@59..63 "move"
- WHITESPACE@63..64 " "
- PARAM_LIST@64..73
- PIPE@64..65 "|"
- PARAM@65..71
- BIND_PAT@65..66
- NAME@65..66
- IDENT@65..66 "x"
- COLON@66..67 ":"
- WHITESPACE@67..68 " "
- PATH_TYPE@68..71
- PATH@68..71
- PATH_SEGMENT@68..71
- NAME_REF@68..71
- IDENT@68..71 "i32"
- COMMA@71..72 ","
- PIPE@72..73 "|"
- WHITESPACE@73..74 " "
- PATH_EXPR@74..75
- PATH@74..75
- PATH_SEGMENT@74..75
- NAME_REF@74..75
- IDENT@74..75 "x"
- SEMICOLON@75..76 ";"
- WHITESPACE@76..81 "\n "
- EXPR_STMT@81..93
- LAMBDA_EXPR@81..92
- ASYNC_KW@81..86 "async"
- WHITESPACE@86..87 " "
- PARAM_LIST@87..89
- PIPE@87..88 "|"
- PIPE@88..89 "|"
- WHITESPACE@89..90 " "
- BLOCK_EXPR@90..92
- BLOCK@90..92
- L_CURLY@90..91 "{"
- R_CURLY@91..92 "}"
- SEMICOLON@92..93 ";"
- WHITESPACE@93..98 "\n "
- EXPR_STMT@98..109
- LAMBDA_EXPR@98..108
- MOVE_KW@98..102 "move"
- WHITESPACE@102..103 " "
- PARAM_LIST@103..105
- PIPE@103..104 "|"
- PIPE@104..105 "|"
- WHITESPACE@105..106 " "
- BLOCK_EXPR@106..108
- BLOCK@106..108
- L_CURLY@106..107 "{"
- R_CURLY@107..108 "}"
- SEMICOLON@108..109 ";"
- WHITESPACE@109..114 "\n "
- EXPR_STMT@114..131
- LAMBDA_EXPR@114..130
- ASYNC_KW@114..119 "async"
- WHITESPACE@119..120 " "
- MOVE_KW@120..124 "move"
- WHITESPACE@124..125 " "
- PARAM_LIST@125..127
- PIPE@125..126 "|"
- PIPE@126..127 "|"
- WHITESPACE@127..128 " "
- BLOCK_EXPR@128..130
- BLOCK@128..130
- L_CURLY@128..129 "{"
- R_CURLY@129..130 "}"
- SEMICOLON@130..131 ";"
- WHITESPACE@131..132 "\n"
- R_CURLY@132..133 "}"
+ L_CURLY@9..10 "{"
+ WHITESPACE@10..15 "\n "
+ EXPR_STMT@15..21
+ LAMBDA_EXPR@15..20
+ PARAM_LIST@15..17
+ PIPE@15..16 "|"
+ PIPE@16..17 "|"
+ WHITESPACE@17..18 " "
+ TUPLE_EXPR@18..20
+ L_PAREN@18..19 "("
+ R_PAREN@19..20 ")"
+ SEMICOLON@20..21 ";"
+ WHITESPACE@21..26 "\n "
+ EXPR_STMT@26..43
+ LAMBDA_EXPR@26..42
+ PARAM_LIST@26..28
+ PIPE@26..27 "|"
+ PIPE@27..28 "|"
+ WHITESPACE@28..29 " "
+ RET_TYPE@29..35
+ THIN_ARROW@29..31 "->"
+ WHITESPACE@31..32 " "
+ PATH_TYPE@32..35
+ PATH@32..35
+ PATH_SEGMENT@32..35
+ NAME_REF@32..35
+ IDENT@32..35 "i32"
+ WHITESPACE@35..36 " "
+ BLOCK_EXPR@36..42
+ L_CURLY@36..37 "{"
+ WHITESPACE@37..38 " "
+ LITERAL@38..40
+ INT_NUMBER@38..40 "92"
+ WHITESPACE@40..41 " "
+ R_CURLY@41..42 "}"
+ SEMICOLON@42..43 ";"
+ WHITESPACE@43..48 "\n "
+ EXPR_STMT@48..54
+ LAMBDA_EXPR@48..53
+ PARAM_LIST@48..51
+ PIPE@48..49 "|"
+ PARAM@49..50
+ BIND_PAT@49..50
+ NAME@49..50
+ IDENT@49..50 "x"
+ PIPE@50..51 "|"
+ WHITESPACE@51..52 " "
+ PATH_EXPR@52..53
+ PATH@52..53
+ PATH_SEGMENT@52..53
+ NAME_REF@52..53
+ IDENT@52..53 "x"
+ SEMICOLON@53..54 ";"
+ WHITESPACE@54..59 "\n "
+ EXPR_STMT@59..76
+ LAMBDA_EXPR@59..75
+ MOVE_KW@59..63 "move"
+ WHITESPACE@63..64 " "
+ PARAM_LIST@64..73
+ PIPE@64..65 "|"
+ PARAM@65..71
+ BIND_PAT@65..66
+ NAME@65..66
+ IDENT@65..66 "x"
+ COLON@66..67 ":"
+ WHITESPACE@67..68 " "
+ PATH_TYPE@68..71
+ PATH@68..71
+ PATH_SEGMENT@68..71
+ NAME_REF@68..71
+ IDENT@68..71 "i32"
+ COMMA@71..72 ","
+ PIPE@72..73 "|"
+ WHITESPACE@73..74 " "
+ PATH_EXPR@74..75
+ PATH@74..75
+ PATH_SEGMENT@74..75
+ NAME_REF@74..75
+ IDENT@74..75 "x"
+ SEMICOLON@75..76 ";"
+ WHITESPACE@76..81 "\n "
+ EXPR_STMT@81..93
+ LAMBDA_EXPR@81..92
+ ASYNC_KW@81..86 "async"
+ WHITESPACE@86..87 " "
+ PARAM_LIST@87..89
+ PIPE@87..88 "|"
+ PIPE@88..89 "|"
+ WHITESPACE@89..90 " "
+ BLOCK_EXPR@90..92
+ L_CURLY@90..91 "{"
+ R_CURLY@91..92 "}"
+ SEMICOLON@92..93 ";"
+ WHITESPACE@93..98 "\n "
+ EXPR_STMT@98..109
+ LAMBDA_EXPR@98..108
+ MOVE_KW@98..102 "move"
+ WHITESPACE@102..103 " "
+ PARAM_LIST@103..105
+ PIPE@103..104 "|"
+ PIPE@104..105 "|"
+ WHITESPACE@105..106 " "
+ BLOCK_EXPR@106..108
+ L_CURLY@106..107 "{"
+ R_CURLY@107..108 "}"
+ SEMICOLON@108..109 ";"
+ WHITESPACE@109..114 "\n "
+ EXPR_STMT@114..131
+ LAMBDA_EXPR@114..130
+ ASYNC_KW@114..119 "async"
+ WHITESPACE@119..120 " "
+ MOVE_KW@120..124 "move"
+ WHITESPACE@124..125 " "
+ PARAM_LIST@125..127
+ PIPE@125..126 "|"
+ PIPE@126..127 "|"
+ WHITESPACE@127..128 " "
+ BLOCK_EXPR@128..130
+ L_CURLY@128..129 "{"
+ R_CURLY@129..130 "}"
+ SEMICOLON@130..131 ";"
+ WHITESPACE@131..132 "\n"
+ R_CURLY@132..133 "}"
WHITESPACE@133..134 "\n"
R_PAREN@7..8 ")"
WHITESPACE@8..9 " "
BLOCK_EXPR@9..48
- BLOCK@9..48
- L_CURLY@9..10 "{"
- WHITESPACE@10..15 "\n "
- EXPR_STMT@15..23
- METHOD_CALL_EXPR@15..22
- PATH_EXPR@15..16
- PATH@15..16
- PATH_SEGMENT@15..16
- NAME_REF@15..16
- IDENT@15..16 "x"
- DOT@16..17 "."
- NAME_REF@17..20
- IDENT@17..20 "foo"
- ARG_LIST@20..22
- L_PAREN@20..21 "("
- R_PAREN@21..22 ")"
- SEMICOLON@22..23 ";"
- WHITESPACE@23..28 "\n "
- EXPR_STMT@28..46
- METHOD_CALL_EXPR@28..45
- PATH_EXPR@28..29
- PATH@28..29
- PATH_SEGMENT@28..29
- NAME_REF@28..29
- IDENT@28..29 "y"
- DOT@29..30 "."
- NAME_REF@30..33
- IDENT@30..33 "bar"
- TYPE_ARG_LIST@33..38
- COLON2@33..35 "::"
- L_ANGLE@35..36 "<"
- TYPE_ARG@36..37
- PATH_TYPE@36..37
- PATH@36..37
- PATH_SEGMENT@36..37
- NAME_REF@36..37
- IDENT@36..37 "T"
- R_ANGLE@37..38 ">"
- ARG_LIST@38..45
- L_PAREN@38..39 "("
- LITERAL@39..40
- INT_NUMBER@39..40 "1"
- COMMA@40..41 ","
- WHITESPACE@41..42 " "
- LITERAL@42..43
- INT_NUMBER@42..43 "2"
- COMMA@43..44 ","
- R_PAREN@44..45 ")"
- SEMICOLON@45..46 ";"
- WHITESPACE@46..47 "\n"
- R_CURLY@47..48 "}"
+ L_CURLY@9..10 "{"
+ WHITESPACE@10..15 "\n "
+ EXPR_STMT@15..23
+ METHOD_CALL_EXPR@15..22
+ PATH_EXPR@15..16
+ PATH@15..16
+ PATH_SEGMENT@15..16
+ NAME_REF@15..16
+ IDENT@15..16 "x"
+ DOT@16..17 "."
+ NAME_REF@17..20
+ IDENT@17..20 "foo"
+ ARG_LIST@20..22
+ L_PAREN@20..21 "("
+ R_PAREN@21..22 ")"
+ SEMICOLON@22..23 ";"
+ WHITESPACE@23..28 "\n "
+ EXPR_STMT@28..46
+ METHOD_CALL_EXPR@28..45
+ PATH_EXPR@28..29
+ PATH@28..29
+ PATH_SEGMENT@28..29
+ NAME_REF@28..29
+ IDENT@28..29 "y"
+ DOT@29..30 "."
+ NAME_REF@30..33
+ IDENT@30..33 "bar"
+ TYPE_ARG_LIST@33..38
+ COLON2@33..35 "::"
+ L_ANGLE@35..36 "<"
+ TYPE_ARG@36..37
+ PATH_TYPE@36..37
+ PATH@36..37
+ PATH_SEGMENT@36..37
+ NAME_REF@36..37
+ IDENT@36..37 "T"
+ R_ANGLE@37..38 ">"
+ ARG_LIST@38..45
+ L_PAREN@38..39 "("
+ LITERAL@39..40
+ INT_NUMBER@39..40 "1"
+ COMMA@40..41 ","
+ WHITESPACE@41..42 " "
+ LITERAL@42..43
+ INT_NUMBER@42..43 "2"
+ COMMA@43..44 ","
+ R_PAREN@44..45 ")"
+ SEMICOLON@45..46 ";"
+ WHITESPACE@46..47 "\n"
+ R_CURLY@47..48 "}"
WHITESPACE@48..49 "\n"
R_PAREN@7..8 ")"
WHITESPACE@8..9 " "
BLOCK_EXPR@9..39
- BLOCK@9..39
- L_CURLY@9..10 "{"
- WHITESPACE@10..15 "\n "
- EXPR_STMT@15..18
- TUPLE_EXPR@15..17
- L_PAREN@15..16 "("
- R_PAREN@16..17 ")"
- SEMICOLON@17..18 ";"
- WHITESPACE@18..23 "\n "
- EXPR_STMT@23..27
- PAREN_EXPR@23..26
- L_PAREN@23..24 "("
- LITERAL@24..25
- INT_NUMBER@24..25 "1"
- R_PAREN@25..26 ")"
- SEMICOLON@26..27 ";"
- WHITESPACE@27..32 "\n "
- EXPR_STMT@32..37
- TUPLE_EXPR@32..36
- L_PAREN@32..33 "("
- LITERAL@33..34
- INT_NUMBER@33..34 "1"
- COMMA@34..35 ","
- R_PAREN@35..36 ")"
- SEMICOLON@36..37 ";"
- WHITESPACE@37..38 "\n"
- R_CURLY@38..39 "}"
+ L_CURLY@9..10 "{"
+ WHITESPACE@10..15 "\n "
+ EXPR_STMT@15..18
+ TUPLE_EXPR@15..17
+ L_PAREN@15..16 "("
+ R_PAREN@16..17 ")"
+ SEMICOLON@17..18 ";"
+ WHITESPACE@18..23 "\n "
+ EXPR_STMT@23..27
+ PAREN_EXPR@23..26
+ L_PAREN@23..24 "("
+ LITERAL@24..25
+ INT_NUMBER@24..25 "1"
+ R_PAREN@25..26 ")"
+ SEMICOLON@26..27 ";"
+ WHITESPACE@27..32 "\n "
+ EXPR_STMT@32..37
+ TUPLE_EXPR@32..36
+ L_PAREN@32..33 "("
+ LITERAL@33..34
+ INT_NUMBER@33..34 "1"
+ COMMA@34..35 ","
+ R_PAREN@35..36 ")"
+ SEMICOLON@36..37 ";"
+ WHITESPACE@37..38 "\n"
+ R_CURLY@38..39 "}"
WHITESPACE@39..40 "\n"
R_PAREN@7..8 ")"
WHITESPACE@8..9 " "
BLOCK_EXPR@9..73
- BLOCK@9..73
- L_CURLY@9..10 "{"
- WHITESPACE@10..15 "\n "
- EXPR_STMT@15..26
- LOOP_EXPR@15..26
- LABEL@15..18
- LIFETIME@15..17 "\'a"
- COLON@17..18 ":"
- WHITESPACE@18..19 " "
- LOOP_KW@19..23 "loop"
- WHITESPACE@23..24 " "
- BLOCK_EXPR@24..26
- BLOCK@24..26
- L_CURLY@24..25 "{"
- R_CURLY@25..26 "}"
- WHITESPACE@26..31 "\n "
- EXPR_STMT@31..48
- WHILE_EXPR@31..48
- LABEL@31..34
- LIFETIME@31..33 "\'b"
- COLON@33..34 ":"
- WHITESPACE@34..35 " "
- WHILE_KW@35..40 "while"
- WHITESPACE@40..41 " "
- CONDITION@41..45
- LITERAL@41..45
- TRUE_KW@41..45 "true"
- WHITESPACE@45..46 " "
- BLOCK_EXPR@46..48
- BLOCK@46..48
- L_CURLY@46..47 "{"
- R_CURLY@47..48 "}"
- WHITESPACE@48..53 "\n "
- FOR_EXPR@53..71
- LABEL@53..56
- LIFETIME@53..55 "\'c"
- COLON@55..56 ":"
- WHITESPACE@56..57 " "
- FOR_KW@57..60 "for"
- WHITESPACE@60..61 " "
- BIND_PAT@61..62
- NAME@61..62
- IDENT@61..62 "x"
- WHITESPACE@62..63 " "
- IN_KW@63..65 "in"
- WHITESPACE@65..66 " "
- TUPLE_EXPR@66..68
- L_PAREN@66..67 "("
- R_PAREN@67..68 ")"
- WHITESPACE@68..69 " "
- BLOCK_EXPR@69..71
- BLOCK@69..71
- L_CURLY@69..70 "{"
- R_CURLY@70..71 "}"
- WHITESPACE@71..72 "\n"
- R_CURLY@72..73 "}"
+ L_CURLY@9..10 "{"
+ WHITESPACE@10..15 "\n "
+ EXPR_STMT@15..26
+ LOOP_EXPR@15..26
+ LABEL@15..18
+ LIFETIME@15..17 "\'a"
+ COLON@17..18 ":"
+ WHITESPACE@18..19 " "
+ LOOP_KW@19..23 "loop"
+ WHITESPACE@23..24 " "
+ BLOCK_EXPR@24..26
+ L_CURLY@24..25 "{"
+ R_CURLY@25..26 "}"
+ WHITESPACE@26..31 "\n "
+ EXPR_STMT@31..48
+ WHILE_EXPR@31..48
+ LABEL@31..34
+ LIFETIME@31..33 "\'b"
+ COLON@33..34 ":"
+ WHITESPACE@34..35 " "
+ WHILE_KW@35..40 "while"
+ WHITESPACE@40..41 " "
+ CONDITION@41..45
+ LITERAL@41..45
+ TRUE_KW@41..45 "true"
+ WHITESPACE@45..46 " "
+ BLOCK_EXPR@46..48
+ L_CURLY@46..47 "{"
+ R_CURLY@47..48 "}"
+ WHITESPACE@48..53 "\n "
+ FOR_EXPR@53..71
+ LABEL@53..56
+ LIFETIME@53..55 "\'c"
+ COLON@55..56 ":"
+ WHITESPACE@56..57 " "
+ FOR_KW@57..60 "for"
+ WHITESPACE@60..61 " "
+ BIND_PAT@61..62
+ NAME@61..62
+ IDENT@61..62 "x"
+ WHITESPACE@62..63 " "
+ IN_KW@63..65 "in"
+ WHITESPACE@65..66 " "
+ TUPLE_EXPR@66..68
+ L_PAREN@66..67 "("
+ R_PAREN@67..68 ")"
+ WHITESPACE@68..69 " "
+ BLOCK_EXPR@69..71
+ L_CURLY@69..70 "{"
+ R_CURLY@70..71 "}"
+ WHITESPACE@71..72 "\n"
+ R_CURLY@72..73 "}"
WHITESPACE@73..74 "\n"
R_PAREN@8..9 ")"
WHITESPACE@9..10 " "
BLOCK_EXPR@10..93
- BLOCK@10..93
- L_CURLY@10..11 "{"
- WHITESPACE@11..16 "\n "
- LET_STMT@16..36
- LET_KW@16..19 "let"
- WHITESPACE@19..20 " "
- TUPLE_PAT@20..30
- L_PAREN@20..21 "("
- BIND_PAT@21..22
- NAME@21..22
- IDENT@21..22 "a"
- COMMA@22..23 ","
- WHITESPACE@23..24 " "
- BIND_PAT@24..25
- NAME@24..25
- IDENT@24..25 "b"
- COMMA@25..26 ","
- WHITESPACE@26..27 " "
- DOT_DOT_PAT@27..29
- DOT2@27..29 ".."
- R_PAREN@29..30 ")"
- WHITESPACE@30..31 " "
- EQ@31..32 "="
- WHITESPACE@32..33 " "
- TUPLE_EXPR@33..35
- L_PAREN@33..34 "("
- R_PAREN@34..35 ")"
- SEMICOLON@35..36 ";"
- WHITESPACE@36..41 "\n "
- LET_STMT@41..55
- LET_KW@41..44 "let"
- WHITESPACE@44..45 " "
- TUPLE_PAT@45..49
- L_PAREN@45..46 "("
- BIND_PAT@46..47
- NAME@46..47
- IDENT@46..47 "a"
- COMMA@47..48 ","
- R_PAREN@48..49 ")"
- WHITESPACE@49..50 " "
- EQ@50..51 "="
- WHITESPACE@51..52 " "
- TUPLE_EXPR@52..54
- L_PAREN@52..53 "("
- R_PAREN@53..54 ")"
- SEMICOLON@54..55 ";"
- WHITESPACE@55..60 "\n "
- LET_STMT@60..74
- LET_KW@60..63 "let"
- WHITESPACE@63..64 " "
- TUPLE_PAT@64..68
- L_PAREN@64..65 "("
- DOT_DOT_PAT@65..67
- DOT2@65..67 ".."
- R_PAREN@67..68 ")"
- WHITESPACE@68..69 " "
- EQ@69..70 "="
- WHITESPACE@70..71 " "
- TUPLE_EXPR@71..73
- L_PAREN@71..72 "("
- R_PAREN@72..73 ")"
- SEMICOLON@73..74 ";"
- WHITESPACE@74..79 "\n "
- LET_STMT@79..91
- LET_KW@79..82 "let"
- WHITESPACE@82..83 " "
- TUPLE_PAT@83..85
- L_PAREN@83..84 "("
- R_PAREN@84..85 ")"
- WHITESPACE@85..86 " "
- EQ@86..87 "="
- WHITESPACE@87..88 " "
- TUPLE_EXPR@88..90
- L_PAREN@88..89 "("
- R_PAREN@89..90 ")"
- SEMICOLON@90..91 ";"
- WHITESPACE@91..92 "\n"
- R_CURLY@92..93 "}"
+ L_CURLY@10..11 "{"
+ WHITESPACE@11..16 "\n "
+ LET_STMT@16..36
+ LET_KW@16..19 "let"
+ WHITESPACE@19..20 " "
+ TUPLE_PAT@20..30
+ L_PAREN@20..21 "("
+ BIND_PAT@21..22
+ NAME@21..22
+ IDENT@21..22 "a"
+ COMMA@22..23 ","
+ WHITESPACE@23..24 " "
+ BIND_PAT@24..25
+ NAME@24..25
+ IDENT@24..25 "b"
+ COMMA@25..26 ","
+ WHITESPACE@26..27 " "
+ DOT_DOT_PAT@27..29
+ DOT2@27..29 ".."
+ R_PAREN@29..30 ")"
+ WHITESPACE@30..31 " "
+ EQ@31..32 "="
+ WHITESPACE@32..33 " "
+ TUPLE_EXPR@33..35
+ L_PAREN@33..34 "("
+ R_PAREN@34..35 ")"
+ SEMICOLON@35..36 ";"
+ WHITESPACE@36..41 "\n "
+ LET_STMT@41..55
+ LET_KW@41..44 "let"
+ WHITESPACE@44..45 " "
+ TUPLE_PAT@45..49
+ L_PAREN@45..46 "("
+ BIND_PAT@46..47
+ NAME@46..47
+ IDENT@46..47 "a"
+ COMMA@47..48 ","
+ R_PAREN@48..49 ")"
+ WHITESPACE@49..50 " "
+ EQ@50..51 "="
+ WHITESPACE@51..52 " "
+ TUPLE_EXPR@52..54
+ L_PAREN@52..53 "("
+ R_PAREN@53..54 ")"
+ SEMICOLON@54..55 ";"
+ WHITESPACE@55..60 "\n "
+ LET_STMT@60..74
+ LET_KW@60..63 "let"
+ WHITESPACE@63..64 " "
+ TUPLE_PAT@64..68
+ L_PAREN@64..65 "("
+ DOT_DOT_PAT@65..67
+ DOT2@65..67 ".."
+ R_PAREN@67..68 ")"
+ WHITESPACE@68..69 " "
+ EQ@69..70 "="
+ WHITESPACE@70..71 " "
+ TUPLE_EXPR@71..73
+ L_PAREN@71..72 "("
+ R_PAREN@72..73 ")"
+ SEMICOLON@73..74 ";"
+ WHITESPACE@74..79 "\n "
+ LET_STMT@79..91
+ LET_KW@79..82 "let"
+ WHITESPACE@82..83 " "
+ TUPLE_PAT@83..85
+ L_PAREN@83..84 "("
+ R_PAREN@84..85 ")"
+ WHITESPACE@85..86 " "
+ EQ@86..87 "="
+ WHITESPACE@87..88 " "
+ TUPLE_EXPR@88..90
+ L_PAREN@88..89 "("
+ R_PAREN@89..90 ")"
+ SEMICOLON@90..91 ";"
+ WHITESPACE@91..92 "\n"
+ R_CURLY@92..93 "}"
WHITESPACE@93..94 "\n"
R_PAREN@8..9 ")"
WHITESPACE@9..10 " "
BLOCK_EXPR@10..145
- BLOCK@10..145
- L_CURLY@10..11 "{"
- WHITESPACE@11..16 "\n "
- LET_STMT@16..27
- LET_KW@16..19 "let"
- WHITESPACE@19..20 " "
- BIND_PAT@20..21
- NAME@20..21
- IDENT@20..21 "a"
- WHITESPACE@21..22 " "
- EQ@22..23 "="
- WHITESPACE@23..24 " "
- TUPLE_EXPR@24..26
- L_PAREN@24..25 "("
- R_PAREN@25..26 ")"
- SEMICOLON@26..27 ";"
- WHITESPACE@27..32 "\n "
- LET_STMT@32..47
- LET_KW@32..35 "let"
- WHITESPACE@35..36 " "
- BIND_PAT@36..41
- MUT_KW@36..39 "mut"
- WHITESPACE@39..40 " "
- NAME@40..41
- IDENT@40..41 "b"
- WHITESPACE@41..42 " "
- EQ@42..43 "="
- WHITESPACE@43..44 " "
- TUPLE_EXPR@44..46
- L_PAREN@44..45 "("
- R_PAREN@45..46 ")"
- SEMICOLON@46..47 ";"
- WHITESPACE@47..52 "\n "
- LET_STMT@52..67
- LET_KW@52..55 "let"
- WHITESPACE@55..56 " "
- BIND_PAT@56..61
- REF_KW@56..59 "ref"
- WHITESPACE@59..60 " "
- NAME@60..61
- IDENT@60..61 "c"
- WHITESPACE@61..62 " "
- EQ@62..63 "="
- WHITESPACE@63..64 " "
- TUPLE_EXPR@64..66
- L_PAREN@64..65 "("
- R_PAREN@65..66 ")"
- SEMICOLON@66..67 ";"
- WHITESPACE@67..72 "\n "
- LET_STMT@72..91
- LET_KW@72..75 "let"
- WHITESPACE@75..76 " "
- BIND_PAT@76..85
- REF_KW@76..79 "ref"
- WHITESPACE@79..80 " "
- MUT_KW@80..83 "mut"
- WHITESPACE@83..84 " "
- NAME@84..85
- IDENT@84..85 "d"
- WHITESPACE@85..86 " "
- EQ@86..87 "="
- WHITESPACE@87..88 " "
- TUPLE_EXPR@88..90
- L_PAREN@88..89 "("
- R_PAREN@89..90 ")"
- SEMICOLON@90..91 ";"
- WHITESPACE@91..96 "\n "
- LET_STMT@96..111
- LET_KW@96..99 "let"
- WHITESPACE@99..100 " "
- BIND_PAT@100..105
- NAME@100..101
- IDENT@100..101 "e"
- WHITESPACE@101..102 " "
- AT@102..103 "@"
- WHITESPACE@103..104 " "
- PLACEHOLDER_PAT@104..105
- UNDERSCORE@104..105 "_"
- WHITESPACE@105..106 " "
- EQ@106..107 "="
- WHITESPACE@107..108 " "
- TUPLE_EXPR@108..110
- L_PAREN@108..109 "("
- R_PAREN@109..110 ")"
- SEMICOLON@110..111 ";"
- WHITESPACE@111..116 "\n "
- LET_STMT@116..143
- LET_KW@116..119 "let"
- WHITESPACE@119..120 " "
- BIND_PAT@120..137
- REF_KW@120..123 "ref"
- WHITESPACE@123..124 " "
- MUT_KW@124..127 "mut"
- WHITESPACE@127..128 " "
- NAME@128..129
- IDENT@128..129 "f"
- WHITESPACE@129..130 " "
- AT@130..131 "@"
- WHITESPACE@131..132 " "
- BIND_PAT@132..137
- NAME@132..133
- IDENT@132..133 "g"
- WHITESPACE@133..134 " "
- AT@134..135 "@"
- WHITESPACE@135..136 " "
- PLACEHOLDER_PAT@136..137
- UNDERSCORE@136..137 "_"
- WHITESPACE@137..138 " "
- EQ@138..139 "="
- WHITESPACE@139..140 " "
- TUPLE_EXPR@140..142
- L_PAREN@140..141 "("
- R_PAREN@141..142 ")"
- SEMICOLON@142..143 ";"
- WHITESPACE@143..144 "\n"
- R_CURLY@144..145 "}"
+ L_CURLY@10..11 "{"
+ WHITESPACE@11..16 "\n "
+ LET_STMT@16..27
+ LET_KW@16..19 "let"
+ WHITESPACE@19..20 " "
+ BIND_PAT@20..21
+ NAME@20..21
+ IDENT@20..21 "a"
+ WHITESPACE@21..22 " "
+ EQ@22..23 "="
+ WHITESPACE@23..24 " "
+ TUPLE_EXPR@24..26
+ L_PAREN@24..25 "("
+ R_PAREN@25..26 ")"
+ SEMICOLON@26..27 ";"
+ WHITESPACE@27..32 "\n "
+ LET_STMT@32..47
+ LET_KW@32..35 "let"
+ WHITESPACE@35..36 " "
+ BIND_PAT@36..41
+ MUT_KW@36..39 "mut"
+ WHITESPACE@39..40 " "
+ NAME@40..41
+ IDENT@40..41 "b"
+ WHITESPACE@41..42 " "
+ EQ@42..43 "="
+ WHITESPACE@43..44 " "
+ TUPLE_EXPR@44..46
+ L_PAREN@44..45 "("
+ R_PAREN@45..46 ")"
+ SEMICOLON@46..47 ";"
+ WHITESPACE@47..52 "\n "
+ LET_STMT@52..67
+ LET_KW@52..55 "let"
+ WHITESPACE@55..56 " "
+ BIND_PAT@56..61
+ REF_KW@56..59 "ref"
+ WHITESPACE@59..60 " "
+ NAME@60..61
+ IDENT@60..61 "c"
+ WHITESPACE@61..62 " "
+ EQ@62..63 "="
+ WHITESPACE@63..64 " "
+ TUPLE_EXPR@64..66
+ L_PAREN@64..65 "("
+ R_PAREN@65..66 ")"
+ SEMICOLON@66..67 ";"
+ WHITESPACE@67..72 "\n "
+ LET_STMT@72..91
+ LET_KW@72..75 "let"
+ WHITESPACE@75..76 " "
+ BIND_PAT@76..85
+ REF_KW@76..79 "ref"
+ WHITESPACE@79..80 " "
+ MUT_KW@80..83 "mut"
+ WHITESPACE@83..84 " "
+ NAME@84..85
+ IDENT@84..85 "d"
+ WHITESPACE@85..86 " "
+ EQ@86..87 "="
+ WHITESPACE@87..88 " "
+ TUPLE_EXPR@88..90
+ L_PAREN@88..89 "("
+ R_PAREN@89..90 ")"
+ SEMICOLON@90..91 ";"
+ WHITESPACE@91..96 "\n "
+ LET_STMT@96..111
+ LET_KW@96..99 "let"
+ WHITESPACE@99..100 " "
+ BIND_PAT@100..105
+ NAME@100..101
+ IDENT@100..101 "e"
+ WHITESPACE@101..102 " "
+ AT@102..103 "@"
+ WHITESPACE@103..104 " "
+ PLACEHOLDER_PAT@104..105
+ UNDERSCORE@104..105 "_"
+ WHITESPACE@105..106 " "
+ EQ@106..107 "="
+ WHITESPACE@107..108 " "
+ TUPLE_EXPR@108..110
+ L_PAREN@108..109 "("
+ R_PAREN@109..110 ")"
+ SEMICOLON@110..111 ";"
+ WHITESPACE@111..116 "\n "
+ LET_STMT@116..143
+ LET_KW@116..119 "let"
+ WHITESPACE@119..120 " "
+ BIND_PAT@120..137
+ REF_KW@120..123 "ref"
+ WHITESPACE@123..124 " "
+ MUT_KW@124..127 "mut"
+ WHITESPACE@127..128 " "
+ NAME@128..129
+ IDENT@128..129 "f"
+ WHITESPACE@129..130 " "
+ AT@130..131 "@"
+ WHITESPACE@131..132 " "
+ BIND_PAT@132..137
+ NAME@132..133
+ IDENT@132..133 "g"
+ WHITESPACE@133..134 " "
+ AT@134..135 "@"
+ WHITESPACE@135..136 " "
+ PLACEHOLDER_PAT@136..137
+ UNDERSCORE@136..137 "_"
+ WHITESPACE@137..138 " "
+ EQ@138..139 "="
+ WHITESPACE@139..140 " "
+ TUPLE_EXPR@140..142
+ L_PAREN@140..141 "("
+ R_PAREN@141..142 ")"
+ SEMICOLON@142..143 ";"
+ WHITESPACE@143..144 "\n"
+ R_CURLY@144..145 "}"
WHITESPACE@145..146 "\n"
L_PAREN@6..7 "("
R_PAREN@7..8 ")"
BLOCK_EXPR@8..49
- BLOCK@8..49
- L_CURLY@8..9 "{"
- WHITESPACE@9..14 "\n "
- SEMICOLON@14..15 ";"
- SEMICOLON@15..16 ";"
- SEMICOLON@16..17 ";"
- EXPR_STMT@17..29
- CALL_EXPR@17..28
- PATH_EXPR@17..26
- PATH@17..26
- PATH_SEGMENT@17..26
- NAME_REF@17..26
- IDENT@17..26 "some_expr"
- ARG_LIST@26..28
- L_PAREN@26..27 "("
- R_PAREN@27..28 ")"
- SEMICOLON@28..29 ";"
- SEMICOLON@29..30 ";"
- SEMICOLON@30..31 ";"
- SEMICOLON@31..32 ";"
- EXPR_STMT@32..38
- BLOCK_EXPR@32..37
- BLOCK@32..37
- L_CURLY@32..33 "{"
- SEMICOLON@33..34 ";"
- SEMICOLON@34..35 ";"
- SEMICOLON@35..36 ";"
- R_CURLY@36..37 "}"
- SEMICOLON@37..38 ";"
- SEMICOLON@38..39 ";"
- SEMICOLON@39..40 ";"
- SEMICOLON@40..41 ";"
- CALL_EXPR@41..47
- PATH_EXPR@41..43
- PATH@41..43
- PATH_SEGMENT@41..43
- NAME_REF@41..43
- IDENT@41..43 "Ok"
- ARG_LIST@43..47
- L_PAREN@43..44 "("
- TUPLE_EXPR@44..46
- L_PAREN@44..45 "("
- R_PAREN@45..46 ")"
- R_PAREN@46..47 ")"
- WHITESPACE@47..48 "\n"
- R_CURLY@48..49 "}"
+ L_CURLY@8..9 "{"
+ WHITESPACE@9..14 "\n "
+ SEMICOLON@14..15 ";"
+ SEMICOLON@15..16 ";"
+ SEMICOLON@16..17 ";"
+ EXPR_STMT@17..29
+ CALL_EXPR@17..28
+ PATH_EXPR@17..26
+ PATH@17..26
+ PATH_SEGMENT@17..26
+ NAME_REF@17..26
+ IDENT@17..26 "some_expr"
+ ARG_LIST@26..28
+ L_PAREN@26..27 "("
+ R_PAREN@27..28 ")"
+ SEMICOLON@28..29 ";"
+ SEMICOLON@29..30 ";"
+ SEMICOLON@30..31 ";"
+ SEMICOLON@31..32 ";"
+ EXPR_STMT@32..38
+ BLOCK_EXPR@32..37
+ L_CURLY@32..33 "{"
+ SEMICOLON@33..34 ";"
+ SEMICOLON@34..35 ";"
+ SEMICOLON@35..36 ";"
+ R_CURLY@36..37 "}"
+ SEMICOLON@37..38 ";"
+ SEMICOLON@38..39 ";"
+ SEMICOLON@39..40 ";"
+ SEMICOLON@40..41 ";"
+ CALL_EXPR@41..47
+ PATH_EXPR@41..43
+ PATH@41..43
+ PATH_SEGMENT@41..43
+ NAME_REF@41..43
+ IDENT@41..43 "Ok"
+ ARG_LIST@43..47
+ L_PAREN@43..44 "("
+ TUPLE_EXPR@44..46
+ L_PAREN@44..45 "("
+ R_PAREN@45..46 ")"
+ R_PAREN@46..47 ")"
+ WHITESPACE@47..48 "\n"
+ R_CURLY@48..49 "}"
WHITESPACE@49..50 "\n"
R_PAREN@7..8 ")"
WHITESPACE@8..9 " "
BLOCK_EXPR@9..57
- BLOCK@9..57
- L_CURLY@9..10 "{"
- WHITESPACE@10..15 "\n "
- MATCH_EXPR@15..55
- MATCH_KW@15..20 "match"
- WHITESPACE@20..21 " "
- TUPLE_EXPR@21..23
- L_PAREN@21..22 "("
- R_PAREN@22..23 ")"
- WHITESPACE@23..24 " "
- MATCH_ARM_LIST@24..55
- L_CURLY@24..25 "{"
- WHITESPACE@25..34 "\n "
- MATCH_ARM@34..48
- PLACEHOLDER_PAT@34..35
- UNDERSCORE@34..35 "_"
- WHITESPACE@35..36 " "
- MATCH_GUARD@36..42
- IF_KW@36..38 "if"
- WHITESPACE@38..39 " "
- PATH_EXPR@39..42
- PATH@39..42
- PATH_SEGMENT@39..42
- NAME_REF@39..42
- IDENT@39..42 "foo"
- WHITESPACE@42..43 " "
- FAT_ARROW@43..45 "=>"
- WHITESPACE@45..46 " "
- TUPLE_EXPR@46..48
- L_PAREN@46..47 "("
- R_PAREN@47..48 ")"
- COMMA@48..49 ","
- WHITESPACE@49..54 "\n "
- R_CURLY@54..55 "}"
- WHITESPACE@55..56 "\n"
- R_CURLY@56..57 "}"
+ L_CURLY@9..10 "{"
+ WHITESPACE@10..15 "\n "
+ MATCH_EXPR@15..55
+ MATCH_KW@15..20 "match"
+ WHITESPACE@20..21 " "
+ TUPLE_EXPR@21..23
+ L_PAREN@21..22 "("
+ R_PAREN@22..23 ")"
+ WHITESPACE@23..24 " "
+ MATCH_ARM_LIST@24..55
+ L_CURLY@24..25 "{"
+ WHITESPACE@25..34 "\n "
+ MATCH_ARM@34..48
+ PLACEHOLDER_PAT@34..35
+ UNDERSCORE@34..35 "_"
+ WHITESPACE@35..36 " "
+ MATCH_GUARD@36..42
+ IF_KW@36..38 "if"
+ WHITESPACE@38..39 " "
+ PATH_EXPR@39..42
+ PATH@39..42
+ PATH_SEGMENT@39..42
+ NAME_REF@39..42
+ IDENT@39..42 "foo"
+ WHITESPACE@42..43 " "
+ FAT_ARROW@43..45 "=>"
+ WHITESPACE@45..46 " "
+ TUPLE_EXPR@46..48
+ L_PAREN@46..47 "("
+ R_PAREN@47..48 ")"
+ COMMA@48..49 ","
+ WHITESPACE@49..54 "\n "
+ R_CURLY@54..55 "}"
+ WHITESPACE@55..56 "\n"
+ R_CURLY@56..57 "}"
WHITESPACE@57..58 "\n"
R_PAREN@7..8 ")"
WHITESPACE@8..9 " "
BLOCK_EXPR@9..138
- BLOCK@9..138
- L_CURLY@9..10 "{"
- WHITESPACE@10..15 "\n "
- MATCH_EXPR@15..136
- MATCH_KW@15..20 "match"
- WHITESPACE@20..21 " "
- TUPLE_EXPR@21..23
- L_PAREN@21..22 "("
- R_PAREN@22..23 ")"
- WHITESPACE@23..24 " "
- MATCH_ARM_LIST@24..136
- L_CURLY@24..25 "{"
- WHITESPACE@25..34 "\n "
- ATTR@34..60
- POUND@34..35 "#"
- BANG@35..36 "!"
- L_BRACK@36..37 "["
- PATH@37..40
- PATH_SEGMENT@37..40
- NAME_REF@37..40
- IDENT@37..40 "doc"
- TOKEN_TREE@40..59
- L_PAREN@40..41 "("
- STRING@41..58 "\"Inner attribute\""
- R_PAREN@58..59 ")"
- R_BRACK@59..60 "]"
- WHITESPACE@60..69 "\n "
- ATTR@69..86
- POUND@69..70 "#"
- BANG@70..71 "!"
- L_BRACK@71..72 "["
- PATH@72..75
- PATH_SEGMENT@72..75
- NAME_REF@72..75
- IDENT@72..75 "doc"
- TOKEN_TREE@75..85
- L_PAREN@75..76 "("
- STRING@76..84 "\"Can be\""
- R_PAREN@84..85 ")"
- R_BRACK@85..86 "]"
- WHITESPACE@86..95 "\n "
- ATTR@95..113
- POUND@95..96 "#"
- BANG@96..97 "!"
- L_BRACK@97..98 "["
- PATH@98..101
- PATH_SEGMENT@98..101
- NAME_REF@98..101
- IDENT@98..101 "doc"
- TOKEN_TREE@101..112
- L_PAREN@101..102 "("
- STRING@102..111 "\"Stacked\""
- R_PAREN@111..112 ")"
- R_BRACK@112..113 "]"
- WHITESPACE@113..122 "\n "
- MATCH_ARM@122..129
- PLACEHOLDER_PAT@122..123
- UNDERSCORE@122..123 "_"
- WHITESPACE@123..124 " "
- FAT_ARROW@124..126 "=>"
- WHITESPACE@126..127 " "
- TUPLE_EXPR@127..129
- L_PAREN@127..128 "("
- R_PAREN@128..129 ")"
- COMMA@129..130 ","
- WHITESPACE@130..135 "\n "
- R_CURLY@135..136 "}"
- WHITESPACE@136..137 "\n"
- R_CURLY@137..138 "}"
+ L_CURLY@9..10 "{"
+ WHITESPACE@10..15 "\n "
+ MATCH_EXPR@15..136
+ MATCH_KW@15..20 "match"
+ WHITESPACE@20..21 " "
+ TUPLE_EXPR@21..23
+ L_PAREN@21..22 "("
+ R_PAREN@22..23 ")"
+ WHITESPACE@23..24 " "
+ MATCH_ARM_LIST@24..136
+ L_CURLY@24..25 "{"
+ WHITESPACE@25..34 "\n "
+ ATTR@34..60
+ POUND@34..35 "#"
+ BANG@35..36 "!"
+ L_BRACK@36..37 "["
+ PATH@37..40
+ PATH_SEGMENT@37..40
+ NAME_REF@37..40
+ IDENT@37..40 "doc"
+ TOKEN_TREE@40..59
+ L_PAREN@40..41 "("
+ STRING@41..58 "\"Inner attribute\""
+ R_PAREN@58..59 ")"
+ R_BRACK@59..60 "]"
+ WHITESPACE@60..69 "\n "
+ ATTR@69..86
+ POUND@69..70 "#"
+ BANG@70..71 "!"
+ L_BRACK@71..72 "["
+ PATH@72..75
+ PATH_SEGMENT@72..75
+ NAME_REF@72..75
+ IDENT@72..75 "doc"
+ TOKEN_TREE@75..85
+ L_PAREN@75..76 "("
+ STRING@76..84 "\"Can be\""
+ R_PAREN@84..85 ")"
+ R_BRACK@85..86 "]"
+ WHITESPACE@86..95 "\n "
+ ATTR@95..113
+ POUND@95..96 "#"
+ BANG@96..97 "!"
+ L_BRACK@97..98 "["
+ PATH@98..101
+ PATH_SEGMENT@98..101
+ NAME_REF@98..101
+ IDENT@98..101 "doc"
+ TOKEN_TREE@101..112
+ L_PAREN@101..102 "("
+ STRING@102..111 "\"Stacked\""
+ R_PAREN@111..112 ")"
+ R_BRACK@112..113 "]"
+ WHITESPACE@113..122 "\n "
+ MATCH_ARM@122..129
+ PLACEHOLDER_PAT@122..123
+ UNDERSCORE@122..123 "_"
+ WHITESPACE@123..124 " "
+ FAT_ARROW@124..126 "=>"
+ WHITESPACE@126..127 " "
+ TUPLE_EXPR@127..129
+ L_PAREN@127..128 "("
+ R_PAREN@128..129 ")"
+ COMMA@129..130 ","
+ WHITESPACE@130..135 "\n "
+ R_CURLY@135..136 "}"
+ WHITESPACE@136..137 "\n"
+ R_CURLY@137..138 "}"
WHITESPACE@138..139 "\n"
R_PAREN@7..8 ")"
WHITESPACE@8..9 " "
BLOCK_EXPR@9..258
- BLOCK@9..258
- L_CURLY@9..10 "{"
- WHITESPACE@10..15 "\n "
- MATCH_EXPR@15..256
- MATCH_KW@15..20 "match"
- WHITESPACE@20..21 " "
- TUPLE_EXPR@21..23
- L_PAREN@21..22 "("
- R_PAREN@22..23 ")"
- WHITESPACE@23..24 " "
- MATCH_ARM_LIST@24..256
- L_CURLY@24..25 "{"
- WHITESPACE@25..34 "\n "
- MATCH_ARM@34..74
- ATTR@34..58
- POUND@34..35 "#"
- L_BRACK@35..36 "["
- PATH@36..39
- PATH_SEGMENT@36..39
- NAME_REF@36..39
- IDENT@36..39 "cfg"
- TOKEN_TREE@39..57
- L_PAREN@39..40 "("
- IDENT@40..47 "feature"
- WHITESPACE@47..48 " "
- EQ@48..49 "="
- WHITESPACE@49..50 " "
- STRING@50..56 "\"some\""
- R_PAREN@56..57 ")"
- R_BRACK@57..58 "]"
- WHITESPACE@58..67 "\n "
- PLACEHOLDER_PAT@67..68
- UNDERSCORE@67..68 "_"
- WHITESPACE@68..69 " "
- FAT_ARROW@69..71 "=>"
- WHITESPACE@71..72 " "
- TUPLE_EXPR@72..74
- L_PAREN@72..73 "("
- R_PAREN@73..74 ")"
- COMMA@74..75 ","
- WHITESPACE@75..84 "\n "
- MATCH_ARM@84..125
- ATTR@84..109
- POUND@84..85 "#"
- L_BRACK@85..86 "["
- PATH@86..89
- PATH_SEGMENT@86..89
- NAME_REF@86..89
- IDENT@86..89 "cfg"
- TOKEN_TREE@89..108
- L_PAREN@89..90 "("
- IDENT@90..97 "feature"
- WHITESPACE@97..98 " "
- EQ@98..99 "="
- WHITESPACE@99..100 " "
- STRING@100..107 "\"other\""
- R_PAREN@107..108 ")"
- R_BRACK@108..109 "]"
- WHITESPACE@109..118 "\n "
- PLACEHOLDER_PAT@118..119
- UNDERSCORE@118..119 "_"
- WHITESPACE@119..120 " "
- FAT_ARROW@120..122 "=>"
- WHITESPACE@122..123 " "
- TUPLE_EXPR@123..125
- L_PAREN@123..124 "("
- R_PAREN@124..125 ")"
- COMMA@125..126 ","
- WHITESPACE@126..135 "\n "
- MATCH_ARM@135..249
- ATTR@135..159
- POUND@135..136 "#"
- L_BRACK@136..137 "["
- PATH@137..140
- PATH_SEGMENT@137..140
- NAME_REF@137..140
- IDENT@137..140 "cfg"
- TOKEN_TREE@140..158
- L_PAREN@140..141 "("
- IDENT@141..148 "feature"
- WHITESPACE@148..149 " "
- EQ@149..150 "="
- WHITESPACE@150..151 " "
- STRING@151..157 "\"many\""
- R_PAREN@157..158 ")"
- R_BRACK@158..159 "]"
- WHITESPACE@159..168 "\n "
- ATTR@168..198
- POUND@168..169 "#"
- L_BRACK@169..170 "["
- PATH@170..173
- PATH_SEGMENT@170..173
- NAME_REF@170..173
- IDENT@170..173 "cfg"
- TOKEN_TREE@173..197
- L_PAREN@173..174 "("
- IDENT@174..181 "feature"
- WHITESPACE@181..182 " "
- EQ@182..183 "="
- WHITESPACE@183..184 " "
- STRING@184..196 "\"attributes\""
- R_PAREN@196..197 ")"
- R_BRACK@197..198 "]"
- WHITESPACE@198..207 "\n "
- ATTR@207..233
- POUND@207..208 "#"
- L_BRACK@208..209 "["
- PATH@209..212
- PATH_SEGMENT@209..212
- NAME_REF@209..212
- IDENT@209..212 "cfg"
- TOKEN_TREE@212..232
- L_PAREN@212..213 "("
- IDENT@213..220 "feature"
- WHITESPACE@220..221 " "
- EQ@221..222 "="
- WHITESPACE@222..223 " "
- STRING@223..231 "\"before\""
- R_PAREN@231..232 ")"
- R_BRACK@232..233 "]"
- WHITESPACE@233..242 "\n "
- PLACEHOLDER_PAT@242..243
- UNDERSCORE@242..243 "_"
- WHITESPACE@243..244 " "
- FAT_ARROW@244..246 "=>"
- WHITESPACE@246..247 " "
- TUPLE_EXPR@247..249
- L_PAREN@247..248 "("
- R_PAREN@248..249 ")"
- COMMA@249..250 ","
- WHITESPACE@250..255 "\n "
- R_CURLY@255..256 "}"
- WHITESPACE@256..257 "\n"
- R_CURLY@257..258 "}"
+ L_CURLY@9..10 "{"
+ WHITESPACE@10..15 "\n "
+ MATCH_EXPR@15..256
+ MATCH_KW@15..20 "match"
+ WHITESPACE@20..21 " "
+ TUPLE_EXPR@21..23
+ L_PAREN@21..22 "("
+ R_PAREN@22..23 ")"
+ WHITESPACE@23..24 " "
+ MATCH_ARM_LIST@24..256
+ L_CURLY@24..25 "{"
+ WHITESPACE@25..34 "\n "
+ MATCH_ARM@34..74
+ ATTR@34..58
+ POUND@34..35 "#"
+ L_BRACK@35..36 "["
+ PATH@36..39
+ PATH_SEGMENT@36..39
+ NAME_REF@36..39
+ IDENT@36..39 "cfg"
+ TOKEN_TREE@39..57
+ L_PAREN@39..40 "("
+ IDENT@40..47 "feature"
+ WHITESPACE@47..48 " "
+ EQ@48..49 "="
+ WHITESPACE@49..50 " "
+ STRING@50..56 "\"some\""
+ R_PAREN@56..57 ")"
+ R_BRACK@57..58 "]"
+ WHITESPACE@58..67 "\n "
+ PLACEHOLDER_PAT@67..68
+ UNDERSCORE@67..68 "_"
+ WHITESPACE@68..69 " "
+ FAT_ARROW@69..71 "=>"
+ WHITESPACE@71..72 " "
+ TUPLE_EXPR@72..74
+ L_PAREN@72..73 "("
+ R_PAREN@73..74 ")"
+ COMMA@74..75 ","
+ WHITESPACE@75..84 "\n "
+ MATCH_ARM@84..125
+ ATTR@84..109
+ POUND@84..85 "#"
+ L_BRACK@85..86 "["
+ PATH@86..89
+ PATH_SEGMENT@86..89
+ NAME_REF@86..89
+ IDENT@86..89 "cfg"
+ TOKEN_TREE@89..108
+ L_PAREN@89..90 "("
+ IDENT@90..97 "feature"
+ WHITESPACE@97..98 " "
+ EQ@98..99 "="
+ WHITESPACE@99..100 " "
+ STRING@100..107 "\"other\""
+ R_PAREN@107..108 ")"
+ R_BRACK@108..109 "]"
+ WHITESPACE@109..118 "\n "
+ PLACEHOLDER_PAT@118..119
+ UNDERSCORE@118..119 "_"
+ WHITESPACE@119..120 " "
+ FAT_ARROW@120..122 "=>"
+ WHITESPACE@122..123 " "
+ TUPLE_EXPR@123..125
+ L_PAREN@123..124 "("
+ R_PAREN@124..125 ")"
+ COMMA@125..126 ","
+ WHITESPACE@126..135 "\n "
+ MATCH_ARM@135..249
+ ATTR@135..159
+ POUND@135..136 "#"
+ L_BRACK@136..137 "["
+ PATH@137..140
+ PATH_SEGMENT@137..140
+ NAME_REF@137..140
+ IDENT@137..140 "cfg"
+ TOKEN_TREE@140..158
+ L_PAREN@140..141 "("
+ IDENT@141..148 "feature"
+ WHITESPACE@148..149 " "
+ EQ@149..150 "="
+ WHITESPACE@150..151 " "
+ STRING@151..157 "\"many\""
+ R_PAREN@157..158 ")"
+ R_BRACK@158..159 "]"
+ WHITESPACE@159..168 "\n "
+ ATTR@168..198
+ POUND@168..169 "#"
+ L_BRACK@169..170 "["
+ PATH@170..173
+ PATH_SEGMENT@170..173
+ NAME_REF@170..173
+ IDENT@170..173 "cfg"
+ TOKEN_TREE@173..197
+ L_PAREN@173..174 "("
+ IDENT@174..181 "feature"
+ WHITESPACE@181..182 " "
+ EQ@182..183 "="
+ WHITESPACE@183..184 " "
+ STRING@184..196 "\"attributes\""
+ R_PAREN@196..197 ")"
+ R_BRACK@197..198 "]"
+ WHITESPACE@198..207 "\n "
+ ATTR@207..233
+ POUND@207..208 "#"
+ L_BRACK@208..209 "["
+ PATH@209..212
+ PATH_SEGMENT@209..212
+ NAME_REF@209..212
+ IDENT@209..212 "cfg"
+ TOKEN_TREE@212..232
+ L_PAREN@212..213 "("
+ IDENT@213..220 "feature"
+ WHITESPACE@220..221 " "
+ EQ@221..222 "="
+ WHITESPACE@222..223 " "
+ STRING@223..231 "\"before\""
+ R_PAREN@231..232 ")"
+ R_BRACK@232..233 "]"
+ WHITESPACE@233..242 "\n "
+ PLACEHOLDER_PAT@242..243
+ UNDERSCORE@242..243 "_"
+ WHITESPACE@243..244 " "
+ FAT_ARROW@244..246 "=>"
+ WHITESPACE@246..247 " "
+ TUPLE_EXPR@247..249
+ L_PAREN@247..248 "("
+ R_PAREN@248..249 ")"
+ COMMA@249..250 ","
+ WHITESPACE@250..255 "\n "
+ R_CURLY@255..256 "}"
+ WHITESPACE@256..257 "\n"
+ R_CURLY@257..258 "}"
WHITESPACE@258..259 "\n"
R_PAREN@58..59 ")"
WHITESPACE@59..60 " "
BLOCK_EXPR@60..63
- BLOCK@60..63
- L_CURLY@60..61 "{"
- WHITESPACE@61..62 "\n"
- R_CURLY@62..63 "}"
+ L_CURLY@60..61 "{"
+ WHITESPACE@61..62 "\n"
+ R_CURLY@62..63 "}"
WHITESPACE@63..64 "\n"
R_PAREN@13..14 ")"
WHITESPACE@14..15 " "
BLOCK_EXPR@15..17
- BLOCK@15..17
- L_CURLY@15..16 "{"
- R_CURLY@16..17 "}"
+ L_CURLY@15..16 "{"
+ R_CURLY@16..17 "}"
WHITESPACE@17..18 "\n"
R_PAREN@7..8 ")"
WHITESPACE@8..9 " "
BLOCK_EXPR@9..26
- BLOCK@9..26
- L_CURLY@9..10 "{"
- WHITESPACE@10..11 " "
- EXPR_STMT@11..24
- CALL_EXPR@11..23
- PATH_EXPR@11..21
- PATH@11..21
- PATH@11..16
- PATH_SEGMENT@11..16
- CRATE_KW@11..16 "crate"
- COLON2@16..18 "::"
- PATH_SEGMENT@18..21
- NAME_REF@18..21
- IDENT@18..21 "foo"
- ARG_LIST@21..23
- L_PAREN@21..22 "("
- R_PAREN@22..23 ")"
- SEMICOLON@23..24 ";"
- WHITESPACE@24..25 " "
- R_CURLY@25..26 "}"
+ L_CURLY@9..10 "{"
+ WHITESPACE@10..11 " "
+ EXPR_STMT@11..24
+ CALL_EXPR@11..23
+ PATH_EXPR@11..21
+ PATH@11..21
+ PATH@11..16
+ PATH_SEGMENT@11..16
+ CRATE_KW@11..16 "crate"
+ COLON2@16..18 "::"
+ PATH_SEGMENT@18..21
+ NAME_REF@18..21
+ IDENT@18..21 "foo"
+ ARG_LIST@21..23
+ L_PAREN@21..22 "("
+ R_PAREN@22..23 ")"
+ SEMICOLON@23..24 ";"
+ WHITESPACE@24..25 " "
+ R_CURLY@25..26 "}"
WHITESPACE@26..27 "\n"
R_PAREN@8..9 ")"
WHITESPACE@9..10 " "
BLOCK_EXPR@10..45
- BLOCK@10..45
- L_CURLY@10..11 "{"
- WHITESPACE@11..16 "\n "
- RECORD_LIT@16..43
- PATH@16..17
- PATH_SEGMENT@16..17
- NAME_REF@16..17
- IDENT@16..17 "S"
- WHITESPACE@17..18 " "
- RECORD_FIELD_LIST@18..43
- L_CURLY@18..19 "{"
- WHITESPACE@19..20 " "
- RECORD_FIELD@20..41
- ATTR@20..32
- POUND@20..21 "#"
- L_BRACK@21..22 "["
- PATH@22..25
- PATH_SEGMENT@22..25
- NAME_REF@22..25
- IDENT@22..25 "cfg"
- TOKEN_TREE@25..31
- L_PAREN@25..26 "("
- IDENT@26..30 "test"
- R_PAREN@30..31 ")"
- R_BRACK@31..32 "]"
- WHITESPACE@32..33 " "
- NAME_REF@33..38
- IDENT@33..38 "field"
- COLON@38..39 ":"
- WHITESPACE@39..40 " "
- LITERAL@40..41
- INT_NUMBER@40..41 "1"
- WHITESPACE@41..42 " "
- R_CURLY@42..43 "}"
- WHITESPACE@43..44 "\n"
- R_CURLY@44..45 "}"
+ L_CURLY@10..11 "{"
+ WHITESPACE@11..16 "\n "
+ RECORD_LIT@16..43
+ PATH@16..17
+ PATH_SEGMENT@16..17
+ NAME_REF@16..17
+ IDENT@16..17 "S"
+ WHITESPACE@17..18 " "
+ RECORD_FIELD_LIST@18..43
+ L_CURLY@18..19 "{"
+ WHITESPACE@19..20 " "
+ RECORD_FIELD@20..41
+ ATTR@20..32
+ POUND@20..21 "#"
+ L_BRACK@21..22 "["
+ PATH@22..25
+ PATH_SEGMENT@22..25
+ NAME_REF@22..25
+ IDENT@22..25 "cfg"
+ TOKEN_TREE@25..31
+ L_PAREN@25..26 "("
+ IDENT@26..30 "test"
+ R_PAREN@30..31 ")"
+ R_BRACK@31..32 "]"
+ WHITESPACE@32..33 " "
+ NAME_REF@33..38
+ IDENT@33..38 "field"
+ COLON@38..39 ":"
+ WHITESPACE@39..40 " "
+ LITERAL@40..41
+ INT_NUMBER@40..41 "1"
+ WHITESPACE@41..42 " "
+ R_CURLY@42..43 "}"
+ WHITESPACE@43..44 "\n"
+ R_CURLY@44..45 "}"
WHITESPACE@45..46 "\n"
R_PAREN@7..8 ")"
WHITESPACE@8..9 " "
BLOCK_EXPR@9..81
- BLOCK@9..81
- L_CURLY@9..10 "{"
- WHITESPACE@10..15 "\n "
- EXPR_STMT@15..26
- ATTR@15..19
- POUND@15..16 "#"
- L_BRACK@16..17 "["
- PATH@17..18
- PATH_SEGMENT@17..18
- NAME_REF@17..18
- IDENT@17..18 "A"
- R_BRACK@18..19 "]"
- WHITESPACE@19..20 " "
- CALL_EXPR@20..25
- PATH_EXPR@20..23
- PATH@20..23
- PATH_SEGMENT@20..23
- NAME_REF@20..23
- IDENT@20..23 "foo"
- ARG_LIST@23..25
- L_PAREN@23..24 "("
- R_PAREN@24..25 ")"
- SEMICOLON@25..26 ";"
- WHITESPACE@26..31 "\n "
- EXPR_STMT@31..42
- ATTR@31..35
- POUND@31..32 "#"
- L_BRACK@32..33 "["
- PATH@33..34
- PATH_SEGMENT@33..34
- NAME_REF@33..34
- IDENT@33..34 "B"
- R_BRACK@34..35 "]"
- WHITESPACE@35..36 " "
- MACRO_CALL@36..42
- PATH@36..39
- PATH_SEGMENT@36..39
- NAME_REF@36..39
- IDENT@36..39 "bar"
- BANG@39..40 "!"
- TOKEN_TREE@40..42
- L_CURLY@40..41 "{"
- R_CURLY@41..42 "}"
- WHITESPACE@42..47 "\n "
- EXPR_STMT@47..59
- ATTR@47..51
- POUND@47..48 "#"
- L_BRACK@48..49 "["
- PATH@49..50
- PATH_SEGMENT@49..50
- NAME_REF@49..50
- IDENT@49..50 "C"
- R_BRACK@50..51 "]"
- WHITESPACE@51..52 " "
- ATTR@52..56
- POUND@52..53 "#"
- L_BRACK@53..54 "["
- PATH@54..55
- PATH_SEGMENT@54..55
- NAME_REF@54..55
- IDENT@54..55 "D"
- R_BRACK@55..56 "]"
- WHITESPACE@56..57 " "
- BLOCK_EXPR@57..59
- BLOCK@57..59
- L_CURLY@57..58 "{"
- R_CURLY@58..59 "}"
- WHITESPACE@59..64 "\n "
- EXPR_STMT@64..79
- ATTR@64..68
- POUND@64..65 "#"
- L_BRACK@65..66 "["
- PATH@66..67
- PATH_SEGMENT@66..67
- NAME_REF@66..67
- IDENT@66..67 "D"
- R_BRACK@67..68 "]"
- WHITESPACE@68..69 " "
- RETURN_EXPR@69..78
- RETURN_KW@69..75 "return"
- WHITESPACE@75..76 " "
- TUPLE_EXPR@76..78
- L_PAREN@76..77 "("
- R_PAREN@77..78 ")"
- SEMICOLON@78..79 ";"
- WHITESPACE@79..80 "\n"
- R_CURLY@80..81 "}"
+ L_CURLY@9..10 "{"
+ WHITESPACE@10..15 "\n "
+ EXPR_STMT@15..26
+ ATTR@15..19
+ POUND@15..16 "#"
+ L_BRACK@16..17 "["
+ PATH@17..18
+ PATH_SEGMENT@17..18
+ NAME_REF@17..18
+ IDENT@17..18 "A"
+ R_BRACK@18..19 "]"
+ WHITESPACE@19..20 " "
+ CALL_EXPR@20..25
+ PATH_EXPR@20..23
+ PATH@20..23
+ PATH_SEGMENT@20..23
+ NAME_REF@20..23
+ IDENT@20..23 "foo"
+ ARG_LIST@23..25
+ L_PAREN@23..24 "("
+ R_PAREN@24..25 ")"
+ SEMICOLON@25..26 ";"
+ WHITESPACE@26..31 "\n "
+ EXPR_STMT@31..42
+ ATTR@31..35
+ POUND@31..32 "#"
+ L_BRACK@32..33 "["
+ PATH@33..34
+ PATH_SEGMENT@33..34
+ NAME_REF@33..34
+ IDENT@33..34 "B"
+ R_BRACK@34..35 "]"
+ WHITESPACE@35..36 " "
+ MACRO_CALL@36..42
+ PATH@36..39
+ PATH_SEGMENT@36..39
+ NAME_REF@36..39
+ IDENT@36..39 "bar"
+ BANG@39..40 "!"
+ TOKEN_TREE@40..42
+ L_CURLY@40..41 "{"
+ R_CURLY@41..42 "}"
+ WHITESPACE@42..47 "\n "
+ EXPR_STMT@47..59
+ ATTR@47..51
+ POUND@47..48 "#"
+ L_BRACK@48..49 "["
+ PATH@49..50
+ PATH_SEGMENT@49..50
+ NAME_REF@49..50
+ IDENT@49..50 "C"
+ R_BRACK@50..51 "]"
+ WHITESPACE@51..52 " "
+ ATTR@52..56
+ POUND@52..53 "#"
+ L_BRACK@53..54 "["
+ PATH@54..55
+ PATH_SEGMENT@54..55
+ NAME_REF@54..55
+ IDENT@54..55 "D"
+ R_BRACK@55..56 "]"
+ WHITESPACE@56..57 " "
+ BLOCK_EXPR@57..59
+ L_CURLY@57..58 "{"
+ R_CURLY@58..59 "}"
+ WHITESPACE@59..64 "\n "
+ EXPR_STMT@64..79
+ ATTR@64..68
+ POUND@64..65 "#"
+ L_BRACK@65..66 "["
+ PATH@66..67
+ PATH_SEGMENT@66..67
+ NAME_REF@66..67
+ IDENT@66..67 "D"
+ R_BRACK@67..68 "]"
+ WHITESPACE@68..69 " "
+ RETURN_EXPR@69..78
+ RETURN_KW@69..75 "return"
+ WHITESPACE@75..76 " "
+ TUPLE_EXPR@76..78
+ L_PAREN@76..77 "("
+ R_PAREN@77..78 ")"
+ SEMICOLON@78..79 ";"
+ WHITESPACE@79..80 "\n"
+ R_CURLY@80..81 "}"
WHITESPACE@81..82 "\n"
R_PAREN@7..8 ")"
WHITESPACE@8..9 " "
BLOCK_EXPR@9..46
- BLOCK@9..46
- L_CURLY@9..10 "{"
- WHITESPACE@10..15 "\n "
- EXPR_STMT@15..31
- BLOCK_EXPR@15..31
- BLOCK@15..31
- L_CURLY@15..16 "{"
- WHITESPACE@16..17 " "
- TRY_EXPR@17..29
- ATTR@17..21
- POUND@17..18 "#"
- L_BRACK@18..19 "["
- PATH@19..20
- PATH_SEGMENT@19..20
- NAME_REF@19..20
- IDENT@19..20 "A"
- R_BRACK@20..21 "]"
- WHITESPACE@21..22 " "
- MACRO_CALL@22..28
- PATH@22..25
- PATH_SEGMENT@22..25
- NAME_REF@22..25
- IDENT@22..25 "bar"
- BANG@25..26 "!"
- TOKEN_TREE@26..28
- L_PAREN@26..27 "("
- R_PAREN@27..28 ")"
- QUESTION@28..29 "?"
- WHITESPACE@29..30 " "
- R_CURLY@30..31 "}"
- WHITESPACE@31..36 "\n "
- REF_EXPR@36..44
- ATTR@36..40
- POUND@36..37 "#"
- L_BRACK@37..38 "["
- PATH@38..39
- PATH_SEGMENT@38..39
- NAME_REF@38..39
- IDENT@38..39 "B"
- R_BRACK@39..40 "]"
- WHITESPACE@40..41 " "
- AMP@41..42 "&"
- TUPLE_EXPR@42..44
- L_PAREN@42..43 "("
- R_PAREN@43..44 ")"
- WHITESPACE@44..45 "\n"
- R_CURLY@45..46 "}"
+ L_CURLY@9..10 "{"
+ WHITESPACE@10..15 "\n "
+ EXPR_STMT@15..31
+ BLOCK_EXPR@15..31
+ L_CURLY@15..16 "{"
+ WHITESPACE@16..17 " "
+ EFFECT_EXPR@17..29
+ ATTR@17..21
+ POUND@17..18 "#"
+ L_BRACK@18..19 "["
+ PATH@19..20
+ PATH_SEGMENT@19..20
+ NAME_REF@19..20
+ IDENT@19..20 "A"
+ R_BRACK@20..21 "]"
+ WHITESPACE@21..22 " "
+ MACRO_CALL@22..28
+ PATH@22..25
+ PATH_SEGMENT@22..25
+ NAME_REF@22..25
+ IDENT@22..25 "bar"
+ BANG@25..26 "!"
+ TOKEN_TREE@26..28
+ L_PAREN@26..27 "("
+ R_PAREN@27..28 ")"
+ QUESTION@28..29 "?"
+ WHITESPACE@29..30 " "
+ R_CURLY@30..31 "}"
+ WHITESPACE@31..36 "\n "
+ REF_EXPR@36..44
+ ATTR@36..40
+ POUND@36..37 "#"
+ L_BRACK@37..38 "["
+ PATH@38..39
+ PATH_SEGMENT@38..39
+ NAME_REF@38..39
+ IDENT@38..39 "B"
+ R_BRACK@39..40 "]"
+ WHITESPACE@40..41 " "
+ AMP@41..42 "&"
+ TUPLE_EXPR@42..44
+ L_PAREN@42..43 "("
+ R_PAREN@43..44 ")"
+ WHITESPACE@44..45 "\n"
+ R_CURLY@45..46 "}"
WHITESPACE@46..47 "\n"
R_PAREN@20..21 ")"
WHITESPACE@21..22 " "
BLOCK_EXPR@22..24
- BLOCK@22..24
- L_CURLY@22..23 "{"
- R_CURLY@23..24 "}"
+ L_CURLY@22..23 "{"
+ R_CURLY@23..24 "}"
WHITESPACE@24..25 "\n"
FN_DEF@25..49
CONST_KW@25..30 "const"
R_PAREN@45..46 ")"
WHITESPACE@46..47 " "
BLOCK_EXPR@47..49
- BLOCK@47..49
- L_CURLY@47..48 "{"
- R_CURLY@48..49 "}"
+ L_CURLY@47..48 "{"
+ R_CURLY@48..49 "}"
WHITESPACE@49..50 "\n"
R_PAREN@8..9 ")"
WHITESPACE@9..10 " "
BLOCK_EXPR@10..32
- BLOCK@10..32
- L_CURLY@10..11 "{"
- WHITESPACE@11..16 "\n "
- LET_STMT@16..30
- LET_KW@16..19 "let"
- WHITESPACE@19..20 " "
- MACRO_PAT@20..25
- MACRO_CALL@20..25
- PATH@20..21
- PATH_SEGMENT@20..21
- NAME_REF@20..21
- IDENT@20..21 "m"
- BANG@21..22 "!"
- TOKEN_TREE@22..25
- L_PAREN@22..23 "("
- IDENT@23..24 "x"
- R_PAREN@24..25 ")"
- WHITESPACE@25..26 " "
- EQ@26..27 "="
- WHITESPACE@27..28 " "
- LITERAL@28..29
- INT_NUMBER@28..29 "0"
- SEMICOLON@29..30 ";"
- WHITESPACE@30..31 "\n"
- R_CURLY@31..32 "}"
+ L_CURLY@10..11 "{"
+ WHITESPACE@11..16 "\n "
+ LET_STMT@16..30
+ LET_KW@16..19 "let"
+ WHITESPACE@19..20 " "
+ MACRO_PAT@20..25
+ MACRO_CALL@20..25
+ PATH@20..21
+ PATH_SEGMENT@20..21
+ NAME_REF@20..21
+ IDENT@20..21 "m"
+ BANG@21..22 "!"
+ TOKEN_TREE@22..25
+ L_PAREN@22..23 "("
+ IDENT@23..24 "x"
+ R_PAREN@24..25 ")"
+ WHITESPACE@25..26 " "
+ EQ@26..27 "="
+ WHITESPACE@27..28 " "
+ LITERAL@28..29
+ INT_NUMBER@28..29 "0"
+ SEMICOLON@29..30 ";"
+ WHITESPACE@30..31 "\n"
+ R_CURLY@31..32 "}"
WHITESPACE@32..33 "\n"
R_PAREN@7..8 ")"
WHITESPACE@8..9 " "
BLOCK_EXPR@9..134
- BLOCK@9..134
- L_CURLY@9..10 "{"
- WHITESPACE@10..15 "\n "
- LET_STMT@15..21
- LET_KW@15..18 "let"
- WHITESPACE@18..19 " "
- BIND_PAT@19..20
- NAME@19..20
- IDENT@19..20 "a"
- SEMICOLON@20..21 ";"
- WHITESPACE@21..26 "\n "
- LET_STMT@26..37
- LET_KW@26..29 "let"
- WHITESPACE@29..30 " "
- BIND_PAT@30..31
- NAME@30..31
- IDENT@30..31 "b"
- COLON@31..32 ":"
- WHITESPACE@32..33 " "
- PATH_TYPE@33..36
- PATH@33..36
- PATH_SEGMENT@33..36
- NAME_REF@33..36
- IDENT@33..36 "i32"
- SEMICOLON@36..37 ";"
- WHITESPACE@37..42 "\n "
- LET_STMT@42..53
- LET_KW@42..45 "let"
- WHITESPACE@45..46 " "
- BIND_PAT@46..47
- NAME@46..47
- IDENT@46..47 "c"
- WHITESPACE@47..48 " "
- EQ@48..49 "="
- WHITESPACE@49..50 " "
- LITERAL@50..52
- INT_NUMBER@50..52 "92"
- SEMICOLON@52..53 ";"
- WHITESPACE@53..58 "\n "
- LET_STMT@58..74
- LET_KW@58..61 "let"
- WHITESPACE@61..62 " "
- BIND_PAT@62..63
- NAME@62..63
- IDENT@62..63 "d"
- COLON@63..64 ":"
- WHITESPACE@64..65 " "
- PATH_TYPE@65..68
- PATH@65..68
- PATH_SEGMENT@65..68
- NAME_REF@65..68
- IDENT@65..68 "i32"
- WHITESPACE@68..69 " "
- EQ@69..70 "="
- WHITESPACE@70..71 " "
- LITERAL@71..73
- INT_NUMBER@71..73 "92"
- SEMICOLON@73..74 ";"
- WHITESPACE@74..79 "\n "
- LET_STMT@79..88
- LET_KW@79..82 "let"
- WHITESPACE@82..83 " "
- BIND_PAT@83..84
- NAME@83..84
- IDENT@83..84 "e"
- COLON@84..85 ":"
- WHITESPACE@85..86 " "
- NEVER_TYPE@86..87
- BANG@86..87 "!"
- SEMICOLON@87..88 ";"
- WHITESPACE@88..93 "\n "
- LET_STMT@93..107
- LET_KW@93..96 "let"
- WHITESPACE@96..97 " "
- PLACEHOLDER_PAT@97..98
- UNDERSCORE@97..98 "_"
- COLON@98..99 ":"
- WHITESPACE@99..100 " "
- NEVER_TYPE@100..101
- BANG@100..101 "!"
- WHITESPACE@101..102 " "
- EQ@102..103 "="
- WHITESPACE@103..104 " "
- BLOCK_EXPR@104..106
- BLOCK@104..106
- L_CURLY@104..105 "{"
- R_CURLY@105..106 "}"
- SEMICOLON@106..107 ";"
- WHITESPACE@107..112 "\n "
- LET_STMT@112..132
- LET_KW@112..115 "let"
- WHITESPACE@115..116 " "
- BIND_PAT@116..117
- NAME@116..117
- IDENT@116..117 "f"
- WHITESPACE@117..118 " "
- EQ@118..119 "="
- WHITESPACE@119..120 " "
- LAMBDA_EXPR@120..131
- ATTR@120..127
- POUND@120..121 "#"
- L_BRACK@121..122 "["
- PATH@122..126
- PATH_SEGMENT@122..126
- NAME_REF@122..126
- IDENT@122..126 "attr"
- R_BRACK@126..127 "]"
- PARAM_LIST@127..129
- PIPE@127..128 "|"
- PIPE@128..129 "|"
- BLOCK_EXPR@129..131
- BLOCK@129..131
- L_CURLY@129..130 "{"
- R_CURLY@130..131 "}"
- SEMICOLON@131..132 ";"
- WHITESPACE@132..133 "\n"
- R_CURLY@133..134 "}"
+ L_CURLY@9..10 "{"
+ WHITESPACE@10..15 "\n "
+ LET_STMT@15..21
+ LET_KW@15..18 "let"
+ WHITESPACE@18..19 " "
+ BIND_PAT@19..20
+ NAME@19..20
+ IDENT@19..20 "a"
+ SEMICOLON@20..21 ";"
+ WHITESPACE@21..26 "\n "
+ LET_STMT@26..37
+ LET_KW@26..29 "let"
+ WHITESPACE@29..30 " "
+ BIND_PAT@30..31
+ NAME@30..31
+ IDENT@30..31 "b"
+ COLON@31..32 ":"
+ WHITESPACE@32..33 " "
+ PATH_TYPE@33..36
+ PATH@33..36
+ PATH_SEGMENT@33..36
+ NAME_REF@33..36
+ IDENT@33..36 "i32"
+ SEMICOLON@36..37 ";"
+ WHITESPACE@37..42 "\n "
+ LET_STMT@42..53
+ LET_KW@42..45 "let"
+ WHITESPACE@45..46 " "
+ BIND_PAT@46..47
+ NAME@46..47
+ IDENT@46..47 "c"
+ WHITESPACE@47..48 " "
+ EQ@48..49 "="
+ WHITESPACE@49..50 " "
+ LITERAL@50..52
+ INT_NUMBER@50..52 "92"
+ SEMICOLON@52..53 ";"
+ WHITESPACE@53..58 "\n "
+ LET_STMT@58..74
+ LET_KW@58..61 "let"
+ WHITESPACE@61..62 " "
+ BIND_PAT@62..63
+ NAME@62..63
+ IDENT@62..63 "d"
+ COLON@63..64 ":"
+ WHITESPACE@64..65 " "
+ PATH_TYPE@65..68
+ PATH@65..68
+ PATH_SEGMENT@65..68
+ NAME_REF@65..68
+ IDENT@65..68 "i32"
+ WHITESPACE@68..69 " "
+ EQ@69..70 "="
+ WHITESPACE@70..71 " "
+ LITERAL@71..73
+ INT_NUMBER@71..73 "92"
+ SEMICOLON@73..74 ";"
+ WHITESPACE@74..79 "\n "
+ LET_STMT@79..88
+ LET_KW@79..82 "let"
+ WHITESPACE@82..83 " "
+ BIND_PAT@83..84
+ NAME@83..84
+ IDENT@83..84 "e"
+ COLON@84..85 ":"
+ WHITESPACE@85..86 " "
+ NEVER_TYPE@86..87
+ BANG@86..87 "!"
+ SEMICOLON@87..88 ";"
+ WHITESPACE@88..93 "\n "
+ LET_STMT@93..107
+ LET_KW@93..96 "let"
+ WHITESPACE@96..97 " "
+ PLACEHOLDER_PAT@97..98
+ UNDERSCORE@97..98 "_"
+ COLON@98..99 ":"
+ WHITESPACE@99..100 " "
+ NEVER_TYPE@100..101
+ BANG@100..101 "!"
+ WHITESPACE@101..102 " "
+ EQ@102..103 "="
+ WHITESPACE@103..104 " "
+ BLOCK_EXPR@104..106
+ L_CURLY@104..105 "{"
+ R_CURLY@105..106 "}"
+ SEMICOLON@106..107 ";"
+ WHITESPACE@107..112 "\n "
+ LET_STMT@112..132
+ LET_KW@112..115 "let"
+ WHITESPACE@115..116 " "
+ BIND_PAT@116..117
+ NAME@116..117
+ IDENT@116..117 "f"
+ WHITESPACE@117..118 " "
+ EQ@118..119 "="
+ WHITESPACE@119..120 " "
+ LAMBDA_EXPR@120..131
+ ATTR@120..127
+ POUND@120..121 "#"
+ L_BRACK@121..122 "["
+ PATH@122..126
+ PATH_SEGMENT@122..126
+ NAME_REF@122..126
+ IDENT@122..126 "attr"
+ R_BRACK@126..127 "]"
+ PARAM_LIST@127..129
+ PIPE@127..128 "|"
+ PIPE@128..129 "|"
+ BLOCK_EXPR@129..131
+ L_CURLY@129..130 "{"
+ R_CURLY@130..131 "}"
+ SEMICOLON@131..132 ";"
+ WHITESPACE@132..133 "\n"
+ R_CURLY@133..134 "}"
WHITESPACE@134..135 "\n"
R_PAREN@7..8 ")"
WHITESPACE@8..9 " "
BLOCK_EXPR@9..32
- BLOCK@9..32
- L_CURLY@9..10 "{"
- WHITESPACE@10..15 "\n "
- LET_STMT@15..30
- LET_KW@15..18 "let"
- WHITESPACE@18..19 " "
- PLACEHOLDER_PAT@19..20
- UNDERSCORE@19..20 "_"
- WHITESPACE@20..21 " "
- EQ@21..22 "="
- WHITESPACE@22..23 " "
- TRY_EXPR@23..29
- TRY_KW@23..26 "try"
- WHITESPACE@26..27 " "
- BLOCK_EXPR@27..29
- BLOCK@27..29
- L_CURLY@27..28 "{"
- R_CURLY@28..29 "}"
- SEMICOLON@29..30 ";"
- WHITESPACE@30..31 "\n"
- R_CURLY@31..32 "}"
+ L_CURLY@9..10 "{"
+ WHITESPACE@10..15 "\n "
+ LET_STMT@15..30
+ LET_KW@15..18 "let"
+ WHITESPACE@18..19 " "
+ PLACEHOLDER_PAT@19..20
+ UNDERSCORE@19..20 "_"
+ WHITESPACE@20..21 " "
+ EQ@21..22 "="
+ WHITESPACE@22..23 " "
+ EFFECT_EXPR@23..29
+ TRY_KW@23..26 "try"
+ WHITESPACE@26..27 " "
+ BLOCK_EXPR@27..29
+ L_CURLY@27..28 "{"
+ R_CURLY@28..29 "}"
+ SEMICOLON@29..30 ";"
+ WHITESPACE@30..31 "\n"
+ R_CURLY@31..32 "}"
WHITESPACE@32..33 "\n"
R_PAREN@7..8 ")"
WHITESPACE@8..9 " "
BLOCK_EXPR@9..105
- BLOCK@9..105
- L_CURLY@9..10 "{"
- WHITESPACE@10..15 "\n "
- LET_STMT@15..32
- LET_KW@15..18 "let"
- WHITESPACE@18..19 " "
- BIND_PAT@19..20
- NAME@19..20
- IDENT@19..20 "x"
- WHITESPACE@20..21 " "
- EQ@21..22 "="
- WHITESPACE@22..23 " "
- BOX_EXPR@23..31
- BOX_KW@23..26 "box"
- WHITESPACE@26..27 " "
- LITERAL@27..31
- INT_NUMBER@27..31 "1i32"
- SEMICOLON@31..32 ";"
- WHITESPACE@32..37 "\n "
- LET_STMT@37..66
- LET_KW@37..40 "let"
- WHITESPACE@40..41 " "
- BIND_PAT@41..42
- NAME@41..42
- IDENT@41..42 "y"
- WHITESPACE@42..43 " "
- EQ@43..44 "="
- WHITESPACE@44..45 " "
- TUPLE_EXPR@45..65
- L_PAREN@45..46 "("
- BOX_EXPR@46..54
- BOX_KW@46..49 "box"
- WHITESPACE@49..50 " "
- LITERAL@50..54
- INT_NUMBER@50..54 "1i32"
- COMMA@54..55 ","
- WHITESPACE@55..56 " "
- BOX_EXPR@56..64
- BOX_KW@56..59 "box"
- WHITESPACE@59..60 " "
- LITERAL@60..64
- INT_NUMBER@60..64 "2i32"
- R_PAREN@64..65 ")"
- SEMICOLON@65..66 ";"
- WHITESPACE@66..71 "\n "
- LET_STMT@71..103
- LET_KW@71..74 "let"
- WHITESPACE@74..75 " "
- BIND_PAT@75..76
- NAME@75..76
- IDENT@75..76 "z"
- WHITESPACE@76..77 " "
- EQ@77..78 "="
- WHITESPACE@78..79 " "
- CALL_EXPR@79..102
- PATH_EXPR@79..82
- PATH@79..82
- PATH_SEGMENT@79..82
- NAME_REF@79..82
- IDENT@79..82 "Foo"
- ARG_LIST@82..102
- L_PAREN@82..83 "("
- BOX_EXPR@83..91
- BOX_KW@83..86 "box"
- WHITESPACE@86..87 " "
- LITERAL@87..91
- INT_NUMBER@87..91 "1i32"
- COMMA@91..92 ","
- WHITESPACE@92..93 " "
- BOX_EXPR@93..101
- BOX_KW@93..96 "box"
- WHITESPACE@96..97 " "
- LITERAL@97..101
- INT_NUMBER@97..101 "2i32"
- R_PAREN@101..102 ")"
- SEMICOLON@102..103 ";"
- WHITESPACE@103..104 "\n"
- R_CURLY@104..105 "}"
+ L_CURLY@9..10 "{"
+ WHITESPACE@10..15 "\n "
+ LET_STMT@15..32
+ LET_KW@15..18 "let"
+ WHITESPACE@18..19 " "
+ BIND_PAT@19..20
+ NAME@19..20
+ IDENT@19..20 "x"
+ WHITESPACE@20..21 " "
+ EQ@21..22 "="
+ WHITESPACE@22..23 " "
+ BOX_EXPR@23..31
+ BOX_KW@23..26 "box"
+ WHITESPACE@26..27 " "
+ LITERAL@27..31
+ INT_NUMBER@27..31 "1i32"
+ SEMICOLON@31..32 ";"
+ WHITESPACE@32..37 "\n "
+ LET_STMT@37..66
+ LET_KW@37..40 "let"
+ WHITESPACE@40..41 " "
+ BIND_PAT@41..42
+ NAME@41..42
+ IDENT@41..42 "y"
+ WHITESPACE@42..43 " "
+ EQ@43..44 "="
+ WHITESPACE@44..45 " "
+ TUPLE_EXPR@45..65
+ L_PAREN@45..46 "("
+ BOX_EXPR@46..54
+ BOX_KW@46..49 "box"
+ WHITESPACE@49..50 " "
+ LITERAL@50..54
+ INT_NUMBER@50..54 "1i32"
+ COMMA@54..55 ","
+ WHITESPACE@55..56 " "
+ BOX_EXPR@56..64
+ BOX_KW@56..59 "box"
+ WHITESPACE@59..60 " "
+ LITERAL@60..64
+ INT_NUMBER@60..64 "2i32"
+ R_PAREN@64..65 ")"
+ SEMICOLON@65..66 ";"
+ WHITESPACE@66..71 "\n "
+ LET_STMT@71..103
+ LET_KW@71..74 "let"
+ WHITESPACE@74..75 " "
+ BIND_PAT@75..76
+ NAME@75..76
+ IDENT@75..76 "z"
+ WHITESPACE@76..77 " "
+ EQ@77..78 "="
+ WHITESPACE@78..79 " "
+ CALL_EXPR@79..102
+ PATH_EXPR@79..82
+ PATH@79..82
+ PATH_SEGMENT@79..82
+ NAME_REF@79..82
+ IDENT@79..82 "Foo"
+ ARG_LIST@82..102
+ L_PAREN@82..83 "("
+ BOX_EXPR@83..91
+ BOX_KW@83..86 "box"
+ WHITESPACE@86..87 " "
+ LITERAL@87..91
+ INT_NUMBER@87..91 "1i32"
+ COMMA@91..92 ","
+ WHITESPACE@92..93 " "
+ BOX_EXPR@93..101
+ BOX_KW@93..96 "box"
+ WHITESPACE@96..97 " "
+ LITERAL@97..101
+ INT_NUMBER@97..101 "2i32"
+ R_PAREN@101..102 ")"
+ SEMICOLON@102..103 ";"
+ WHITESPACE@103..104 "\n"
+ R_CURLY@104..105 "}"
WHITESPACE@105..106 "\n"
R_PAREN@62..63 ")"
WHITESPACE@63..64 " "
BLOCK_EXPR@64..66
- BLOCK@64..66
- L_CURLY@64..65 "{"
- R_CURLY@65..66 "}"
+ L_CURLY@64..65 "{"
+ R_CURLY@65..66 "}"
WHITESPACE@66..67 "\n"
R_CURLY@67..68 "}"
WHITESPACE@68..69 "\n"
R_PAREN@19..20 ")"
WHITESPACE@20..21 " "
BLOCK_EXPR@21..110
- BLOCK@21..110
- L_CURLY@21..22 "{"
- WHITESPACE@22..27 "\n "
- ENUM_DEF@27..75
- ENUM_KW@27..31 "enum"
- WHITESPACE@31..32 " "
- NAME@32..41
- IDENT@32..41 "LocalEnum"
- WHITESPACE@41..42 " "
- ENUM_VARIANT_LIST@42..75
- L_CURLY@42..43 "{"
- WHITESPACE@43..52 "\n "
- ENUM_VARIANT@52..55
- NAME@52..55
- IDENT@52..55 "One"
- COMMA@55..56 ","
- WHITESPACE@56..65 "\n "
- ENUM_VARIANT@65..68
- NAME@65..68
- IDENT@65..68 "Two"
- COMMA@68..69 ","
- WHITESPACE@69..74 "\n "
- R_CURLY@74..75 "}"
- SEMICOLON@75..76 ";"
- WHITESPACE@76..81 "\n "
- FN_DEF@81..90
- FN_KW@81..83 "fn"
- WHITESPACE@83..84 " "
- NAME@84..85
- IDENT@84..85 "f"
- PARAM_LIST@85..87
- L_PAREN@85..86 "("
- R_PAREN@86..87 ")"
- WHITESPACE@87..88 " "
- BLOCK_EXPR@88..90
- BLOCK@88..90
- L_CURLY@88..89 "{"
- R_CURLY@89..90 "}"
- SEMICOLON@90..91 ";"
- WHITESPACE@91..96 "\n "
- STRUCT_DEF@96..107
- STRUCT_KW@96..102 "struct"
- WHITESPACE@102..103 " "
- NAME@103..104
- IDENT@103..104 "S"
- WHITESPACE@104..105 " "
- RECORD_FIELD_DEF_LIST@105..107
- L_CURLY@105..106 "{"
- R_CURLY@106..107 "}"
- SEMICOLON@107..108 ";"
- WHITESPACE@108..109 "\n"
- R_CURLY@109..110 "}"
+ L_CURLY@21..22 "{"
+ WHITESPACE@22..27 "\n "
+ ENUM_DEF@27..75
+ ENUM_KW@27..31 "enum"
+ WHITESPACE@31..32 " "
+ NAME@32..41
+ IDENT@32..41 "LocalEnum"
+ WHITESPACE@41..42 " "
+ ENUM_VARIANT_LIST@42..75
+ L_CURLY@42..43 "{"
+ WHITESPACE@43..52 "\n "
+ ENUM_VARIANT@52..55
+ NAME@52..55
+ IDENT@52..55 "One"
+ COMMA@55..56 ","
+ WHITESPACE@56..65 "\n "
+ ENUM_VARIANT@65..68
+ NAME@65..68
+ IDENT@65..68 "Two"
+ COMMA@68..69 ","
+ WHITESPACE@69..74 "\n "
+ R_CURLY@74..75 "}"
+ SEMICOLON@75..76 ";"
+ WHITESPACE@76..81 "\n "
+ FN_DEF@81..90
+ FN_KW@81..83 "fn"
+ WHITESPACE@83..84 " "
+ NAME@84..85
+ IDENT@84..85 "f"
+ PARAM_LIST@85..87
+ L_PAREN@85..86 "("
+ R_PAREN@86..87 ")"
+ WHITESPACE@87..88 " "
+ BLOCK_EXPR@88..90
+ L_CURLY@88..89 "{"
+ R_CURLY@89..90 "}"
+ SEMICOLON@90..91 ";"
+ WHITESPACE@91..96 "\n "
+ STRUCT_DEF@96..107
+ STRUCT_KW@96..102 "struct"
+ WHITESPACE@102..103 " "
+ NAME@103..104
+ IDENT@103..104 "S"
+ WHITESPACE@104..105 " "
+ RECORD_FIELD_DEF_LIST@105..107
+ L_CURLY@105..106 "{"
+ R_CURLY@106..107 "}"
+ SEMICOLON@107..108 ";"
+ WHITESPACE@108..109 "\n"
+ R_CURLY@109..110 "}"
WHITESPACE@110..111 "\n"
R_PAREN@7..8 ")"
WHITESPACE@8..9 " "
BLOCK_EXPR@9..66
- BLOCK@9..66
- L_CURLY@9..10 "{"
- WHITESPACE@10..15 "\n "
- EXPR_STMT@15..23
- AWAIT_EXPR@15..22
- PATH_EXPR@15..16
- PATH@15..16
- PATH_SEGMENT@15..16
- NAME_REF@15..16
- IDENT@15..16 "x"
- DOT@16..17 "."
- AWAIT_KW@17..22 "await"
- SEMICOLON@22..23 ";"
- WHITESPACE@23..28 "\n "
- EXPR_STMT@28..38
- AWAIT_EXPR@28..37
- FIELD_EXPR@28..31
- PATH_EXPR@28..29
- PATH@28..29
- PATH_SEGMENT@28..29
- NAME_REF@28..29
- IDENT@28..29 "x"
- DOT@29..30 "."
- NAME_REF@30..31
- INT_NUMBER@30..31 "0"
- DOT@31..32 "."
- AWAIT_KW@32..37 "await"
- SEMICOLON@37..38 ";"
- WHITESPACE@38..43 "\n "
- EXPR_STMT@43..64
- METHOD_CALL_EXPR@43..63
- TRY_EXPR@43..55
- AWAIT_EXPR@43..54
- CALL_EXPR@43..48
- FIELD_EXPR@43..46
- PATH_EXPR@43..44
- PATH@43..44
- PATH_SEGMENT@43..44
- NAME_REF@43..44
- IDENT@43..44 "x"
- DOT@44..45 "."
- NAME_REF@45..46
- INT_NUMBER@45..46 "0"
- ARG_LIST@46..48
- L_PAREN@46..47 "("
- R_PAREN@47..48 ")"
- DOT@48..49 "."
- AWAIT_KW@49..54 "await"
- QUESTION@54..55 "?"
- DOT@55..56 "."
- NAME_REF@56..61
- IDENT@56..61 "hello"
- ARG_LIST@61..63
- L_PAREN@61..62 "("
- R_PAREN@62..63 ")"
- SEMICOLON@63..64 ";"
- WHITESPACE@64..65 "\n"
- R_CURLY@65..66 "}"
+ L_CURLY@9..10 "{"
+ WHITESPACE@10..15 "\n "
+ EXPR_STMT@15..23
+ AWAIT_EXPR@15..22
+ PATH_EXPR@15..16
+ PATH@15..16
+ PATH_SEGMENT@15..16
+ NAME_REF@15..16
+ IDENT@15..16 "x"
+ DOT@16..17 "."
+ AWAIT_KW@17..22 "await"
+ SEMICOLON@22..23 ";"
+ WHITESPACE@23..28 "\n "
+ EXPR_STMT@28..38
+ AWAIT_EXPR@28..37
+ FIELD_EXPR@28..31
+ PATH_EXPR@28..29
+ PATH@28..29
+ PATH_SEGMENT@28..29
+ NAME_REF@28..29
+ IDENT@28..29 "x"
+ DOT@29..30 "."
+ NAME_REF@30..31
+ INT_NUMBER@30..31 "0"
+ DOT@31..32 "."
+ AWAIT_KW@32..37 "await"
+ SEMICOLON@37..38 ";"
+ WHITESPACE@38..43 "\n "
+ EXPR_STMT@43..64
+ METHOD_CALL_EXPR@43..63
+ EFFECT_EXPR@43..55
+ AWAIT_EXPR@43..54
+ CALL_EXPR@43..48
+ FIELD_EXPR@43..46
+ PATH_EXPR@43..44
+ PATH@43..44
+ PATH_SEGMENT@43..44
+ NAME_REF@43..44
+ IDENT@43..44 "x"
+ DOT@44..45 "."
+ NAME_REF@45..46
+ INT_NUMBER@45..46 "0"
+ ARG_LIST@46..48
+ L_PAREN@46..47 "("
+ R_PAREN@47..48 ")"
+ DOT@48..49 "."
+ AWAIT_KW@49..54 "await"
+ QUESTION@54..55 "?"
+ DOT@55..56 "."
+ NAME_REF@56..61
+ IDENT@56..61 "hello"
+ ARG_LIST@61..63
+ L_PAREN@61..62 "("
+ R_PAREN@62..63 ")"
+ SEMICOLON@63..64 ";"
+ WHITESPACE@64..65 "\n"
+ R_CURLY@65..66 "}"
WHITESPACE@66..67 "\n"
R_PAREN@54..55 ")"
WHITESPACE@55..56 " "
BLOCK_EXPR@56..58
- BLOCK@56..58
- L_CURLY@56..57 "{"
- R_CURLY@57..58 "}"
+ L_CURLY@56..57 "{"
+ R_CURLY@57..58 "}"
WHITESPACE@58..59 "\n"
R_PAREN@7..8 ")"
WHITESPACE@8..9 " "
BLOCK_EXPR@9..51
- BLOCK@9..51
- L_CURLY@9..10 "{"
- WHITESPACE@10..14 "\n "
- LET_STMT@14..34
- LET_KW@14..17 "let"
- WHITESPACE@17..18 " "
- BIND_PAT@18..23
- MUT_KW@18..21 "mut"
- WHITESPACE@21..22 " "
- NAME@22..23
- IDENT@22..23 "p"
- WHITESPACE@23..24 " "
- EQ@24..25 "="
- WHITESPACE@25..26 " "
- RECORD_LIT@26..33
- PATH@26..27
- PATH_SEGMENT@26..27
- NAME_REF@26..27
- IDENT@26..27 "F"
- RECORD_FIELD_LIST@27..33
- L_CURLY@27..28 "{"
- RECORD_FIELD@28..32
- NAME_REF@28..29
- IDENT@28..29 "x"
- COLON@29..30 ":"
- WHITESPACE@30..31 " "
- LITERAL@31..32
- INT_NUMBER@31..32 "5"
- R_CURLY@32..33 "}"
- SEMICOLON@33..34 ";"
- WHITESPACE@34..38 "\n "
- EXPR_STMT@38..49
- BIN_EXPR@38..48
- FIELD_EXPR@38..43
- BLOCK_EXPR@38..41
- BLOCK@38..41
- L_CURLY@38..39 "{"
- PATH_EXPR@39..40
- PATH@39..40
- PATH_SEGMENT@39..40
- NAME_REF@39..40
- IDENT@39..40 "p"
- R_CURLY@40..41 "}"
- DOT@41..42 "."
- NAME_REF@42..43
- IDENT@42..43 "x"
- WHITESPACE@43..44 " "
- EQ@44..45 "="
- WHITESPACE@45..46 " "
- LITERAL@46..48
- INT_NUMBER@46..48 "10"
- SEMICOLON@48..49 ";"
- WHITESPACE@49..50 "\n"
- R_CURLY@50..51 "}"
+ L_CURLY@9..10 "{"
+ WHITESPACE@10..14 "\n "
+ LET_STMT@14..34
+ LET_KW@14..17 "let"
+ WHITESPACE@17..18 " "
+ BIND_PAT@18..23
+ MUT_KW@18..21 "mut"
+ WHITESPACE@21..22 " "
+ NAME@22..23
+ IDENT@22..23 "p"
+ WHITESPACE@23..24 " "
+ EQ@24..25 "="
+ WHITESPACE@25..26 " "
+ RECORD_LIT@26..33
+ PATH@26..27
+ PATH_SEGMENT@26..27
+ NAME_REF@26..27
+ IDENT@26..27 "F"
+ RECORD_FIELD_LIST@27..33
+ L_CURLY@27..28 "{"
+ RECORD_FIELD@28..32
+ NAME_REF@28..29
+ IDENT@28..29 "x"
+ COLON@29..30 ":"
+ WHITESPACE@30..31 " "
+ LITERAL@31..32
+ INT_NUMBER@31..32 "5"
+ R_CURLY@32..33 "}"
+ SEMICOLON@33..34 ";"
+ WHITESPACE@34..38 "\n "
+ EXPR_STMT@38..49
+ BIN_EXPR@38..48
+ FIELD_EXPR@38..43
+ BLOCK_EXPR@38..41
+ L_CURLY@38..39 "{"
+ PATH_EXPR@39..40
+ PATH@39..40
+ PATH_SEGMENT@39..40
+ NAME_REF@39..40
+ IDENT@39..40 "p"
+ R_CURLY@40..41 "}"
+ DOT@41..42 "."
+ NAME_REF@42..43
+ IDENT@42..43 "x"
+ WHITESPACE@43..44 " "
+ EQ@44..45 "="
+ WHITESPACE@45..46 " "
+ LITERAL@46..48
+ INT_NUMBER@46..48 "10"
+ SEMICOLON@48..49 ";"
+ WHITESPACE@49..50 "\n"
+ R_CURLY@50..51 "}"
WHITESPACE@51..52 "\n"
R_PAREN@21..22 ")"
WHITESPACE@22..23 " "
BLOCK_EXPR@23..25
- BLOCK@23..25
- L_CURLY@23..24 "{"
- R_CURLY@24..25 "}"
+ L_CURLY@23..24 "{"
+ R_CURLY@24..25 "}"
WHITESPACE@25..26 "\n"
R_PAREN@23..24 ")"
WHITESPACE@24..25 " "
BLOCK_EXPR@25..27
- BLOCK@25..27
- L_CURLY@25..26 "{"
- R_CURLY@26..27 "}"
+ L_CURLY@25..26 "{"
+ R_CURLY@26..27 "}"
WHITESPACE@27..28 "\n"
R_PAREN@7..8 ")"
WHITESPACE@8..9 " "
BLOCK_EXPR@9..50
- BLOCK@9..50
- L_CURLY@9..10 "{"
- WHITESPACE@10..14 "\n "
- FOR_EXPR@14..48
- FOR_KW@14..17 "for"
- WHITESPACE@17..18 " "
- BIND_PAT@18..19
- NAME@18..19
- IDENT@18..19 "x"
- WHITESPACE@19..20 " "
- IN_KW@20..22 "in"
- WHITESPACE@22..23 " "
- RANGE_EXPR@23..27
- LITERAL@23..24
- INT_NUMBER@23..24 "0"
- WHITESPACE@24..25 " "
- DOT2@25..27 ".."
- WHITESPACE@27..28 " "
- BLOCK_EXPR@28..48
- BLOCK@28..48
- L_CURLY@28..29 "{"
- WHITESPACE@29..37 "\n "
- EXPR_STMT@37..43
- BREAK_EXPR@37..42
- BREAK_KW@37..42 "break"
- SEMICOLON@42..43 ";"
- WHITESPACE@43..47 "\n "
- R_CURLY@47..48 "}"
- WHITESPACE@48..49 "\n"
- R_CURLY@49..50 "}"
+ L_CURLY@9..10 "{"
+ WHITESPACE@10..14 "\n "
+ FOR_EXPR@14..48
+ FOR_KW@14..17 "for"
+ WHITESPACE@17..18 " "
+ BIND_PAT@18..19
+ NAME@18..19
+ IDENT@18..19 "x"
+ WHITESPACE@19..20 " "
+ IN_KW@20..22 "in"
+ WHITESPACE@22..23 " "
+ RANGE_EXPR@23..27
+ LITERAL@23..24
+ INT_NUMBER@23..24 "0"
+ WHITESPACE@24..25 " "
+ DOT2@25..27 ".."
+ WHITESPACE@27..28 " "
+ BLOCK_EXPR@28..48
+ L_CURLY@28..29 "{"
+ WHITESPACE@29..37 "\n "
+ EXPR_STMT@37..43
+ BREAK_EXPR@37..42
+ BREAK_KW@37..42 "break"
+ SEMICOLON@42..43 ";"
+ WHITESPACE@43..47 "\n "
+ R_CURLY@47..48 "}"
+ WHITESPACE@48..49 "\n"
+ R_CURLY@49..50 "}"
WHITESPACE@50..51 "\n"
R_PAREN@8..9 ")"
WHITESPACE@9..10 " "
BLOCK_EXPR@10..117
- BLOCK@10..117
- L_CURLY@10..11 "{"
- WHITESPACE@11..16 "\n "
- LET_STMT@16..31
- LET_KW@16..19 "let"
- WHITESPACE@19..20 " "
- BOX_PAT@20..25
- BOX_KW@20..23 "box"
- WHITESPACE@23..24 " "
- BIND_PAT@24..25
- NAME@24..25
- IDENT@24..25 "i"
- WHITESPACE@25..26 " "
- EQ@26..27 "="
- WHITESPACE@27..28 " "
- TUPLE_EXPR@28..30
- L_PAREN@28..29 "("
- R_PAREN@29..30 ")"
- SEMICOLON@30..31 ";"
- WHITESPACE@31..36 "\n "
- LET_STMT@36..87
- LET_KW@36..39 "let"
- WHITESPACE@39..40 " "
- BOX_PAT@40..81
- BOX_KW@40..43 "box"
- WHITESPACE@43..44 " "
- RECORD_PAT@44..81
- PATH@44..49
- PATH_SEGMENT@44..49
- NAME_REF@44..49
- IDENT@44..49 "Outer"
- WHITESPACE@49..50 " "
- RECORD_FIELD_PAT_LIST@50..81
- L_CURLY@50..51 "{"
- WHITESPACE@51..52 " "
- RECORD_FIELD_PAT@52..57
- BOX_PAT@52..57
- BOX_KW@52..55 "box"
- WHITESPACE@55..56 " "
- BIND_PAT@56..57
- NAME@56..57
- IDENT@56..57 "i"
- COMMA@57..58 ","
- WHITESPACE@58..59 " "
- RECORD_FIELD_PAT@59..79
- NAME_REF@59..60
- IDENT@59..60 "j"
- COLON@60..61 ":"
- WHITESPACE@61..62 " "
- BOX_PAT@62..79
- BOX_KW@62..65 "box"
- WHITESPACE@65..66 " "
- TUPLE_STRUCT_PAT@66..79
- PATH@66..71
- PATH_SEGMENT@66..71
- NAME_REF@66..71
- IDENT@66..71 "Inner"
- L_PAREN@71..72 "("
- BOX_PAT@72..78
- BOX_KW@72..75 "box"
- WHITESPACE@75..76 " "
- REF_PAT@76..78
- AMP@76..77 "&"
- BIND_PAT@77..78
- NAME@77..78
- IDENT@77..78 "x"
- R_PAREN@78..79 ")"
- WHITESPACE@79..80 " "
- R_CURLY@80..81 "}"
- WHITESPACE@81..82 " "
- EQ@82..83 "="
- WHITESPACE@83..84 " "
- TUPLE_EXPR@84..86
- L_PAREN@84..85 "("
- R_PAREN@85..86 ")"
- SEMICOLON@86..87 ";"
- WHITESPACE@87..92 "\n "
- LET_STMT@92..115
- LET_KW@92..95 "let"
- WHITESPACE@95..96 " "
- BOX_PAT@96..109
- BOX_KW@96..99 "box"
- WHITESPACE@99..100 " "
- BIND_PAT@100..109
- REF_KW@100..103 "ref"
- WHITESPACE@103..104 " "
- MUT_KW@104..107 "mut"
- WHITESPACE@107..108 " "
- NAME@108..109
- IDENT@108..109 "i"
- WHITESPACE@109..110 " "
- EQ@110..111 "="
- WHITESPACE@111..112 " "
- TUPLE_EXPR@112..114
- L_PAREN@112..113 "("
- R_PAREN@113..114 ")"
- SEMICOLON@114..115 ";"
- WHITESPACE@115..116 "\n"
- R_CURLY@116..117 "}"
+ L_CURLY@10..11 "{"
+ WHITESPACE@11..16 "\n "
+ LET_STMT@16..31
+ LET_KW@16..19 "let"
+ WHITESPACE@19..20 " "
+ BOX_PAT@20..25
+ BOX_KW@20..23 "box"
+ WHITESPACE@23..24 " "
+ BIND_PAT@24..25
+ NAME@24..25
+ IDENT@24..25 "i"
+ WHITESPACE@25..26 " "
+ EQ@26..27 "="
+ WHITESPACE@27..28 " "
+ TUPLE_EXPR@28..30
+ L_PAREN@28..29 "("
+ R_PAREN@29..30 ")"
+ SEMICOLON@30..31 ";"
+ WHITESPACE@31..36 "\n "
+ LET_STMT@36..87
+ LET_KW@36..39 "let"
+ WHITESPACE@39..40 " "
+ BOX_PAT@40..81
+ BOX_KW@40..43 "box"
+ WHITESPACE@43..44 " "
+ RECORD_PAT@44..81
+ PATH@44..49
+ PATH_SEGMENT@44..49
+ NAME_REF@44..49
+ IDENT@44..49 "Outer"
+ WHITESPACE@49..50 " "
+ RECORD_FIELD_PAT_LIST@50..81
+ L_CURLY@50..51 "{"
+ WHITESPACE@51..52 " "
+ RECORD_FIELD_PAT@52..57
+ BOX_PAT@52..57
+ BOX_KW@52..55 "box"
+ WHITESPACE@55..56 " "
+ BIND_PAT@56..57
+ NAME@56..57
+ IDENT@56..57 "i"
+ COMMA@57..58 ","
+ WHITESPACE@58..59 " "
+ RECORD_FIELD_PAT@59..79
+ NAME_REF@59..60
+ IDENT@59..60 "j"
+ COLON@60..61 ":"
+ WHITESPACE@61..62 " "
+ BOX_PAT@62..79
+ BOX_KW@62..65 "box"
+ WHITESPACE@65..66 " "
+ TUPLE_STRUCT_PAT@66..79
+ PATH@66..71
+ PATH_SEGMENT@66..71
+ NAME_REF@66..71
+ IDENT@66..71 "Inner"
+ L_PAREN@71..72 "("
+ BOX_PAT@72..78
+ BOX_KW@72..75 "box"
+ WHITESPACE@75..76 " "
+ REF_PAT@76..78
+ AMP@76..77 "&"
+ BIND_PAT@77..78
+ NAME@77..78
+ IDENT@77..78 "x"
+ R_PAREN@78..79 ")"
+ WHITESPACE@79..80 " "
+ R_CURLY@80..81 "}"
+ WHITESPACE@81..82 " "
+ EQ@82..83 "="
+ WHITESPACE@83..84 " "
+ TUPLE_EXPR@84..86
+ L_PAREN@84..85 "("
+ R_PAREN@85..86 ")"
+ SEMICOLON@86..87 ";"
+ WHITESPACE@87..92 "\n "
+ LET_STMT@92..115
+ LET_KW@92..95 "let"
+ WHITESPACE@95..96 " "
+ BOX_PAT@96..109
+ BOX_KW@96..99 "box"
+ WHITESPACE@99..100 " "
+ BIND_PAT@100..109
+ REF_KW@100..103 "ref"
+ WHITESPACE@103..104 " "
+ MUT_KW@104..107 "mut"
+ WHITESPACE@107..108 " "
+ NAME@108..109
+ IDENT@108..109 "i"
+ WHITESPACE@109..110 " "
+ EQ@110..111 "="
+ WHITESPACE@111..112 " "
+ TUPLE_EXPR@112..114
+ L_PAREN@112..113 "("
+ R_PAREN@113..114 ")"
+ SEMICOLON@114..115 ";"
+ WHITESPACE@115..116 "\n"
+ R_CURLY@116..117 "}"
WHITESPACE@117..118 "\n"
R_PAREN@8..9 ")"
WHITESPACE@9..10 " "
BLOCK_EXPR@10..554
- BLOCK@10..554
- L_CURLY@10..11 "{"
- WHITESPACE@11..16 "\n "
- LET_STMT@16..28
- LET_KW@16..19 "let"
- WHITESPACE@19..20 " "
- DOT_DOT_PAT@20..22
- DOT2@20..22 ".."
- WHITESPACE@22..23 " "
- EQ@23..24 "="
- WHITESPACE@24..25 " "
- TUPLE_EXPR@25..27
- L_PAREN@25..26 "("
- R_PAREN@26..27 ")"
- SEMICOLON@27..28 ";"
- WHITESPACE@28..33 "\n "
- COMMENT@33..35 "//"
- WHITESPACE@35..40 "\n "
- COMMENT@40..49 "// Tuples"
- WHITESPACE@49..54 "\n "
- COMMENT@54..56 "//"
- WHITESPACE@56..61 "\n "
- LET_STMT@61..78
- LET_KW@61..64 "let"
- WHITESPACE@64..65 " "
- TUPLE_PAT@65..72
- L_PAREN@65..66 "("
- BIND_PAT@66..67
- NAME@66..67
- IDENT@66..67 "a"
- COMMA@67..68 ","
- WHITESPACE@68..69 " "
- DOT_DOT_PAT@69..71
- DOT2@69..71 ".."
- R_PAREN@71..72 ")"
- WHITESPACE@72..73 " "
- EQ@73..74 "="
- WHITESPACE@74..75 " "
- TUPLE_EXPR@75..77
- L_PAREN@75..76 "("
- R_PAREN@76..77 ")"
- SEMICOLON@77..78 ";"
- WHITESPACE@78..83 "\n "
- LET_STMT@83..101
- LET_KW@83..86 "let"
- WHITESPACE@86..87 " "
- TUPLE_PAT@87..95
- L_PAREN@87..88 "("
- BIND_PAT@88..89
- NAME@88..89
- IDENT@88..89 "a"
- COMMA@89..90 ","
- WHITESPACE@90..91 " "
- DOT_DOT_PAT@91..93
- DOT2@91..93 ".."
- COMMA@93..94 ","
- R_PAREN@94..95 ")"
- WHITESPACE@95..96 " "
- EQ@96..97 "="
- WHITESPACE@97..98 " "
- TUPLE_EXPR@98..100
- L_PAREN@98..99 "("
- R_PAREN@99..100 ")"
- SEMICOLON@100..101 ";"
- WHITESPACE@101..106 "\n "
- LET_STMT@106..128
- LET_KW@106..109 "let"
- WHITESPACE@109..110 " "
- TUPLE_STRUCT_PAT@110..122
- PATH@110..115
- PATH_SEGMENT@110..115
- NAME_REF@110..115
- IDENT@110..115 "Tuple"
- L_PAREN@115..116 "("
- BIND_PAT@116..117
- NAME@116..117
- IDENT@116..117 "a"
- COMMA@117..118 ","
- WHITESPACE@118..119 " "
- DOT_DOT_PAT@119..121
- DOT2@119..121 ".."
- R_PAREN@121..122 ")"
- WHITESPACE@122..123 " "
- EQ@123..124 "="
- WHITESPACE@124..125 " "
- TUPLE_EXPR@125..127
- L_PAREN@125..126 "("
- R_PAREN@126..127 ")"
- SEMICOLON@127..128 ";"
- WHITESPACE@128..133 "\n "
- LET_STMT@133..156
- LET_KW@133..136 "let"
- WHITESPACE@136..137 " "
- TUPLE_STRUCT_PAT@137..150
- PATH@137..142
- PATH_SEGMENT@137..142
- NAME_REF@137..142
- IDENT@137..142 "Tuple"
- L_PAREN@142..143 "("
- BIND_PAT@143..144
- NAME@143..144
- IDENT@143..144 "a"
- COMMA@144..145 ","
- WHITESPACE@145..146 " "
- DOT_DOT_PAT@146..148
- DOT2@146..148 ".."
- COMMA@148..149 ","
- R_PAREN@149..150 ")"
- WHITESPACE@150..151 " "
- EQ@151..152 "="
- WHITESPACE@152..153 " "
- TUPLE_EXPR@153..155
- L_PAREN@153..154 "("
- R_PAREN@154..155 ")"
- SEMICOLON@155..156 ";"
- WHITESPACE@156..161 "\n "
- LET_STMT@161..179
- LET_KW@161..164 "let"
- WHITESPACE@164..165 " "
- TUPLE_PAT@165..173
- L_PAREN@165..166 "("
- DOT_DOT_PAT@166..168
- DOT2@166..168 ".."
- COMMA@168..169 ","
- WHITESPACE@169..170 " "
- DOT_DOT_PAT@170..172
- DOT2@170..172 ".."
- R_PAREN@172..173 ")"
- WHITESPACE@173..174 " "
- EQ@174..175 "="
- WHITESPACE@175..176 " "
- TUPLE_EXPR@176..178
- L_PAREN@176..177 "("
- R_PAREN@177..178 ")"
- SEMICOLON@178..179 ";"
- WHITESPACE@179..184 "\n "
- LET_STMT@184..207
- LET_KW@184..187 "let"
- WHITESPACE@187..188 " "
- TUPLE_STRUCT_PAT@188..201
- PATH@188..193
- PATH_SEGMENT@188..193
- NAME_REF@188..193
- IDENT@188..193 "Tuple"
- L_PAREN@193..194 "("
- DOT_DOT_PAT@194..196
- DOT2@194..196 ".."
- COMMA@196..197 ","
- WHITESPACE@197..198 " "
- DOT_DOT_PAT@198..200
- DOT2@198..200 ".."
- R_PAREN@200..201 ")"
- WHITESPACE@201..202 " "
- EQ@202..203 "="
- WHITESPACE@203..204 " "
- TUPLE_EXPR@204..206
- L_PAREN@204..205 "("
- R_PAREN@205..206 ")"
- SEMICOLON@206..207 ";"
- WHITESPACE@207..212 "\n "
- LET_STMT@212..233
- LET_KW@212..215 "let"
- WHITESPACE@215..216 " "
- TUPLE_PAT@216..227
- L_PAREN@216..217 "("
- DOT_DOT_PAT@217..219
- DOT2@217..219 ".."
- COMMA@219..220 ","
- WHITESPACE@220..221 " "
- BIND_PAT@221..222
- NAME@221..222
- IDENT@221..222 "a"
- COMMA@222..223 ","
- WHITESPACE@223..224 " "
- DOT_DOT_PAT@224..226
- DOT2@224..226 ".."
- R_PAREN@226..227 ")"
- WHITESPACE@227..228 " "
- EQ@228..229 "="
- WHITESPACE@229..230 " "
- TUPLE_EXPR@230..232
- L_PAREN@230..231 "("
- R_PAREN@231..232 ")"
- SEMICOLON@232..233 ";"
- WHITESPACE@233..238 "\n "
- LET_STMT@238..264
- LET_KW@238..241 "let"
- WHITESPACE@241..242 " "
- TUPLE_STRUCT_PAT@242..258
- PATH@242..247
- PATH_SEGMENT@242..247
- NAME_REF@242..247
- IDENT@242..247 "Tuple"
- L_PAREN@247..248 "("
- DOT_DOT_PAT@248..250
- DOT2@248..250 ".."
- COMMA@250..251 ","
- WHITESPACE@251..252 " "
- BIND_PAT@252..253
- NAME@252..253
- IDENT@252..253 "a"
- COMMA@253..254 ","
- WHITESPACE@254..255 " "
- DOT_DOT_PAT@255..257
- DOT2@255..257 ".."
- R_PAREN@257..258 ")"
- WHITESPACE@258..259 " "
- EQ@259..260 "="
- WHITESPACE@260..261 " "
- TUPLE_EXPR@261..263
- L_PAREN@261..262 "("
- R_PAREN@262..263 ")"
- SEMICOLON@263..264 ";"
- WHITESPACE@264..269 "\n "
- COMMENT@269..271 "//"
- WHITESPACE@271..276 "\n "
- COMMENT@276..285 "// Slices"
- WHITESPACE@285..290 "\n "
- COMMENT@290..292 "//"
- WHITESPACE@292..297 "\n "
- LET_STMT@297..311
- LET_KW@297..300 "let"
- WHITESPACE@300..301 " "
- SLICE_PAT@301..305
- L_BRACK@301..302 "["
- DOT_DOT_PAT@302..304
- DOT2@302..304 ".."
- R_BRACK@304..305 "]"
- WHITESPACE@305..306 " "
- EQ@306..307 "="
- WHITESPACE@307..308 " "
- TUPLE_EXPR@308..310
- L_PAREN@308..309 "("
- R_PAREN@309..310 ")"
- SEMICOLON@310..311 ";"
- WHITESPACE@311..316 "\n "
- LET_STMT@316..336
- LET_KW@316..319 "let"
- WHITESPACE@319..320 " "
- SLICE_PAT@320..330
- L_BRACK@320..321 "["
- BIND_PAT@321..325
- NAME@321..325
- IDENT@321..325 "head"
- COMMA@325..326 ","
- WHITESPACE@326..327 " "
- DOT_DOT_PAT@327..329
- DOT2@327..329 ".."
- R_BRACK@329..330 "]"
- WHITESPACE@330..331 " "
- EQ@331..332 "="
- WHITESPACE@332..333 " "
- TUPLE_EXPR@333..335
- L_PAREN@333..334 "("
- R_PAREN@334..335 ")"
- SEMICOLON@335..336 ";"
- WHITESPACE@336..341 "\n "
- LET_STMT@341..368
- LET_KW@341..344 "let"
- WHITESPACE@344..345 " "
- SLICE_PAT@345..362
- L_BRACK@345..346 "["
- BIND_PAT@346..350
- NAME@346..350
- IDENT@346..350 "head"
- COMMA@350..351 ","
- WHITESPACE@351..352 " "
- BIND_PAT@352..361
- NAME@352..356
- IDENT@352..356 "tail"
- WHITESPACE@356..357 " "
- AT@357..358 "@"
- WHITESPACE@358..359 " "
- DOT_DOT_PAT@359..361
- DOT2@359..361 ".."
- R_BRACK@361..362 "]"
- WHITESPACE@362..363 " "
- EQ@363..364 "="
- WHITESPACE@364..365 " "
- TUPLE_EXPR@365..367
- L_PAREN@365..366 "("
- R_PAREN@366..367 ")"
- SEMICOLON@367..368 ";"
- WHITESPACE@368..373 "\n "
- LET_STMT@373..399
- LET_KW@373..376 "let"
- WHITESPACE@376..377 " "
- SLICE_PAT@377..393
- L_BRACK@377..378 "["
- BIND_PAT@378..382
- NAME@378..382
- IDENT@378..382 "head"
- COMMA@382..383 ","
- WHITESPACE@383..384 " "
- DOT_DOT_PAT@384..386
- DOT2@384..386 ".."
- COMMA@386..387 ","
- WHITESPACE@387..388 " "
- BIND_PAT@388..392
- NAME@388..392
- IDENT@388..392 "cons"
- R_BRACK@392..393 "]"
- WHITESPACE@393..394 " "
- EQ@394..395 "="
- WHITESPACE@395..396 " "
- TUPLE_EXPR@396..398
- L_PAREN@396..397 "("
- R_PAREN@397..398 ")"
- SEMICOLON@398..399 ";"
- WHITESPACE@399..404 "\n "
- LET_STMT@404..436
- LET_KW@404..407 "let"
- WHITESPACE@407..408 " "
- SLICE_PAT@408..430
- L_BRACK@408..409 "["
- BIND_PAT@409..413
- NAME@409..413
- IDENT@409..413 "head"
- COMMA@413..414 ","
- WHITESPACE@414..415 " "
- BIND_PAT@415..423
- NAME@415..418
- IDENT@415..418 "mid"
- WHITESPACE@418..419 " "
- AT@419..420 "@"
- WHITESPACE@420..421 " "
- DOT_DOT_PAT@421..423
- DOT2@421..423 ".."
- COMMA@423..424 ","
- WHITESPACE@424..425 " "
- BIND_PAT@425..429
- NAME@425..429
- IDENT@425..429 "cons"
- R_BRACK@429..430 "]"
- WHITESPACE@430..431 " "
- EQ@431..432 "="
- WHITESPACE@432..433 " "
- TUPLE_EXPR@433..435
- L_PAREN@433..434 "("
- R_PAREN@434..435 ")"
- SEMICOLON@435..436 ";"
- WHITESPACE@436..441 "\n "
- LET_STMT@441..471
- LET_KW@441..444 "let"
- WHITESPACE@444..445 " "
- SLICE_PAT@445..465
- L_BRACK@445..446 "["
- BIND_PAT@446..450
- NAME@446..450
- IDENT@446..450 "head"
- COMMA@450..451 ","
- WHITESPACE@451..452 " "
- DOT_DOT_PAT@452..454
- DOT2@452..454 ".."
- COMMA@454..455 ","
- WHITESPACE@455..456 " "
- DOT_DOT_PAT@456..458
- DOT2@456..458 ".."
- COMMA@458..459 ","
- WHITESPACE@459..460 " "
- BIND_PAT@460..464
- NAME@460..464
- IDENT@460..464 "cons"
- R_BRACK@464..465 "]"
- WHITESPACE@465..466 " "
- EQ@466..467 "="
- WHITESPACE@467..468 " "
- TUPLE_EXPR@468..470
- L_PAREN@468..469 "("
- R_PAREN@469..470 ")"
- SEMICOLON@470..471 ";"
- WHITESPACE@471..476 "\n "
- LET_STMT@476..512
- LET_KW@476..479 "let"
- WHITESPACE@479..480 " "
- SLICE_PAT@480..506
- L_BRACK@480..481 "["
- BIND_PAT@481..485
- NAME@481..485
- IDENT@481..485 "head"
- COMMA@485..486 ","
- WHITESPACE@486..487 " "
- DOT_DOT_PAT@487..489
- DOT2@487..489 ".."
- COMMA@489..490 ","
- WHITESPACE@490..491 " "
- BIND_PAT@491..494
- NAME@491..494
- IDENT@491..494 "mid"
- COMMA@494..495 ","
- WHITESPACE@495..496 " "
- BIND_PAT@496..505
- NAME@496..500
- IDENT@496..500 "tail"
- WHITESPACE@500..501 " "
- AT@501..502 "@"
- WHITESPACE@502..503 " "
- DOT_DOT_PAT@503..505
- DOT2@503..505 ".."
- R_BRACK@505..506 "]"
- WHITESPACE@506..507 " "
- EQ@507..508 "="
- WHITESPACE@508..509 " "
- TUPLE_EXPR@509..511
- L_PAREN@509..510 "("
- R_PAREN@510..511 ")"
- SEMICOLON@511..512 ";"
- WHITESPACE@512..517 "\n "
- LET_STMT@517..552
- LET_KW@517..520 "let"
- WHITESPACE@520..521 " "
- SLICE_PAT@521..546
- L_BRACK@521..522 "["
- BIND_PAT@522..526
- NAME@522..526
- IDENT@522..526 "head"
- COMMA@526..527 ","
- WHITESPACE@527..528 " "
- DOT_DOT_PAT@528..530
- DOT2@528..530 ".."
- COMMA@530..531 ","
- WHITESPACE@531..532 " "
- BIND_PAT@532..535
- NAME@532..535
- IDENT@532..535 "mid"
- COMMA@535..536 ","
- WHITESPACE@536..537 " "
- DOT_DOT_PAT@537..539
- DOT2@537..539 ".."
- COMMA@539..540 ","
- WHITESPACE@540..541 " "
- BIND_PAT@541..545
- NAME@541..545
- IDENT@541..545 "cons"
- R_BRACK@545..546 "]"
- WHITESPACE@546..547 " "
- EQ@547..548 "="
- WHITESPACE@548..549 " "
- TUPLE_EXPR@549..551
- L_PAREN@549..550 "("
- R_PAREN@550..551 ")"
- SEMICOLON@551..552 ";"
- WHITESPACE@552..553 "\n"
- R_CURLY@553..554 "}"
+ L_CURLY@10..11 "{"
+ WHITESPACE@11..16 "\n "
+ LET_STMT@16..28
+ LET_KW@16..19 "let"
+ WHITESPACE@19..20 " "
+ DOT_DOT_PAT@20..22
+ DOT2@20..22 ".."
+ WHITESPACE@22..23 " "
+ EQ@23..24 "="
+ WHITESPACE@24..25 " "
+ TUPLE_EXPR@25..27
+ L_PAREN@25..26 "("
+ R_PAREN@26..27 ")"
+ SEMICOLON@27..28 ";"
+ WHITESPACE@28..33 "\n "
+ COMMENT@33..35 "//"
+ WHITESPACE@35..40 "\n "
+ COMMENT@40..49 "// Tuples"
+ WHITESPACE@49..54 "\n "
+ COMMENT@54..56 "//"
+ WHITESPACE@56..61 "\n "
+ LET_STMT@61..78
+ LET_KW@61..64 "let"
+ WHITESPACE@64..65 " "
+ TUPLE_PAT@65..72
+ L_PAREN@65..66 "("
+ BIND_PAT@66..67
+ NAME@66..67
+ IDENT@66..67 "a"
+ COMMA@67..68 ","
+ WHITESPACE@68..69 " "
+ DOT_DOT_PAT@69..71
+ DOT2@69..71 ".."
+ R_PAREN@71..72 ")"
+ WHITESPACE@72..73 " "
+ EQ@73..74 "="
+ WHITESPACE@74..75 " "
+ TUPLE_EXPR@75..77
+ L_PAREN@75..76 "("
+ R_PAREN@76..77 ")"
+ SEMICOLON@77..78 ";"
+ WHITESPACE@78..83 "\n "
+ LET_STMT@83..101
+ LET_KW@83..86 "let"
+ WHITESPACE@86..87 " "
+ TUPLE_PAT@87..95
+ L_PAREN@87..88 "("
+ BIND_PAT@88..89
+ NAME@88..89
+ IDENT@88..89 "a"
+ COMMA@89..90 ","
+ WHITESPACE@90..91 " "
+ DOT_DOT_PAT@91..93
+ DOT2@91..93 ".."
+ COMMA@93..94 ","
+ R_PAREN@94..95 ")"
+ WHITESPACE@95..96 " "
+ EQ@96..97 "="
+ WHITESPACE@97..98 " "
+ TUPLE_EXPR@98..100
+ L_PAREN@98..99 "("
+ R_PAREN@99..100 ")"
+ SEMICOLON@100..101 ";"
+ WHITESPACE@101..106 "\n "
+ LET_STMT@106..128
+ LET_KW@106..109 "let"
+ WHITESPACE@109..110 " "
+ TUPLE_STRUCT_PAT@110..122
+ PATH@110..115
+ PATH_SEGMENT@110..115
+ NAME_REF@110..115
+ IDENT@110..115 "Tuple"
+ L_PAREN@115..116 "("
+ BIND_PAT@116..117
+ NAME@116..117
+ IDENT@116..117 "a"
+ COMMA@117..118 ","
+ WHITESPACE@118..119 " "
+ DOT_DOT_PAT@119..121
+ DOT2@119..121 ".."
+ R_PAREN@121..122 ")"
+ WHITESPACE@122..123 " "
+ EQ@123..124 "="
+ WHITESPACE@124..125 " "
+ TUPLE_EXPR@125..127
+ L_PAREN@125..126 "("
+ R_PAREN@126..127 ")"
+ SEMICOLON@127..128 ";"
+ WHITESPACE@128..133 "\n "
+ LET_STMT@133..156
+ LET_KW@133..136 "let"
+ WHITESPACE@136..137 " "
+ TUPLE_STRUCT_PAT@137..150
+ PATH@137..142
+ PATH_SEGMENT@137..142
+ NAME_REF@137..142
+ IDENT@137..142 "Tuple"
+ L_PAREN@142..143 "("
+ BIND_PAT@143..144
+ NAME@143..144
+ IDENT@143..144 "a"
+ COMMA@144..145 ","
+ WHITESPACE@145..146 " "
+ DOT_DOT_PAT@146..148
+ DOT2@146..148 ".."
+ COMMA@148..149 ","
+ R_PAREN@149..150 ")"
+ WHITESPACE@150..151 " "
+ EQ@151..152 "="
+ WHITESPACE@152..153 " "
+ TUPLE_EXPR@153..155
+ L_PAREN@153..154 "("
+ R_PAREN@154..155 ")"
+ SEMICOLON@155..156 ";"
+ WHITESPACE@156..161 "\n "
+ LET_STMT@161..179
+ LET_KW@161..164 "let"
+ WHITESPACE@164..165 " "
+ TUPLE_PAT@165..173
+ L_PAREN@165..166 "("
+ DOT_DOT_PAT@166..168
+ DOT2@166..168 ".."
+ COMMA@168..169 ","
+ WHITESPACE@169..170 " "
+ DOT_DOT_PAT@170..172
+ DOT2@170..172 ".."
+ R_PAREN@172..173 ")"
+ WHITESPACE@173..174 " "
+ EQ@174..175 "="
+ WHITESPACE@175..176 " "
+ TUPLE_EXPR@176..178
+ L_PAREN@176..177 "("
+ R_PAREN@177..178 ")"
+ SEMICOLON@178..179 ";"
+ WHITESPACE@179..184 "\n "
+ LET_STMT@184..207
+ LET_KW@184..187 "let"
+ WHITESPACE@187..188 " "
+ TUPLE_STRUCT_PAT@188..201
+ PATH@188..193
+ PATH_SEGMENT@188..193
+ NAME_REF@188..193
+ IDENT@188..193 "Tuple"
+ L_PAREN@193..194 "("
+ DOT_DOT_PAT@194..196
+ DOT2@194..196 ".."
+ COMMA@196..197 ","
+ WHITESPACE@197..198 " "
+ DOT_DOT_PAT@198..200
+ DOT2@198..200 ".."
+ R_PAREN@200..201 ")"
+ WHITESPACE@201..202 " "
+ EQ@202..203 "="
+ WHITESPACE@203..204 " "
+ TUPLE_EXPR@204..206
+ L_PAREN@204..205 "("
+ R_PAREN@205..206 ")"
+ SEMICOLON@206..207 ";"
+ WHITESPACE@207..212 "\n "
+ LET_STMT@212..233
+ LET_KW@212..215 "let"
+ WHITESPACE@215..216 " "
+ TUPLE_PAT@216..227
+ L_PAREN@216..217 "("
+ DOT_DOT_PAT@217..219
+ DOT2@217..219 ".."
+ COMMA@219..220 ","
+ WHITESPACE@220..221 " "
+ BIND_PAT@221..222
+ NAME@221..222
+ IDENT@221..222 "a"
+ COMMA@222..223 ","
+ WHITESPACE@223..224 " "
+ DOT_DOT_PAT@224..226
+ DOT2@224..226 ".."
+ R_PAREN@226..227 ")"
+ WHITESPACE@227..228 " "
+ EQ@228..229 "="
+ WHITESPACE@229..230 " "
+ TUPLE_EXPR@230..232
+ L_PAREN@230..231 "("
+ R_PAREN@231..232 ")"
+ SEMICOLON@232..233 ";"
+ WHITESPACE@233..238 "\n "
+ LET_STMT@238..264
+ LET_KW@238..241 "let"
+ WHITESPACE@241..242 " "
+ TUPLE_STRUCT_PAT@242..258
+ PATH@242..247
+ PATH_SEGMENT@242..247
+ NAME_REF@242..247
+ IDENT@242..247 "Tuple"
+ L_PAREN@247..248 "("
+ DOT_DOT_PAT@248..250
+ DOT2@248..250 ".."
+ COMMA@250..251 ","
+ WHITESPACE@251..252 " "
+ BIND_PAT@252..253
+ NAME@252..253
+ IDENT@252..253 "a"
+ COMMA@253..254 ","
+ WHITESPACE@254..255 " "
+ DOT_DOT_PAT@255..257
+ DOT2@255..257 ".."
+ R_PAREN@257..258 ")"
+ WHITESPACE@258..259 " "
+ EQ@259..260 "="
+ WHITESPACE@260..261 " "
+ TUPLE_EXPR@261..263
+ L_PAREN@261..262 "("
+ R_PAREN@262..263 ")"
+ SEMICOLON@263..264 ";"
+ WHITESPACE@264..269 "\n "
+ COMMENT@269..271 "//"
+ WHITESPACE@271..276 "\n "
+ COMMENT@276..285 "// Slices"
+ WHITESPACE@285..290 "\n "
+ COMMENT@290..292 "//"
+ WHITESPACE@292..297 "\n "
+ LET_STMT@297..311
+ LET_KW@297..300 "let"
+ WHITESPACE@300..301 " "
+ SLICE_PAT@301..305
+ L_BRACK@301..302 "["
+ DOT_DOT_PAT@302..304
+ DOT2@302..304 ".."
+ R_BRACK@304..305 "]"
+ WHITESPACE@305..306 " "
+ EQ@306..307 "="
+ WHITESPACE@307..308 " "
+ TUPLE_EXPR@308..310
+ L_PAREN@308..309 "("
+ R_PAREN@309..310 ")"
+ SEMICOLON@310..311 ";"
+ WHITESPACE@311..316 "\n "
+ LET_STMT@316..336
+ LET_KW@316..319 "let"
+ WHITESPACE@319..320 " "
+ SLICE_PAT@320..330
+ L_BRACK@320..321 "["
+ BIND_PAT@321..325
+ NAME@321..325
+ IDENT@321..325 "head"
+ COMMA@325..326 ","
+ WHITESPACE@326..327 " "
+ DOT_DOT_PAT@327..329
+ DOT2@327..329 ".."
+ R_BRACK@329..330 "]"
+ WHITESPACE@330..331 " "
+ EQ@331..332 "="
+ WHITESPACE@332..333 " "
+ TUPLE_EXPR@333..335
+ L_PAREN@333..334 "("
+ R_PAREN@334..335 ")"
+ SEMICOLON@335..336 ";"
+ WHITESPACE@336..341 "\n "
+ LET_STMT@341..368
+ LET_KW@341..344 "let"
+ WHITESPACE@344..345 " "
+ SLICE_PAT@345..362
+ L_BRACK@345..346 "["
+ BIND_PAT@346..350
+ NAME@346..350
+ IDENT@346..350 "head"
+ COMMA@350..351 ","
+ WHITESPACE@351..352 " "
+ BIND_PAT@352..361
+ NAME@352..356
+ IDENT@352..356 "tail"
+ WHITESPACE@356..357 " "
+ AT@357..358 "@"
+ WHITESPACE@358..359 " "
+ DOT_DOT_PAT@359..361
+ DOT2@359..361 ".."
+ R_BRACK@361..362 "]"
+ WHITESPACE@362..363 " "
+ EQ@363..364 "="
+ WHITESPACE@364..365 " "
+ TUPLE_EXPR@365..367
+ L_PAREN@365..366 "("
+ R_PAREN@366..367 ")"
+ SEMICOLON@367..368 ";"
+ WHITESPACE@368..373 "\n "
+ LET_STMT@373..399
+ LET_KW@373..376 "let"
+ WHITESPACE@376..377 " "
+ SLICE_PAT@377..393
+ L_BRACK@377..378 "["
+ BIND_PAT@378..382
+ NAME@378..382
+ IDENT@378..382 "head"
+ COMMA@382..383 ","
+ WHITESPACE@383..384 " "
+ DOT_DOT_PAT@384..386
+ DOT2@384..386 ".."
+ COMMA@386..387 ","
+ WHITESPACE@387..388 " "
+ BIND_PAT@388..392
+ NAME@388..392
+ IDENT@388..392 "cons"
+ R_BRACK@392..393 "]"
+ WHITESPACE@393..394 " "
+ EQ@394..395 "="
+ WHITESPACE@395..396 " "
+ TUPLE_EXPR@396..398
+ L_PAREN@396..397 "("
+ R_PAREN@397..398 ")"
+ SEMICOLON@398..399 ";"
+ WHITESPACE@399..404 "\n "
+ LET_STMT@404..436
+ LET_KW@404..407 "let"
+ WHITESPACE@407..408 " "
+ SLICE_PAT@408..430
+ L_BRACK@408..409 "["
+ BIND_PAT@409..413
+ NAME@409..413
+ IDENT@409..413 "head"
+ COMMA@413..414 ","
+ WHITESPACE@414..415 " "
+ BIND_PAT@415..423
+ NAME@415..418
+ IDENT@415..418 "mid"
+ WHITESPACE@418..419 " "
+ AT@419..420 "@"
+ WHITESPACE@420..421 " "
+ DOT_DOT_PAT@421..423
+ DOT2@421..423 ".."
+ COMMA@423..424 ","
+ WHITESPACE@424..425 " "
+ BIND_PAT@425..429
+ NAME@425..429
+ IDENT@425..429 "cons"
+ R_BRACK@429..430 "]"
+ WHITESPACE@430..431 " "
+ EQ@431..432 "="
+ WHITESPACE@432..433 " "
+ TUPLE_EXPR@433..435
+ L_PAREN@433..434 "("
+ R_PAREN@434..435 ")"
+ SEMICOLON@435..436 ";"
+ WHITESPACE@436..441 "\n "
+ LET_STMT@441..471
+ LET_KW@441..444 "let"
+ WHITESPACE@444..445 " "
+ SLICE_PAT@445..465
+ L_BRACK@445..446 "["
+ BIND_PAT@446..450
+ NAME@446..450
+ IDENT@446..450 "head"
+ COMMA@450..451 ","
+ WHITESPACE@451..452 " "
+ DOT_DOT_PAT@452..454
+ DOT2@452..454 ".."
+ COMMA@454..455 ","
+ WHITESPACE@455..456 " "
+ DOT_DOT_PAT@456..458
+ DOT2@456..458 ".."
+ COMMA@458..459 ","
+ WHITESPACE@459..460 " "
+ BIND_PAT@460..464
+ NAME@460..464
+ IDENT@460..464 "cons"
+ R_BRACK@464..465 "]"
+ WHITESPACE@465..466 " "
+ EQ@466..467 "="
+ WHITESPACE@467..468 " "
+ TUPLE_EXPR@468..470
+ L_PAREN@468..469 "("
+ R_PAREN@469..470 ")"
+ SEMICOLON@470..471 ";"
+ WHITESPACE@471..476 "\n "
+ LET_STMT@476..512
+ LET_KW@476..479 "let"
+ WHITESPACE@479..480 " "
+ SLICE_PAT@480..506
+ L_BRACK@480..481 "["
+ BIND_PAT@481..485
+ NAME@481..485
+ IDENT@481..485 "head"
+ COMMA@485..486 ","
+ WHITESPACE@486..487 " "
+ DOT_DOT_PAT@487..489
+ DOT2@487..489 ".."
+ COMMA@489..490 ","
+ WHITESPACE@490..491 " "
+ BIND_PAT@491..494
+ NAME@491..494
+ IDENT@491..494 "mid"
+ COMMA@494..495 ","
+ WHITESPACE@495..496 " "
+ BIND_PAT@496..505
+ NAME@496..500
+ IDENT@496..500 "tail"
+ WHITESPACE@500..501 " "
+ AT@501..502 "@"
+ WHITESPACE@502..503 " "
+ DOT_DOT_PAT@503..505
+ DOT2@503..505 ".."
+ R_BRACK@505..506 "]"
+ WHITESPACE@506..507 " "
+ EQ@507..508 "="
+ WHITESPACE@508..509 " "
+ TUPLE_EXPR@509..511
+ L_PAREN@509..510 "("
+ R_PAREN@510..511 ")"
+ SEMICOLON@511..512 ";"
+ WHITESPACE@512..517 "\n "
+ LET_STMT@517..552
+ LET_KW@517..520 "let"
+ WHITESPACE@520..521 " "
+ SLICE_PAT@521..546
+ L_BRACK@521..522 "["
+ BIND_PAT@522..526
+ NAME@522..526
+ IDENT@522..526 "head"
+ COMMA@526..527 ","
+ WHITESPACE@527..528 " "
+ DOT_DOT_PAT@528..530
+ DOT2@528..530 ".."
+ COMMA@530..531 ","
+ WHITESPACE@531..532 " "
+ BIND_PAT@532..535
+ NAME@532..535
+ IDENT@532..535 "mid"
+ COMMA@535..536 ","
+ WHITESPACE@536..537 " "
+ DOT_DOT_PAT@537..539
+ DOT2@537..539 ".."
+ COMMA@539..540 ","
+ WHITESPACE@540..541 " "
+ BIND_PAT@541..545
+ NAME@541..545
+ IDENT@541..545 "cons"
+ R_BRACK@545..546 "]"
+ WHITESPACE@546..547 " "
+ EQ@547..548 "="
+ WHITESPACE@548..549 " "
+ TUPLE_EXPR@549..551
+ L_PAREN@549..550 "("
+ R_PAREN@550..551 ")"
+ SEMICOLON@551..552 ";"
+ WHITESPACE@552..553 "\n"
+ R_CURLY@553..554 "}"
WHITESPACE@554..555 "\n"
R_PAREN@7..8 ")"
WHITESPACE@8..9 " "
BLOCK_EXPR@9..62
- BLOCK@9..62
- L_CURLY@9..10 "{"
- WHITESPACE@10..15 "\n "
- LET_STMT@15..35
- LET_KW@15..18 "let"
- WHITESPACE@18..19 " "
- RECORD_PAT@19..29
- PATH@19..20
- PATH_SEGMENT@19..20
- NAME_REF@19..20
- IDENT@19..20 "S"
- WHITESPACE@20..21 " "
- RECORD_FIELD_PAT_LIST@21..29
- L_CURLY@21..22 "{"
- WHITESPACE@22..23 " "
- RECORD_FIELD_PAT@23..27
- NAME_REF@23..24
- INT_NUMBER@23..24 "0"
- COLON@24..25 ":"
- WHITESPACE@25..26 " "
- LITERAL_PAT@26..27
- LITERAL@26..27
- INT_NUMBER@26..27 "1"
- WHITESPACE@27..28 " "
- R_CURLY@28..29 "}"
- WHITESPACE@29..30 " "
- EQ@30..31 "="
- WHITESPACE@31..32 " "
- TUPLE_EXPR@32..34
- L_PAREN@32..33 "("
- R_PAREN@33..34 ")"
- SEMICOLON@34..35 ";"
- WHITESPACE@35..40 "\n "
- LET_STMT@40..60
- LET_KW@40..43 "let"
- WHITESPACE@43..44 " "
- RECORD_PAT@44..54
- PATH@44..45
- PATH_SEGMENT@44..45
- NAME_REF@44..45
- IDENT@44..45 "S"
- WHITESPACE@45..46 " "
- RECORD_FIELD_PAT_LIST@46..54
- L_CURLY@46..47 "{"
- WHITESPACE@47..48 " "
- RECORD_FIELD_PAT@48..52
- NAME_REF@48..49
- IDENT@48..49 "x"
- COLON@49..50 ":"
- WHITESPACE@50..51 " "
- LITERAL_PAT@51..52
- LITERAL@51..52
- INT_NUMBER@51..52 "1"
- WHITESPACE@52..53 " "
- R_CURLY@53..54 "}"
- WHITESPACE@54..55 " "
- EQ@55..56 "="
- WHITESPACE@56..57 " "
- TUPLE_EXPR@57..59
- L_PAREN@57..58 "("
- R_PAREN@58..59 ")"
- SEMICOLON@59..60 ";"
- WHITESPACE@60..61 "\n"
- R_CURLY@61..62 "}"
+ L_CURLY@9..10 "{"
+ WHITESPACE@10..15 "\n "
+ LET_STMT@15..35
+ LET_KW@15..18 "let"
+ WHITESPACE@18..19 " "
+ RECORD_PAT@19..29
+ PATH@19..20
+ PATH_SEGMENT@19..20
+ NAME_REF@19..20
+ IDENT@19..20 "S"
+ WHITESPACE@20..21 " "
+ RECORD_FIELD_PAT_LIST@21..29
+ L_CURLY@21..22 "{"
+ WHITESPACE@22..23 " "
+ RECORD_FIELD_PAT@23..27
+ NAME_REF@23..24
+ INT_NUMBER@23..24 "0"
+ COLON@24..25 ":"
+ WHITESPACE@25..26 " "
+ LITERAL_PAT@26..27
+ LITERAL@26..27
+ INT_NUMBER@26..27 "1"
+ WHITESPACE@27..28 " "
+ R_CURLY@28..29 "}"
+ WHITESPACE@29..30 " "
+ EQ@30..31 "="
+ WHITESPACE@31..32 " "
+ TUPLE_EXPR@32..34
+ L_PAREN@32..33 "("
+ R_PAREN@33..34 ")"
+ SEMICOLON@34..35 ";"
+ WHITESPACE@35..40 "\n "
+ LET_STMT@40..60
+ LET_KW@40..43 "let"
+ WHITESPACE@43..44 " "
+ RECORD_PAT@44..54
+ PATH@44..45
+ PATH_SEGMENT@44..45
+ NAME_REF@44..45
+ IDENT@44..45 "S"
+ WHITESPACE@45..46 " "
+ RECORD_FIELD_PAT_LIST@46..54
+ L_CURLY@46..47 "{"
+ WHITESPACE@47..48 " "
+ RECORD_FIELD_PAT@48..52
+ NAME_REF@48..49
+ IDENT@48..49 "x"
+ COLON@49..50 ":"
+ WHITESPACE@50..51 " "
+ LITERAL_PAT@51..52
+ LITERAL@51..52
+ INT_NUMBER@51..52 "1"
+ WHITESPACE@52..53 " "
+ R_CURLY@53..54 "}"
+ WHITESPACE@54..55 " "
+ EQ@55..56 "="
+ WHITESPACE@56..57 " "
+ TUPLE_EXPR@57..59
+ L_PAREN@57..58 "("
+ R_PAREN@58..59 ")"
+ SEMICOLON@59..60 ";"
+ WHITESPACE@60..61 "\n"
+ R_CURLY@61..62 "}"
WHITESPACE@62..63 "\n"
R_PAREN@7..8 ")"
WHITESPACE@8..9 " "
BLOCK_EXPR@9..42
- BLOCK@9..42
- L_CURLY@9..10 "{"
- WHITESPACE@10..15 "\n "
- LET_STMT@15..40
- LET_KW@15..18 "let"
- WHITESPACE@18..19 " "
- PLACEHOLDER_PAT@19..20
- UNDERSCORE@19..20 "_"
- WHITESPACE@20..21 " "
- EQ@21..22 "="
- WHITESPACE@22..23 " "
- CAST_EXPR@23..39
- REF_EXPR@23..25
- AMP@23..24 "&"
- LITERAL@24..25
- INT_NUMBER@24..25 "1"
- WHITESPACE@25..26 " "
- AS_KW@26..28 "as"
- WHITESPACE@28..29 " "
- POINTER_TYPE@29..39
- STAR@29..30 "*"
- CONST_KW@30..35 "const"
- WHITESPACE@35..36 " "
- PATH_TYPE@36..39
- PATH@36..39
- PATH_SEGMENT@36..39
- NAME_REF@36..39
- IDENT@36..39 "i32"
- SEMICOLON@39..40 ";"
- WHITESPACE@40..41 "\n"
- R_CURLY@41..42 "}"
+ L_CURLY@9..10 "{"
+ WHITESPACE@10..15 "\n "
+ LET_STMT@15..40
+ LET_KW@15..18 "let"
+ WHITESPACE@18..19 " "
+ PLACEHOLDER_PAT@19..20
+ UNDERSCORE@19..20 "_"
+ WHITESPACE@20..21 " "
+ EQ@21..22 "="
+ WHITESPACE@22..23 " "
+ CAST_EXPR@23..39
+ REF_EXPR@23..25
+ AMP@23..24 "&"
+ LITERAL@24..25
+ INT_NUMBER@24..25 "1"
+ WHITESPACE@25..26 " "
+ AS_KW@26..28 "as"
+ WHITESPACE@28..29 " "
+ POINTER_TYPE@29..39
+ STAR@29..30 "*"
+ CONST_KW@30..35 "const"
+ WHITESPACE@35..36 " "
+ PATH_TYPE@36..39
+ PATH@36..39
+ PATH_SEGMENT@36..39
+ NAME_REF@36..39
+ IDENT@36..39 "i32"
+ SEMICOLON@39..40 ";"
+ WHITESPACE@40..41 "\n"
+ R_CURLY@41..42 "}"
WHITESPACE@42..43 "\n"
R_PAREN@8..9 ")"
WHITESPACE@9..10 " "
BLOCK_EXPR@10..33
- BLOCK@10..33
- L_CURLY@10..11 "{"
- WHITESPACE@11..16 "\n "
- CALL_EXPR@16..31
- PATH_EXPR@16..19
- PATH@16..19
- PATH_SEGMENT@16..19
- NAME_REF@16..19
- IDENT@16..19 "foo"
- ARG_LIST@19..31
- L_PAREN@19..20 "("
- LITERAL@20..30
- ATTR@20..27
- POUND@20..21 "#"
- L_BRACK@21..22 "["
- PATH@22..26
- PATH_SEGMENT@22..26
- NAME_REF@22..26
- IDENT@22..26 "attr"
- R_BRACK@26..27 "]"
- WHITESPACE@27..28 " "
- INT_NUMBER@28..30 "92"
- R_PAREN@30..31 ")"
- WHITESPACE@31..32 "\n"
- R_CURLY@32..33 "}"
+ L_CURLY@10..11 "{"
+ WHITESPACE@11..16 "\n "
+ CALL_EXPR@16..31
+ PATH_EXPR@16..19
+ PATH@16..19
+ PATH_SEGMENT@16..19
+ NAME_REF@16..19
+ IDENT@16..19 "foo"
+ ARG_LIST@19..31
+ L_PAREN@19..20 "("
+ LITERAL@20..30
+ ATTR@20..27
+ POUND@20..21 "#"
+ L_BRACK@21..22 "["
+ PATH@22..26
+ PATH_SEGMENT@22..26
+ NAME_REF@22..26
+ IDENT@22..26 "attr"
+ R_BRACK@26..27 "]"
+ WHITESPACE@27..28 " "
+ INT_NUMBER@28..30 "92"
+ R_PAREN@30..31 ")"
+ WHITESPACE@31..32 "\n"
+ R_CURLY@32..33 "}"
WHITESPACE@33..34 "\n"
R_PAREN@8..9 ")"
WHITESPACE@9..10 " "
BLOCK_EXPR@10..62
- BLOCK@10..62
- L_CURLY@10..11 "{"
- WHITESPACE@11..15 "\n "
- LET_STMT@15..60
- LET_KW@15..18 "let"
- WHITESPACE@18..19 " "
- BIND_PAT@19..22
- NAME@19..22
- IDENT@19..22 "foo"
- WHITESPACE@22..23 " "
- EQ@23..24 "="
- WHITESPACE@24..25 " "
- LAMBDA_EXPR@25..59
- PARAM_LIST@25..56
- PIPE@25..26 "|"
- PARAM@26..29
- BIND_PAT@26..29
- NAME@26..29
- IDENT@26..29 "bar"
- COMMA@29..30 ","
- WHITESPACE@30..31 " "
- PARAM@31..39
- BIND_PAT@31..34
- NAME@31..34
- IDENT@31..34 "baz"
- COLON@34..35 ":"
- WHITESPACE@35..36 " "
- PATH_TYPE@36..39
- PATH@36..39
- PATH_SEGMENT@36..39
- NAME_REF@36..39
- IDENT@36..39 "Baz"
- COMMA@39..40 ","
- WHITESPACE@40..41 " "
- PARAM@41..55
- BIND_PAT@41..44
- NAME@41..44
- IDENT@41..44 "qux"
- COLON@44..45 ":"
- WHITESPACE@45..46 " "
- PATH_TYPE@46..55
- PATH@46..55
- PATH@46..49
- PATH_SEGMENT@46..49
- NAME_REF@46..49
- IDENT@46..49 "Qux"
- COLON2@49..51 "::"
- PATH_SEGMENT@51..55
- NAME_REF@51..55
- IDENT@51..55 "Quux"
- PIPE@55..56 "|"
- WHITESPACE@56..57 " "
- TUPLE_EXPR@57..59
- L_PAREN@57..58 "("
- R_PAREN@58..59 ")"
- SEMICOLON@59..60 ";"
- WHITESPACE@60..61 "\n"
- R_CURLY@61..62 "}"
+ L_CURLY@10..11 "{"
+ WHITESPACE@11..15 "\n "
+ LET_STMT@15..60
+ LET_KW@15..18 "let"
+ WHITESPACE@18..19 " "
+ BIND_PAT@19..22
+ NAME@19..22
+ IDENT@19..22 "foo"
+ WHITESPACE@22..23 " "
+ EQ@23..24 "="
+ WHITESPACE@24..25 " "
+ LAMBDA_EXPR@25..59
+ PARAM_LIST@25..56
+ PIPE@25..26 "|"
+ PARAM@26..29
+ BIND_PAT@26..29
+ NAME@26..29
+ IDENT@26..29 "bar"
+ COMMA@29..30 ","
+ WHITESPACE@30..31 " "
+ PARAM@31..39
+ BIND_PAT@31..34
+ NAME@31..34
+ IDENT@31..34 "baz"
+ COLON@34..35 ":"
+ WHITESPACE@35..36 " "
+ PATH_TYPE@36..39
+ PATH@36..39
+ PATH_SEGMENT@36..39
+ NAME_REF@36..39
+ IDENT@36..39 "Baz"
+ COMMA@39..40 ","
+ WHITESPACE@40..41 " "
+ PARAM@41..55
+ BIND_PAT@41..44
+ NAME@41..44
+ IDENT@41..44 "qux"
+ COLON@44..45 ":"
+ WHITESPACE@45..46 " "
+ PATH_TYPE@46..55
+ PATH@46..55
+ PATH@46..49
+ PATH_SEGMENT@46..49
+ NAME_REF@46..49
+ IDENT@46..49 "Qux"
+ COLON2@49..51 "::"
+ PATH_SEGMENT@51..55
+ NAME_REF@51..55
+ IDENT@51..55 "Quux"
+ PIPE@55..56 "|"
+ WHITESPACE@56..57 " "
+ TUPLE_EXPR@57..59
+ L_PAREN@57..58 "("
+ R_PAREN@58..59 ")"
+ SEMICOLON@59..60 ";"
+ WHITESPACE@60..61 "\n"
+ R_CURLY@61..62 "}"
WHITESPACE@62..63 "\n"
R_PAREN@25..26 ")"
WHITESPACE@26..27 " "
BLOCK_EXPR@27..29
- BLOCK@27..29
- L_CURLY@27..28 "{"
- R_CURLY@28..29 "}"
+ L_CURLY@27..28 "{"
+ R_CURLY@28..29 "}"
WHITESPACE@29..30 "\n"
R_PAREN@8..9 ")"
WHITESPACE@9..10 " "
BLOCK_EXPR@10..129
- BLOCK@10..129
- L_CURLY@10..11 "{"
- WHITESPACE@11..16 "\n "
- MATCH_EXPR@16..127
- MATCH_KW@16..21 "match"
- WHITESPACE@21..22 " "
- TUPLE_EXPR@22..24
- L_PAREN@22..23 "("
- R_PAREN@23..24 ")"
- WHITESPACE@24..25 " "
- MATCH_ARM_LIST@25..127
- L_CURLY@25..26 "{"
- WHITESPACE@26..35 "\n "
- MATCH_ARM@35..48
- PAREN_PAT@35..42
- L_PAREN@35..36 "("
- OR_PAT@36..41
- PLACEHOLDER_PAT@36..37
- UNDERSCORE@36..37 "_"
- WHITESPACE@37..38 " "
- PIPE@38..39 "|"
- WHITESPACE@39..40 " "
- PLACEHOLDER_PAT@40..41
- UNDERSCORE@40..41 "_"
- R_PAREN@41..42 ")"
- WHITESPACE@42..43 " "
- FAT_ARROW@43..45 "=>"
- WHITESPACE@45..46 " "
- TUPLE_EXPR@46..48
- L_PAREN@46..47 "("
- R_PAREN@47..48 ")"
- COMMA@48..49 ","
- WHITESPACE@49..58 "\n "
- MATCH_ARM@58..72
- REF_PAT@58..66
- AMP@58..59 "&"
- PAREN_PAT@59..66
- L_PAREN@59..60 "("
- OR_PAT@60..65
- PLACEHOLDER_PAT@60..61
- UNDERSCORE@60..61 "_"
- WHITESPACE@61..62 " "
- PIPE@62..63 "|"
- WHITESPACE@63..64 " "
- PLACEHOLDER_PAT@64..65
- UNDERSCORE@64..65 "_"
- R_PAREN@65..66 ")"
- WHITESPACE@66..67 " "
- FAT_ARROW@67..69 "=>"
- WHITESPACE@69..70 " "
- TUPLE_EXPR@70..72
- L_PAREN@70..71 "("
- R_PAREN@71..72 ")"
- COMMA@72..73 ","
- WHITESPACE@73..82 "\n "
- MATCH_ARM@82..96
- TUPLE_PAT@82..90
- L_PAREN@82..83 "("
- OR_PAT@83..88
- PLACEHOLDER_PAT@83..84
- UNDERSCORE@83..84 "_"
- WHITESPACE@84..85 " "
- PIPE@85..86 "|"
- WHITESPACE@86..87 " "
- PLACEHOLDER_PAT@87..88
- UNDERSCORE@87..88 "_"
- COMMA@88..89 ","
- R_PAREN@89..90 ")"
- WHITESPACE@90..91 " "
- FAT_ARROW@91..93 "=>"
- WHITESPACE@93..94 " "
- TUPLE_EXPR@94..96
- L_PAREN@94..95 "("
- R_PAREN@95..96 ")"
- COMMA@96..97 ","
- WHITESPACE@97..106 "\n "
- MATCH_ARM@106..120
- SLICE_PAT@106..114
- L_BRACK@106..107 "["
- OR_PAT@107..112
- PLACEHOLDER_PAT@107..108
- UNDERSCORE@107..108 "_"
- WHITESPACE@108..109 " "
- PIPE@109..110 "|"
- WHITESPACE@110..111 " "
- PLACEHOLDER_PAT@111..112
- UNDERSCORE@111..112 "_"
- COMMA@112..113 ","
- R_BRACK@113..114 "]"
- WHITESPACE@114..115 " "
- FAT_ARROW@115..117 "=>"
- WHITESPACE@117..118 " "
- TUPLE_EXPR@118..120
- L_PAREN@118..119 "("
- R_PAREN@119..120 ")"
- COMMA@120..121 ","
- WHITESPACE@121..126 "\n "
- R_CURLY@126..127 "}"
- WHITESPACE@127..128 "\n"
- R_CURLY@128..129 "}"
+ L_CURLY@10..11 "{"
+ WHITESPACE@11..16 "\n "
+ MATCH_EXPR@16..127
+ MATCH_KW@16..21 "match"
+ WHITESPACE@21..22 " "
+ TUPLE_EXPR@22..24
+ L_PAREN@22..23 "("
+ R_PAREN@23..24 ")"
+ WHITESPACE@24..25 " "
+ MATCH_ARM_LIST@25..127
+ L_CURLY@25..26 "{"
+ WHITESPACE@26..35 "\n "
+ MATCH_ARM@35..48
+ PAREN_PAT@35..42
+ L_PAREN@35..36 "("
+ OR_PAT@36..41
+ PLACEHOLDER_PAT@36..37
+ UNDERSCORE@36..37 "_"
+ WHITESPACE@37..38 " "
+ PIPE@38..39 "|"
+ WHITESPACE@39..40 " "
+ PLACEHOLDER_PAT@40..41
+ UNDERSCORE@40..41 "_"
+ R_PAREN@41..42 ")"
+ WHITESPACE@42..43 " "
+ FAT_ARROW@43..45 "=>"
+ WHITESPACE@45..46 " "
+ TUPLE_EXPR@46..48
+ L_PAREN@46..47 "("
+ R_PAREN@47..48 ")"
+ COMMA@48..49 ","
+ WHITESPACE@49..58 "\n "
+ MATCH_ARM@58..72
+ REF_PAT@58..66
+ AMP@58..59 "&"
+ PAREN_PAT@59..66
+ L_PAREN@59..60 "("
+ OR_PAT@60..65
+ PLACEHOLDER_PAT@60..61
+ UNDERSCORE@60..61 "_"
+ WHITESPACE@61..62 " "
+ PIPE@62..63 "|"
+ WHITESPACE@63..64 " "
+ PLACEHOLDER_PAT@64..65
+ UNDERSCORE@64..65 "_"
+ R_PAREN@65..66 ")"
+ WHITESPACE@66..67 " "
+ FAT_ARROW@67..69 "=>"
+ WHITESPACE@69..70 " "
+ TUPLE_EXPR@70..72
+ L_PAREN@70..71 "("
+ R_PAREN@71..72 ")"
+ COMMA@72..73 ","
+ WHITESPACE@73..82 "\n "
+ MATCH_ARM@82..96
+ TUPLE_PAT@82..90
+ L_PAREN@82..83 "("
+ OR_PAT@83..88
+ PLACEHOLDER_PAT@83..84
+ UNDERSCORE@83..84 "_"
+ WHITESPACE@84..85 " "
+ PIPE@85..86 "|"
+ WHITESPACE@86..87 " "
+ PLACEHOLDER_PAT@87..88
+ UNDERSCORE@87..88 "_"
+ COMMA@88..89 ","
+ R_PAREN@89..90 ")"
+ WHITESPACE@90..91 " "
+ FAT_ARROW@91..93 "=>"
+ WHITESPACE@93..94 " "
+ TUPLE_EXPR@94..96
+ L_PAREN@94..95 "("
+ R_PAREN@95..96 ")"
+ COMMA@96..97 ","
+ WHITESPACE@97..106 "\n "
+ MATCH_ARM@106..120
+ SLICE_PAT@106..114
+ L_BRACK@106..107 "["
+ OR_PAT@107..112
+ PLACEHOLDER_PAT@107..108
+ UNDERSCORE@107..108 "_"
+ WHITESPACE@108..109 " "
+ PIPE@109..110 "|"
+ WHITESPACE@110..111 " "
+ PLACEHOLDER_PAT@111..112
+ UNDERSCORE@111..112 "_"
+ COMMA@112..113 ","
+ R_BRACK@113..114 "]"
+ WHITESPACE@114..115 " "
+ FAT_ARROW@115..117 "=>"
+ WHITESPACE@117..118 " "
+ TUPLE_EXPR@118..120
+ L_PAREN@118..119 "("
+ R_PAREN@119..120 ")"
+ COMMA@120..121 ","
+ WHITESPACE@121..126 "\n "
+ R_CURLY@126..127 "}"
+ WHITESPACE@127..128 "\n"
+ R_CURLY@128..129 "}"
WHITESPACE@129..130 "\n"
R_PAREN@7..8 ")"
WHITESPACE@8..9 " "
BLOCK_EXPR@9..27
- BLOCK@9..27
- L_CURLY@9..10 "{"
- WHITESPACE@10..15 "\n "
- EXPR_STMT@15..25
- BIN_EXPR@15..24
- PATH_EXPR@15..16
- PATH@15..16
- PATH_SEGMENT@15..16
- NAME_REF@15..16
- IDENT@15..16 "v"
- WHITESPACE@16..17 " "
- EQ@17..18 "="
- WHITESPACE@18..19 " "
- BIN_EXPR@19..24
- BLOCK_EXPR@19..22
- BLOCK@19..22
- L_CURLY@19..20 "{"
- LITERAL@20..21
- INT_NUMBER@20..21 "1"
- R_CURLY@21..22 "}"
- AMP@22..23 "&"
- LITERAL@23..24
- INT_NUMBER@23..24 "2"
- SEMICOLON@24..25 ";"
- WHITESPACE@25..26 "\n"
- R_CURLY@26..27 "}"
+ L_CURLY@9..10 "{"
+ WHITESPACE@10..15 "\n "
+ EXPR_STMT@15..25
+ BIN_EXPR@15..24
+ PATH_EXPR@15..16
+ PATH@15..16
+ PATH_SEGMENT@15..16
+ NAME_REF@15..16
+ IDENT@15..16 "v"
+ WHITESPACE@16..17 " "
+ EQ@17..18 "="
+ WHITESPACE@18..19 " "
+ BIN_EXPR@19..24
+ BLOCK_EXPR@19..22
+ L_CURLY@19..20 "{"
+ LITERAL@20..21
+ INT_NUMBER@20..21 "1"
+ R_CURLY@21..22 "}"
+ AMP@22..23 "&"
+ LITERAL@23..24
+ INT_NUMBER@23..24 "2"
+ SEMICOLON@24..25 ";"
+ WHITESPACE@25..26 "\n"
+ R_CURLY@26..27 "}"
WHITESPACE@27..28 "\n"
R_PAREN@8..9 ")"
WHITESPACE@9..10 " "
BLOCK_EXPR@10..33
- BLOCK@10..33
- L_CURLY@10..11 "{"
- WHITESPACE@11..12 " "
- EXPR_STMT@12..31
- CALL_EXPR@12..30
- LAMBDA_EXPR@12..28
- PARAM_LIST@12..14
- PIPE@12..13 "|"
- PIPE@13..14 "|"
- WHITESPACE@14..15 " "
- RET_TYPE@15..21
- THIN_ARROW@15..17 "->"
- WHITESPACE@17..18 " "
- PATH_TYPE@18..21
- PATH@18..21
- PATH_SEGMENT@18..21
- NAME_REF@18..21
- IDENT@18..21 "i32"
- WHITESPACE@21..22 " "
- BLOCK_EXPR@22..28
- BLOCK@22..28
- L_CURLY@22..23 "{"
- WHITESPACE@23..24 " "
- LITERAL@24..26
- INT_NUMBER@24..26 "92"
- WHITESPACE@26..27 " "
- R_CURLY@27..28 "}"
- ARG_LIST@28..30
- L_PAREN@28..29 "("
- R_PAREN@29..30 ")"
- SEMICOLON@30..31 ";"
- WHITESPACE@31..32 " "
- R_CURLY@32..33 "}"
+ L_CURLY@10..11 "{"
+ WHITESPACE@11..12 " "
+ EXPR_STMT@12..31
+ CALL_EXPR@12..30
+ LAMBDA_EXPR@12..28
+ PARAM_LIST@12..14
+ PIPE@12..13 "|"
+ PIPE@13..14 "|"
+ WHITESPACE@14..15 " "
+ RET_TYPE@15..21
+ THIN_ARROW@15..17 "->"
+ WHITESPACE@17..18 " "
+ PATH_TYPE@18..21
+ PATH@18..21
+ PATH_SEGMENT@18..21
+ NAME_REF@18..21
+ IDENT@18..21 "i32"
+ WHITESPACE@21..22 " "
+ BLOCK_EXPR@22..28
+ L_CURLY@22..23 "{"
+ WHITESPACE@23..24 " "
+ LITERAL@24..26
+ INT_NUMBER@24..26 "92"
+ WHITESPACE@26..27 " "
+ R_CURLY@27..28 "}"
+ ARG_LIST@28..30
+ L_PAREN@28..29 "("
+ R_PAREN@29..30 ")"
+ SEMICOLON@30..31 ";"
+ WHITESPACE@31..32 " "
+ R_CURLY@32..33 "}"
WHITESPACE@33..34 "\n"
R_PAREN@7..8 ")"
WHITESPACE@8..9 " "
BLOCK_EXPR@9..26
- BLOCK@9..26
- L_CURLY@9..10 "{"
- WHITESPACE@10..11 " "
- EXPR_STMT@11..24
- MACRO_CALL@11..23
- PATH@11..14
- PATH_SEGMENT@11..14
- NAME_REF@11..14
- IDENT@11..14 "try"
- BANG@14..15 "!"
- TOKEN_TREE@15..23
- L_PAREN@15..16 "("
- IDENT@16..18 "Ok"
- TOKEN_TREE@18..22
- L_PAREN@18..19 "("
- TOKEN_TREE@19..21
- L_PAREN@19..20 "("
- R_PAREN@20..21 ")"
- R_PAREN@21..22 ")"
- R_PAREN@22..23 ")"
- SEMICOLON@23..24 ";"
- WHITESPACE@24..25 " "
- R_CURLY@25..26 "}"
+ L_CURLY@9..10 "{"
+ WHITESPACE@10..11 " "
+ EXPR_STMT@11..24
+ MACRO_CALL@11..23
+ PATH@11..14
+ PATH_SEGMENT@11..14
+ NAME_REF@11..14
+ IDENT@11..14 "try"
+ BANG@14..15 "!"
+ TOKEN_TREE@15..23
+ L_PAREN@15..16 "("
+ IDENT@16..18 "Ok"
+ TOKEN_TREE@18..22
+ L_PAREN@18..19 "("
+ TOKEN_TREE@19..21
+ L_PAREN@19..20 "("
+ R_PAREN@20..21 ")"
+ R_PAREN@21..22 ")"
+ R_PAREN@22..23 ")"
+ SEMICOLON@23..24 ";"
+ WHITESPACE@24..25 " "
+ R_CURLY@25..26 "}"
WHITESPACE@26..27 "\n"
R_PAREN@7..8 ")"
WHITESPACE@8..9 " "
BLOCK_EXPR@9..12
- BLOCK@9..12
- L_CURLY@9..10 "{"
- WHITESPACE@10..11 "\n"
- R_CURLY@11..12 "}"
+ L_CURLY@9..10 "{"
+ WHITESPACE@10..11 "\n"
+ R_CURLY@11..12 "}"
WHITESPACE@12..13 "\n"
R_PAREN@38..39 ")"
WHITESPACE@39..40 " "
BLOCK_EXPR@40..47
- BLOCK@40..47
- L_CURLY@40..41 "{"
- WHITESPACE@41..46 "\n "
- R_CURLY@46..47 "}"
+ L_CURLY@40..41 "{"
+ WHITESPACE@41..46 "\n "
+ R_CURLY@46..47 "}"
WHITESPACE@47..52 "\n "
STRUCT_DEF@52..63
STRUCT_KW@52..58 "struct"
R_PAREN@30..31 ")"
WHITESPACE@31..32 " "
BLOCK_EXPR@32..34
- BLOCK@32..34
- L_CURLY@32..33 "{"
- R_CURLY@33..34 "}"
+ L_CURLY@32..33 "{"
+ R_CURLY@33..34 "}"
WHITESPACE@34..36 "\n\n"
MODULE@36..59
ATTR@36..52
R_PAREN@5..6 ")"
WHITESPACE@6..7 " "
BLOCK_EXPR@7..9
- BLOCK@7..9
- L_CURLY@7..8 "{"
- R_CURLY@8..9 "}"
+ L_CURLY@7..8 "{"
+ R_CURLY@8..9 "}"
WHITESPACE@9..10 "\n"
FN_DEF@10..23
VISIBILITY@10..13
R_PAREN@19..20 ")"
WHITESPACE@20..21 " "
BLOCK_EXPR@21..23
- BLOCK@21..23
- L_CURLY@21..22 "{"
- R_CURLY@22..23 "}"
+ L_CURLY@21..22 "{"
+ R_CURLY@22..23 "}"
WHITESPACE@23..24 "\n"
FN_DEF@24..44
VISIBILITY@24..34
R_PAREN@40..41 ")"
WHITESPACE@41..42 " "
BLOCK_EXPR@42..44
- BLOCK@42..44
- L_CURLY@42..43 "{"
- R_CURLY@43..44 "}"
+ L_CURLY@42..43 "{"
+ R_CURLY@43..44 "}"
WHITESPACE@44..45 "\n"
FN_DEF@45..65
VISIBILITY@45..55
R_PAREN@61..62 ")"
WHITESPACE@62..63 " "
BLOCK_EXPR@63..65
- BLOCK@63..65
- L_CURLY@63..64 "{"
- R_CURLY@64..65 "}"
+ L_CURLY@63..64 "{"
+ R_CURLY@64..65 "}"
WHITESPACE@65..66 "\n"
FN_DEF@66..97
VISIBILITY@66..87
R_PAREN@93..94 ")"
WHITESPACE@94..95 " "
BLOCK_EXPR@95..97
- BLOCK@95..97
- L_CURLY@95..96 "{"
- R_CURLY@96..97 "}"
+ L_CURLY@95..96 "{"
+ R_CURLY@96..97 "}"
WHITESPACE@97..98 "\n"
R_PAREN@18..19 ")"
WHITESPACE@19..20 " "
BLOCK_EXPR@20..22
- BLOCK@20..22
- L_CURLY@20..21 "{"
- R_CURLY@21..22 "}"
+ L_CURLY@20..21 "{"
+ R_CURLY@21..22 "}"
WHITESPACE@22..23 "\n"
R_PAREN@14..15 ")"
WHITESPACE@15..16 " "
BLOCK_EXPR@16..19
- BLOCK@16..19
- L_CURLY@16..17 "{"
- WHITESPACE@17..18 "\n"
- R_CURLY@18..19 "}"
+ L_CURLY@16..17 "{"
+ WHITESPACE@17..18 "\n"
+ R_CURLY@18..19 "}"
WHITESPACE@19..21 "\n\n"
FN_DEF@21..44
ABI@21..31
R_PAREN@39..40 ")"
WHITESPACE@40..41 " "
BLOCK_EXPR@41..44
- BLOCK@41..44
- L_CURLY@41..42 "{"
- WHITESPACE@42..43 "\n"
- R_CURLY@43..44 "}"
+ L_CURLY@41..42 "{"
+ WHITESPACE@42..43 "\n"
+ R_CURLY@43..44 "}"
WHITESPACE@44..46 "\n\n"
FN_DEF@46..70
ABI@46..57
R_PAREN@65..66 ")"
WHITESPACE@66..67 " "
BLOCK_EXPR@67..70
- BLOCK@67..70
- L_CURLY@67..68 "{"
- WHITESPACE@68..69 "\n"
- R_CURLY@69..70 "}"
+ L_CURLY@67..68 "{"
+ WHITESPACE@68..69 "\n"
+ R_CURLY@69..70 "}"
WHITESPACE@70..71 "\n"
R_PAREN@8..9 ")"
WHITESPACE@9..10 " "
BLOCK_EXPR@10..34
- BLOCK@10..34
- L_CURLY@10..11 "{"
- WHITESPACE@11..16 "\n "
- FN_DEF@16..32
- ABI@16..22
- EXTERN_KW@16..22 "extern"
- WHITESPACE@22..23 " "
- FN_KW@23..25 "fn"
- WHITESPACE@25..26 " "
- NAME@26..27
- IDENT@26..27 "f"
- PARAM_LIST@27..29
- L_PAREN@27..28 "("
- R_PAREN@28..29 ")"
- WHITESPACE@29..30 " "
- BLOCK_EXPR@30..32
- BLOCK@30..32
- L_CURLY@30..31 "{"
- R_CURLY@31..32 "}"
- WHITESPACE@32..33 "\n"
- R_CURLY@33..34 "}"
+ L_CURLY@10..11 "{"
+ WHITESPACE@11..16 "\n "
+ FN_DEF@16..32
+ ABI@16..22
+ EXTERN_KW@16..22 "extern"
+ WHITESPACE@22..23 " "
+ FN_KW@23..25 "fn"
+ WHITESPACE@25..26 " "
+ NAME@26..27
+ IDENT@26..27 "f"
+ PARAM_LIST@27..29
+ L_PAREN@27..28 "("
+ R_PAREN@28..29 ")"
+ WHITESPACE@29..30 " "
+ BLOCK_EXPR@30..32
+ L_CURLY@30..31 "{"
+ R_CURLY@31..32 "}"
+ WHITESPACE@32..33 "\n"
+ R_CURLY@33..34 "}"
WHITESPACE@34..35 "\n"
R_PAREN@8..9 ")"
WHITESPACE@9..10 " "
BLOCK_EXPR@10..33
- BLOCK@10..33
- L_CURLY@10..11 "{"
- WHITESPACE@11..16 "\n "
- FN_DEF@16..31
- CONST_KW@16..21 "const"
- WHITESPACE@21..22 " "
- FN_KW@22..24 "fn"
- WHITESPACE@24..25 " "
- NAME@25..26
- IDENT@25..26 "f"
- PARAM_LIST@26..28
- L_PAREN@26..27 "("
- R_PAREN@27..28 ")"
- WHITESPACE@28..29 " "
- BLOCK_EXPR@29..31
- BLOCK@29..31
- L_CURLY@29..30 "{"
- R_CURLY@30..31 "}"
- WHITESPACE@31..32 "\n"
- R_CURLY@32..33 "}"
+ L_CURLY@10..11 "{"
+ WHITESPACE@11..16 "\n "
+ FN_DEF@16..31
+ CONST_KW@16..21 "const"
+ WHITESPACE@21..22 " "
+ FN_KW@22..24 "fn"
+ WHITESPACE@24..25 " "
+ NAME@25..26
+ IDENT@25..26 "f"
+ PARAM_LIST@26..28
+ L_PAREN@26..27 "("
+ R_PAREN@27..28 ")"
+ WHITESPACE@28..29 " "
+ BLOCK_EXPR@29..31
+ L_CURLY@29..30 "{"
+ R_CURLY@30..31 "}"
+ WHITESPACE@31..32 "\n"
+ R_CURLY@32..33 "}"
WHITESPACE@33..34 "\n"
R_PAREN@8..9 ")"
WHITESPACE@9..10 " "
BLOCK_EXPR@10..52
- BLOCK@10..52
- L_CURLY@10..11 "{"
- WHITESPACE@11..16 "\n "
- FN_DEF@16..32
- UNSAFE_KW@16..22 "unsafe"
- WHITESPACE@22..23 " "
- FN_KW@23..25 "fn"
- WHITESPACE@25..26 " "
- NAME@26..27
- IDENT@26..27 "f"
- PARAM_LIST@27..29
- L_PAREN@27..28 "("
- R_PAREN@28..29 ")"
- WHITESPACE@29..30 " "
- BLOCK_EXPR@30..32
- BLOCK@30..32
- L_CURLY@30..31 "{"
- R_CURLY@31..32 "}"
- WHITESPACE@32..37 "\n "
- BLOCK_EXPR@37..50
- UNSAFE_KW@37..43 "unsafe"
- WHITESPACE@43..44 " "
- BLOCK@44..50
- L_CURLY@44..45 "{"
- WHITESPACE@45..46 " "
- LITERAL@46..48
- INT_NUMBER@46..48 "92"
- WHITESPACE@48..49 " "
- R_CURLY@49..50 "}"
- WHITESPACE@50..51 "\n"
- R_CURLY@51..52 "}"
+ L_CURLY@10..11 "{"
+ WHITESPACE@11..16 "\n "
+ FN_DEF@16..32
+ UNSAFE_KW@16..22 "unsafe"
+ WHITESPACE@22..23 " "
+ FN_KW@23..25 "fn"
+ WHITESPACE@25..26 " "
+ NAME@26..27
+ IDENT@26..27 "f"
+ PARAM_LIST@27..29
+ L_PAREN@27..28 "("
+ R_PAREN@28..29 ")"
+ WHITESPACE@29..30 " "
+ BLOCK_EXPR@30..32
+ L_CURLY@30..31 "{"
+ R_CURLY@31..32 "}"
+ WHITESPACE@32..37 "\n "
+ EFFECT_EXPR@37..50
+ UNSAFE_KW@37..43 "unsafe"
+ WHITESPACE@43..44 " "
+ BLOCK_EXPR@44..50
+ L_CURLY@44..45 "{"
+ WHITESPACE@45..46 " "
+ LITERAL@46..48
+ INT_NUMBER@46..48 "92"
+ WHITESPACE@48..49 " "
+ R_CURLY@49..50 "}"
+ WHITESPACE@50..51 "\n"
+ R_CURLY@51..52 "}"
WHITESPACE@52..53 "\n"
R_PAREN@17..18 ")"
WHITESPACE@18..19 " "
BLOCK_EXPR@19..247
- BLOCK@19..247
- L_CURLY@19..20 "{"
- WHITESPACE@20..25 "\n "
- LET_STMT@25..55
- LET_KW@25..28 "let"
- WHITESPACE@28..29 " "
- BIND_PAT@29..30
- NAME@29..30
- IDENT@29..30 "x"
- WHITESPACE@30..31 " "
- EQ@31..32 "="
- WHITESPACE@32..33 " "
- BIN_EXPR@33..54
- BIN_EXPR@33..46
- LITERAL@33..34
- INT_NUMBER@33..34 "1"
- WHITESPACE@34..35 " "
- PLUS@35..36 "+"
- WHITESPACE@36..37 " "
- BIN_EXPR@37..46
- BIN_EXPR@37..42
- LITERAL@37..38
- INT_NUMBER@37..38 "2"
- WHITESPACE@38..39 " "
- STAR@39..40 "*"
- WHITESPACE@40..41 " "
- LITERAL@41..42
- INT_NUMBER@41..42 "3"
- WHITESPACE@42..43 " "
- PERCENT@43..44 "%"
- WHITESPACE@44..45 " "
- LITERAL@45..46
- INT_NUMBER@45..46 "4"
- WHITESPACE@46..47 " "
- MINUS@47..48 "-"
- WHITESPACE@48..49 " "
- BIN_EXPR@49..54
- LITERAL@49..50
- INT_NUMBER@49..50 "5"
- WHITESPACE@50..51 " "
- SLASH@51..52 "/"
- WHITESPACE@52..53 " "
- LITERAL@53..54
- INT_NUMBER@53..54 "6"
- SEMICOLON@54..55 ";"
- WHITESPACE@55..60 "\n "
- EXPR_STMT@60..70
- BIN_EXPR@60..69
- LITERAL@60..61
- INT_NUMBER@60..61 "1"
- WHITESPACE@61..62 " "
- PLUS@62..63 "+"
- WHITESPACE@63..64 " "
- BIN_EXPR@64..69
- LITERAL@64..65
- INT_NUMBER@64..65 "2"
- WHITESPACE@65..66 " "
- STAR@66..67 "*"
- WHITESPACE@67..68 " "
- LITERAL@68..69
- INT_NUMBER@68..69 "3"
- SEMICOLON@69..70 ";"
- WHITESPACE@70..75 "\n "
- EXPR_STMT@75..86
- BIN_EXPR@75..85
- LITERAL@75..76
- INT_NUMBER@75..76 "1"
- WHITESPACE@76..77 " "
- SHL@77..79 "<<"
- WHITESPACE@79..80 " "
- BIN_EXPR@80..85
- LITERAL@80..81
- INT_NUMBER@80..81 "2"
- WHITESPACE@81..82 " "
- PLUS@82..83 "+"
- WHITESPACE@83..84 " "
- LITERAL@84..85
- INT_NUMBER@84..85 "3"
- SEMICOLON@85..86 ";"
- WHITESPACE@86..91 "\n "
- EXPR_STMT@91..102
- BIN_EXPR@91..101
- LITERAL@91..92
- INT_NUMBER@91..92 "1"
- WHITESPACE@92..93 " "
- AMP@93..94 "&"
- WHITESPACE@94..95 " "
- BIN_EXPR@95..101
- LITERAL@95..96
- INT_NUMBER@95..96 "2"
- WHITESPACE@96..97 " "
- SHR@97..99 ">>"
- WHITESPACE@99..100 " "
- LITERAL@100..101
- INT_NUMBER@100..101 "3"
- SEMICOLON@101..102 ";"
- WHITESPACE@102..107 "\n "
- EXPR_STMT@107..117
- BIN_EXPR@107..116
- LITERAL@107..108
- INT_NUMBER@107..108 "1"
- WHITESPACE@108..109 " "
- CARET@109..110 "^"
- WHITESPACE@110..111 " "
- BIN_EXPR@111..116
- LITERAL@111..112
- INT_NUMBER@111..112 "2"
- WHITESPACE@112..113 " "
- AMP@113..114 "&"
- WHITESPACE@114..115 " "
- LITERAL@115..116
- INT_NUMBER@115..116 "3"
- SEMICOLON@116..117 ";"
- WHITESPACE@117..122 "\n "
- EXPR_STMT@122..132
- BIN_EXPR@122..131
- LITERAL@122..123
- INT_NUMBER@122..123 "1"
- WHITESPACE@123..124 " "
- PIPE@124..125 "|"
- WHITESPACE@125..126 " "
- BIN_EXPR@126..131
- LITERAL@126..127
- INT_NUMBER@126..127 "2"
- WHITESPACE@127..128 " "
- CARET@128..129 "^"
- WHITESPACE@129..130 " "
- LITERAL@130..131
- INT_NUMBER@130..131 "3"
- SEMICOLON@131..132 ";"
- WHITESPACE@132..137 "\n "
- EXPR_STMT@137..148
- BIN_EXPR@137..147
- LITERAL@137..138
- INT_NUMBER@137..138 "1"
- WHITESPACE@138..139 " "
- EQ2@139..141 "=="
- WHITESPACE@141..142 " "
- BIN_EXPR@142..147
- LITERAL@142..143
- INT_NUMBER@142..143 "2"
- WHITESPACE@143..144 " "
- PIPE@144..145 "|"
- WHITESPACE@145..146 " "
- LITERAL@146..147
- INT_NUMBER@146..147 "3"
- SEMICOLON@147..148 ";"
- WHITESPACE@148..153 "\n "
- EXPR_STMT@153..165
- BIN_EXPR@153..164
- LITERAL@153..154
- INT_NUMBER@153..154 "1"
- WHITESPACE@154..155 " "
- AMP2@155..157 "&&"
- WHITESPACE@157..158 " "
- BIN_EXPR@158..164
- LITERAL@158..159
- INT_NUMBER@158..159 "2"
- WHITESPACE@159..160 " "
- EQ2@160..162 "=="
- WHITESPACE@162..163 " "
- LITERAL@163..164
- INT_NUMBER@163..164 "3"
- SEMICOLON@164..165 ";"
- WHITESPACE@165..170 "\n "
- COMMENT@170..184 "//1 || 2 && 2;"
- WHITESPACE@184..189 "\n "
- COMMENT@189..203 "//1 .. 2 || 3;"
- WHITESPACE@203..208 "\n "
- COMMENT@208..221 "//1 = 2 .. 3;"
- WHITESPACE@221..226 "\n "
- COMMENT@226..245 "//---&*1 - --2 * 9;"
- WHITESPACE@245..246 "\n"
- R_CURLY@246..247 "}"
+ L_CURLY@19..20 "{"
+ WHITESPACE@20..25 "\n "
+ LET_STMT@25..55
+ LET_KW@25..28 "let"
+ WHITESPACE@28..29 " "
+ BIND_PAT@29..30
+ NAME@29..30
+ IDENT@29..30 "x"
+ WHITESPACE@30..31 " "
+ EQ@31..32 "="
+ WHITESPACE@32..33 " "
+ BIN_EXPR@33..54
+ BIN_EXPR@33..46
+ LITERAL@33..34
+ INT_NUMBER@33..34 "1"
+ WHITESPACE@34..35 " "
+ PLUS@35..36 "+"
+ WHITESPACE@36..37 " "
+ BIN_EXPR@37..46
+ BIN_EXPR@37..42
+ LITERAL@37..38
+ INT_NUMBER@37..38 "2"
+ WHITESPACE@38..39 " "
+ STAR@39..40 "*"
+ WHITESPACE@40..41 " "
+ LITERAL@41..42
+ INT_NUMBER@41..42 "3"
+ WHITESPACE@42..43 " "
+ PERCENT@43..44 "%"
+ WHITESPACE@44..45 " "
+ LITERAL@45..46
+ INT_NUMBER@45..46 "4"
+ WHITESPACE@46..47 " "
+ MINUS@47..48 "-"
+ WHITESPACE@48..49 " "
+ BIN_EXPR@49..54
+ LITERAL@49..50
+ INT_NUMBER@49..50 "5"
+ WHITESPACE@50..51 " "
+ SLASH@51..52 "/"
+ WHITESPACE@52..53 " "
+ LITERAL@53..54
+ INT_NUMBER@53..54 "6"
+ SEMICOLON@54..55 ";"
+ WHITESPACE@55..60 "\n "
+ EXPR_STMT@60..70
+ BIN_EXPR@60..69
+ LITERAL@60..61
+ INT_NUMBER@60..61 "1"
+ WHITESPACE@61..62 " "
+ PLUS@62..63 "+"
+ WHITESPACE@63..64 " "
+ BIN_EXPR@64..69
+ LITERAL@64..65
+ INT_NUMBER@64..65 "2"
+ WHITESPACE@65..66 " "
+ STAR@66..67 "*"
+ WHITESPACE@67..68 " "
+ LITERAL@68..69
+ INT_NUMBER@68..69 "3"
+ SEMICOLON@69..70 ";"
+ WHITESPACE@70..75 "\n "
+ EXPR_STMT@75..86
+ BIN_EXPR@75..85
+ LITERAL@75..76
+ INT_NUMBER@75..76 "1"
+ WHITESPACE@76..77 " "
+ SHL@77..79 "<<"
+ WHITESPACE@79..80 " "
+ BIN_EXPR@80..85
+ LITERAL@80..81
+ INT_NUMBER@80..81 "2"
+ WHITESPACE@81..82 " "
+ PLUS@82..83 "+"
+ WHITESPACE@83..84 " "
+ LITERAL@84..85
+ INT_NUMBER@84..85 "3"
+ SEMICOLON@85..86 ";"
+ WHITESPACE@86..91 "\n "
+ EXPR_STMT@91..102
+ BIN_EXPR@91..101
+ LITERAL@91..92
+ INT_NUMBER@91..92 "1"
+ WHITESPACE@92..93 " "
+ AMP@93..94 "&"
+ WHITESPACE@94..95 " "
+ BIN_EXPR@95..101
+ LITERAL@95..96
+ INT_NUMBER@95..96 "2"
+ WHITESPACE@96..97 " "
+ SHR@97..99 ">>"
+ WHITESPACE@99..100 " "
+ LITERAL@100..101
+ INT_NUMBER@100..101 "3"
+ SEMICOLON@101..102 ";"
+ WHITESPACE@102..107 "\n "
+ EXPR_STMT@107..117
+ BIN_EXPR@107..116
+ LITERAL@107..108
+ INT_NUMBER@107..108 "1"
+ WHITESPACE@108..109 " "
+ CARET@109..110 "^"
+ WHITESPACE@110..111 " "
+ BIN_EXPR@111..116
+ LITERAL@111..112
+ INT_NUMBER@111..112 "2"
+ WHITESPACE@112..113 " "
+ AMP@113..114 "&"
+ WHITESPACE@114..115 " "
+ LITERAL@115..116
+ INT_NUMBER@115..116 "3"
+ SEMICOLON@116..117 ";"
+ WHITESPACE@117..122 "\n "
+ EXPR_STMT@122..132
+ BIN_EXPR@122..131
+ LITERAL@122..123
+ INT_NUMBER@122..123 "1"
+ WHITESPACE@123..124 " "
+ PIPE@124..125 "|"
+ WHITESPACE@125..126 " "
+ BIN_EXPR@126..131
+ LITERAL@126..127
+ INT_NUMBER@126..127 "2"
+ WHITESPACE@127..128 " "
+ CARET@128..129 "^"
+ WHITESPACE@129..130 " "
+ LITERAL@130..131
+ INT_NUMBER@130..131 "3"
+ SEMICOLON@131..132 ";"
+ WHITESPACE@132..137 "\n "
+ EXPR_STMT@137..148
+ BIN_EXPR@137..147
+ LITERAL@137..138
+ INT_NUMBER@137..138 "1"
+ WHITESPACE@138..139 " "
+ EQ2@139..141 "=="
+ WHITESPACE@141..142 " "
+ BIN_EXPR@142..147
+ LITERAL@142..143
+ INT_NUMBER@142..143 "2"
+ WHITESPACE@143..144 " "
+ PIPE@144..145 "|"
+ WHITESPACE@145..146 " "
+ LITERAL@146..147
+ INT_NUMBER@146..147 "3"
+ SEMICOLON@147..148 ";"
+ WHITESPACE@148..153 "\n "
+ EXPR_STMT@153..165
+ BIN_EXPR@153..164
+ LITERAL@153..154
+ INT_NUMBER@153..154 "1"
+ WHITESPACE@154..155 " "
+ AMP2@155..157 "&&"
+ WHITESPACE@157..158 " "
+ BIN_EXPR@158..164
+ LITERAL@158..159
+ INT_NUMBER@158..159 "2"
+ WHITESPACE@159..160 " "
+ EQ2@160..162 "=="
+ WHITESPACE@162..163 " "
+ LITERAL@163..164
+ INT_NUMBER@163..164 "3"
+ SEMICOLON@164..165 ";"
+ WHITESPACE@165..170 "\n "
+ COMMENT@170..184 "//1 || 2 && 2;"
+ WHITESPACE@184..189 "\n "
+ COMMENT@189..203 "//1 .. 2 || 3;"
+ WHITESPACE@203..208 "\n "
+ COMMENT@208..221 "//1 = 2 .. 3;"
+ WHITESPACE@221..226 "\n "
+ COMMENT@226..245 "//---&*1 - --2 * 9;"
+ WHITESPACE@245..246 "\n"
+ R_CURLY@246..247 "}"
WHITESPACE@247..248 "\n"
R_PAREN@7..8 ")"
WHITESPACE@8..9 " "
BLOCK_EXPR@9..152
- BLOCK@9..152
- L_CURLY@9..10 "{"
- WHITESPACE@10..15 "\n "
- EXPR_STMT@15..23
- RANGE_EXPR@15..22
- DOT2@15..17 ".."
- BIN_EXPR@17..22
- LITERAL@17..18
- INT_NUMBER@17..18 "1"
- WHITESPACE@18..19 " "
- PLUS@19..20 "+"
- WHITESPACE@20..21 " "
- LITERAL@21..22
- INT_NUMBER@21..22 "1"
- SEMICOLON@22..23 ";"
- WHITESPACE@23..28 "\n "
- EXPR_STMT@28..36
- BIN_EXPR@28..35
- RANGE_EXPR@28..31
- DOT2@28..30 ".."
- PATH_EXPR@30..31
- PATH@30..31
- PATH_SEGMENT@30..31
- NAME_REF@30..31
- IDENT@30..31 "z"
- WHITESPACE@31..32 " "
- EQ@32..33 "="
- WHITESPACE@33..34 " "
- LITERAL@34..35
- INT_NUMBER@34..35 "2"
- SEMICOLON@35..36 ";"
- WHITESPACE@36..41 "\n "
- EXPR_STMT@41..59
- BIN_EXPR@41..58
- PATH_EXPR@41..42
- PATH@41..42
- PATH_SEGMENT@41..42
- NAME_REF@41..42
- IDENT@41..42 "x"
- WHITESPACE@42..43 " "
- EQ@43..44 "="
- WHITESPACE@44..45 " "
- RANGE_EXPR@45..58
- LITERAL@45..50
- FALSE_KW@45..50 "false"
- DOT2@50..52 ".."
- BIN_EXPR@52..58
- LITERAL@52..53
- INT_NUMBER@52..53 "1"
- WHITESPACE@53..54 " "
- EQ2@54..56 "=="
- WHITESPACE@56..57 " "
- LITERAL@57..58
- INT_NUMBER@57..58 "1"
- SEMICOLON@58..59 ";"
- WHITESPACE@59..64 "\n "
- LET_STMT@64..76
- LET_KW@64..67 "let"
- WHITESPACE@67..68 " "
- BIND_PAT@68..69
- NAME@68..69
- IDENT@68..69 "x"
- WHITESPACE@69..70 " "
- EQ@70..71 "="
- WHITESPACE@71..72 " "
- RANGE_EXPR@72..75
- LITERAL@72..73
- INT_NUMBER@72..73 "1"
- DOT2@73..75 ".."
- SEMICOLON@75..76 ";"
- WHITESPACE@76..86 "\n \n "
- EXPR_STMT@86..95
- RANGE_EXPR@86..94
- DOT2EQ@86..89 "..="
- BIN_EXPR@89..94
- LITERAL@89..90
- INT_NUMBER@89..90 "1"
- WHITESPACE@90..91 " "
- PLUS@91..92 "+"
- WHITESPACE@92..93 " "
- LITERAL@93..94
- INT_NUMBER@93..94 "1"
- SEMICOLON@94..95 ";"
- WHITESPACE@95..100 "\n "
- EXPR_STMT@100..109
- BIN_EXPR@100..108
- RANGE_EXPR@100..104
- DOT2EQ@100..103 "..="
- PATH_EXPR@103..104
- PATH@103..104
- PATH_SEGMENT@103..104
- NAME_REF@103..104
- IDENT@103..104 "z"
- WHITESPACE@104..105 " "
- EQ@105..106 "="
- WHITESPACE@106..107 " "
- LITERAL@107..108
- INT_NUMBER@107..108 "2"
- SEMICOLON@108..109 ";"
- WHITESPACE@109..114 "\n "
- EXPR_STMT@114..133
- BIN_EXPR@114..132
- PATH_EXPR@114..115
- PATH@114..115
- PATH_SEGMENT@114..115
- NAME_REF@114..115
- IDENT@114..115 "x"
- WHITESPACE@115..116 " "
- EQ@116..117 "="
- WHITESPACE@117..118 " "
- RANGE_EXPR@118..132
- LITERAL@118..123
- FALSE_KW@118..123 "false"
- DOT2EQ@123..126 "..="
- BIN_EXPR@126..132
- LITERAL@126..127
- INT_NUMBER@126..127 "1"
- WHITESPACE@127..128 " "
- EQ2@128..130 "=="
- WHITESPACE@130..131 " "
- LITERAL@131..132
- INT_NUMBER@131..132 "1"
- SEMICOLON@132..133 ";"
- WHITESPACE@133..138 "\n "
- LET_STMT@138..150
- LET_KW@138..141 "let"
- WHITESPACE@141..142 " "
- BIND_PAT@142..143
- NAME@142..143
- IDENT@142..143 "x"
- WHITESPACE@143..144 " "
- EQ@144..145 "="
- WHITESPACE@145..146 " "
- RANGE_EXPR@146..149
- LITERAL@146..147
- INT_NUMBER@146..147 "1"
- DOT2@147..149 ".."
- SEMICOLON@149..150 ";"
- WHITESPACE@150..151 "\n"
- R_CURLY@151..152 "}"
+ L_CURLY@9..10 "{"
+ WHITESPACE@10..15 "\n "
+ EXPR_STMT@15..23
+ RANGE_EXPR@15..22
+ DOT2@15..17 ".."
+ BIN_EXPR@17..22
+ LITERAL@17..18
+ INT_NUMBER@17..18 "1"
+ WHITESPACE@18..19 " "
+ PLUS@19..20 "+"
+ WHITESPACE@20..21 " "
+ LITERAL@21..22
+ INT_NUMBER@21..22 "1"
+ SEMICOLON@22..23 ";"
+ WHITESPACE@23..28 "\n "
+ EXPR_STMT@28..36
+ BIN_EXPR@28..35
+ RANGE_EXPR@28..31
+ DOT2@28..30 ".."
+ PATH_EXPR@30..31
+ PATH@30..31
+ PATH_SEGMENT@30..31
+ NAME_REF@30..31
+ IDENT@30..31 "z"
+ WHITESPACE@31..32 " "
+ EQ@32..33 "="
+ WHITESPACE@33..34 " "
+ LITERAL@34..35
+ INT_NUMBER@34..35 "2"
+ SEMICOLON@35..36 ";"
+ WHITESPACE@36..41 "\n "
+ EXPR_STMT@41..59
+ BIN_EXPR@41..58
+ PATH_EXPR@41..42
+ PATH@41..42
+ PATH_SEGMENT@41..42
+ NAME_REF@41..42
+ IDENT@41..42 "x"
+ WHITESPACE@42..43 " "
+ EQ@43..44 "="
+ WHITESPACE@44..45 " "
+ RANGE_EXPR@45..58
+ LITERAL@45..50
+ FALSE_KW@45..50 "false"
+ DOT2@50..52 ".."
+ BIN_EXPR@52..58
+ LITERAL@52..53
+ INT_NUMBER@52..53 "1"
+ WHITESPACE@53..54 " "
+ EQ2@54..56 "=="
+ WHITESPACE@56..57 " "
+ LITERAL@57..58
+ INT_NUMBER@57..58 "1"
+ SEMICOLON@58..59 ";"
+ WHITESPACE@59..64 "\n "
+ LET_STMT@64..76
+ LET_KW@64..67 "let"
+ WHITESPACE@67..68 " "
+ BIND_PAT@68..69
+ NAME@68..69
+ IDENT@68..69 "x"
+ WHITESPACE@69..70 " "
+ EQ@70..71 "="
+ WHITESPACE@71..72 " "
+ RANGE_EXPR@72..75
+ LITERAL@72..73
+ INT_NUMBER@72..73 "1"
+ DOT2@73..75 ".."
+ SEMICOLON@75..76 ";"
+ WHITESPACE@76..86 "\n \n "
+ EXPR_STMT@86..95
+ RANGE_EXPR@86..94
+ DOT2EQ@86..89 "..="
+ BIN_EXPR@89..94
+ LITERAL@89..90
+ INT_NUMBER@89..90 "1"
+ WHITESPACE@90..91 " "
+ PLUS@91..92 "+"
+ WHITESPACE@92..93 " "
+ LITERAL@93..94
+ INT_NUMBER@93..94 "1"
+ SEMICOLON@94..95 ";"
+ WHITESPACE@95..100 "\n "
+ EXPR_STMT@100..109
+ BIN_EXPR@100..108
+ RANGE_EXPR@100..104
+ DOT2EQ@100..103 "..="
+ PATH_EXPR@103..104
+ PATH@103..104
+ PATH_SEGMENT@103..104
+ NAME_REF@103..104
+ IDENT@103..104 "z"
+ WHITESPACE@104..105 " "
+ EQ@105..106 "="
+ WHITESPACE@106..107 " "
+ LITERAL@107..108
+ INT_NUMBER@107..108 "2"
+ SEMICOLON@108..109 ";"
+ WHITESPACE@109..114 "\n "
+ EXPR_STMT@114..133
+ BIN_EXPR@114..132
+ PATH_EXPR@114..115
+ PATH@114..115
+ PATH_SEGMENT@114..115
+ NAME_REF@114..115
+ IDENT@114..115 "x"
+ WHITESPACE@115..116 " "
+ EQ@116..117 "="
+ WHITESPACE@117..118 " "
+ RANGE_EXPR@118..132
+ LITERAL@118..123
+ FALSE_KW@118..123 "false"
+ DOT2EQ@123..126 "..="
+ BIN_EXPR@126..132
+ LITERAL@126..127
+ INT_NUMBER@126..127 "1"
+ WHITESPACE@127..128 " "
+ EQ2@128..130 "=="
+ WHITESPACE@130..131 " "
+ LITERAL@131..132
+ INT_NUMBER@131..132 "1"
+ SEMICOLON@132..133 ";"
+ WHITESPACE@133..138 "\n "
+ LET_STMT@138..150
+ LET_KW@138..141 "let"
+ WHITESPACE@141..142 " "
+ BIND_PAT@142..143
+ NAME@142..143
+ IDENT@142..143 "x"
+ WHITESPACE@143..144 " "
+ EQ@144..145 "="
+ WHITESPACE@145..146 " "
+ RANGE_EXPR@146..149
+ LITERAL@146..147
+ INT_NUMBER@146..147 "1"
+ DOT2@147..149 ".."
+ SEMICOLON@149..150 ";"
+ WHITESPACE@150..151 "\n"
+ R_CURLY@151..152 "}"
WHITESPACE@152..153 "\n"
R_PAREN@8..9 ")"
WHITESPACE@9..10 " "
BLOCK_EXPR@10..111
- BLOCK@10..111
- L_CURLY@10..11 "{"
- WHITESPACE@11..16 "\n "
- LET_STMT@16..31
- LET_KW@16..19 "let"
- WHITESPACE@19..20 " "
- PLACEHOLDER_PAT@20..21
- UNDERSCORE@20..21 "_"
- WHITESPACE@21..22 " "
- EQ@22..23 "="
- WHITESPACE@23..24 " "
- LITERAL@24..30
- CHAR@24..30 "\'c\'u32"
- SEMICOLON@30..31 ";"
- WHITESPACE@31..36 "\n "
- LET_STMT@36..60
- LET_KW@36..39 "let"
- WHITESPACE@39..40 " "
- PLACEHOLDER_PAT@40..41
- UNDERSCORE@40..41 "_"
- WHITESPACE@41..42 " "
- EQ@42..43 "="
- WHITESPACE@43..44 " "
- LITERAL@44..59
- STRING@44..59 "\"string\"invalid"
- SEMICOLON@59..60 ";"
- WHITESPACE@60..65 "\n "
- LET_STMT@65..83
- LET_KW@65..68 "let"
- WHITESPACE@68..69 " "
- PLACEHOLDER_PAT@69..70
- UNDERSCORE@69..70 "_"
- WHITESPACE@70..71 " "
- EQ@71..72 "="
- WHITESPACE@72..73 " "
- LITERAL@73..82
- BYTE@73..82 "b\'b\'_suff"
- SEMICOLON@82..83 ";"
- WHITESPACE@83..88 "\n "
- LET_STMT@88..109
- LET_KW@88..91 "let"
- WHITESPACE@91..92 " "
- PLACEHOLDER_PAT@92..93
- UNDERSCORE@92..93 "_"
- WHITESPACE@93..94 " "
- EQ@94..95 "="
- WHITESPACE@95..96 " "
- LITERAL@96..108
- BYTE_STRING@96..108 "b\"bs\"invalid"
- SEMICOLON@108..109 ";"
- WHITESPACE@109..110 "\n"
- R_CURLY@110..111 "}"
+ L_CURLY@10..11 "{"
+ WHITESPACE@11..16 "\n "
+ LET_STMT@16..31
+ LET_KW@16..19 "let"
+ WHITESPACE@19..20 " "
+ PLACEHOLDER_PAT@20..21
+ UNDERSCORE@20..21 "_"
+ WHITESPACE@21..22 " "
+ EQ@22..23 "="
+ WHITESPACE@23..24 " "
+ LITERAL@24..30
+ CHAR@24..30 "\'c\'u32"
+ SEMICOLON@30..31 ";"
+ WHITESPACE@31..36 "\n "
+ LET_STMT@36..60
+ LET_KW@36..39 "let"
+ WHITESPACE@39..40 " "
+ PLACEHOLDER_PAT@40..41
+ UNDERSCORE@40..41 "_"
+ WHITESPACE@41..42 " "
+ EQ@42..43 "="
+ WHITESPACE@43..44 " "
+ LITERAL@44..59
+ STRING@44..59 "\"string\"invalid"
+ SEMICOLON@59..60 ";"
+ WHITESPACE@60..65 "\n "
+ LET_STMT@65..83
+ LET_KW@65..68 "let"
+ WHITESPACE@68..69 " "
+ PLACEHOLDER_PAT@69..70
+ UNDERSCORE@69..70 "_"
+ WHITESPACE@70..71 " "
+ EQ@71..72 "="
+ WHITESPACE@72..73 " "
+ LITERAL@73..82
+ BYTE@73..82 "b\'b\'_suff"
+ SEMICOLON@82..83 ";"
+ WHITESPACE@83..88 "\n "
+ LET_STMT@88..109
+ LET_KW@88..91 "let"
+ WHITESPACE@91..92 " "
+ PLACEHOLDER_PAT@92..93
+ UNDERSCORE@92..93 "_"
+ WHITESPACE@93..94 " "
+ EQ@94..95 "="
+ WHITESPACE@95..96 " "
+ LITERAL@96..108
+ BYTE_STRING@96..108 "b\"bs\"invalid"
+ SEMICOLON@108..109 ";"
+ WHITESPACE@109..110 "\n"
+ R_CURLY@110..111 "}"
WHITESPACE@111..112 "\n"
COMMA@111..112 ","
WHITESPACE@112..113 "\n"
BLOCK_EXPR@113..115
- BLOCK@113..115
- L_CURLY@113..114 "{"
- R_CURLY@114..115 "}"
+ L_CURLY@113..114 "{"
+ R_CURLY@114..115 "}"
WHITESPACE@115..116 "\n"
R_PAREN@42..43 ")"
WHITESPACE@43..44 " "
BLOCK_EXPR@44..505
- BLOCK@44..505
- L_CURLY@44..45 "{"
- WHITESPACE@45..50 "\n "
- EXPR_STMT@50..66
- BLOCK_EXPR@50..66
- LABEL@50..63
- LIFETIME@50..62 "\'empty_block"
- COLON@62..63 ":"
- WHITESPACE@63..64 " "
- BLOCK@64..66
- L_CURLY@64..65 "{"
- R_CURLY@65..66 "}"
- WHITESPACE@66..72 "\n\n "
- EXPR_STMT@72..295
- BLOCK_EXPR@72..295
- LABEL@72..79
- LIFETIME@72..78 "\'block"
- COLON@78..79 ":"
- WHITESPACE@79..80 " "
- BLOCK@80..295
- L_CURLY@80..81 "{"
- WHITESPACE@81..90 "\n "
- EXPR_STMT@90..101
- CALL_EXPR@90..100
- PATH_EXPR@90..98
- PATH@90..98
- PATH_SEGMENT@90..98
- NAME_REF@90..98
- IDENT@90..98 "do_thing"
- ARG_LIST@98..100
- L_PAREN@98..99 "("
- R_PAREN@99..100 ")"
- SEMICOLON@100..101 ";"
- WHITESPACE@101..110 "\n "
- EXPR_STMT@110..170
- IF_EXPR@110..170
- IF_KW@110..112 "if"
- WHITESPACE@112..113 " "
- CONDITION@113..132
- CALL_EXPR@113..132
- PATH_EXPR@113..130
- PATH@113..130
- PATH_SEGMENT@113..130
- NAME_REF@113..130
- IDENT@113..130 "condition_not_met"
- ARG_LIST@130..132
- L_PAREN@130..131 "("
- R_PAREN@131..132 ")"
- WHITESPACE@132..133 " "
- BLOCK_EXPR@133..170
- BLOCK@133..170
- L_CURLY@133..134 "{"
- WHITESPACE@134..147 "\n "
- EXPR_STMT@147..160
- BREAK_EXPR@147..159
- BREAK_KW@147..152 "break"
- WHITESPACE@152..153 " "
- LIFETIME@153..159 "\'block"
- SEMICOLON@159..160 ";"
- WHITESPACE@160..169 "\n "
- R_CURLY@169..170 "}"
- WHITESPACE@170..179 "\n "
- EXPR_STMT@179..195
- CALL_EXPR@179..194
- PATH_EXPR@179..192
- PATH@179..192
- PATH_SEGMENT@179..192
- NAME_REF@179..192
- IDENT@179..192 "do_next_thing"
- ARG_LIST@192..194
- L_PAREN@192..193 "("
- R_PAREN@193..194 ")"
- SEMICOLON@194..195 ";"
- WHITESPACE@195..204 "\n "
- EXPR_STMT@204..264
- IF_EXPR@204..264
- IF_KW@204..206 "if"
- WHITESPACE@206..207 " "
- CONDITION@207..226
- CALL_EXPR@207..226
- PATH_EXPR@207..224
- PATH@207..224
- PATH_SEGMENT@207..224
- NAME_REF@207..224
- IDENT@207..224 "condition_not_met"
- ARG_LIST@224..226
- L_PAREN@224..225 "("
- R_PAREN@225..226 ")"
- WHITESPACE@226..227 " "
- BLOCK_EXPR@227..264
- BLOCK@227..264
- L_CURLY@227..228 "{"
- WHITESPACE@228..241 "\n "
- EXPR_STMT@241..254
- BREAK_EXPR@241..253
- BREAK_KW@241..246 "break"
- WHITESPACE@246..247 " "
- LIFETIME@247..253 "\'block"
- SEMICOLON@253..254 ";"
- WHITESPACE@254..263 "\n "
- R_CURLY@263..264 "}"
- WHITESPACE@264..273 "\n "
- EXPR_STMT@273..289
- CALL_EXPR@273..288
- PATH_EXPR@273..286
- PATH@273..286
- PATH_SEGMENT@273..286
- NAME_REF@273..286
- IDENT@273..286 "do_last_thing"
- ARG_LIST@286..288
- L_PAREN@286..287 "("
- R_PAREN@287..288 ")"
- SEMICOLON@288..289 ";"
- WHITESPACE@289..294 "\n "
- R_CURLY@294..295 "}"
- WHITESPACE@295..301 "\n\n "
- LET_STMT@301..503
- LET_KW@301..304 "let"
- WHITESPACE@304..305 " "
- BIND_PAT@305..311
- NAME@305..311
- IDENT@305..311 "result"
- WHITESPACE@311..312 " "
- EQ@312..313 "="
- WHITESPACE@313..314 " "
- BLOCK_EXPR@314..502
- LABEL@314..321
- LIFETIME@314..320 "\'block"
- COLON@320..321 ":"
- WHITESPACE@321..322 " "
- BLOCK@322..502
- L_CURLY@322..323 "{"
- WHITESPACE@323..332 "\n "
- EXPR_STMT@332..403
- IF_EXPR@332..403
- IF_KW@332..334 "if"
- WHITESPACE@334..335 " "
- CONDITION@335..340
- CALL_EXPR@335..340
- PATH_EXPR@335..338
- PATH@335..338
- PATH_SEGMENT@335..338
- NAME_REF@335..338
- IDENT@335..338 "foo"
- ARG_LIST@338..340
- L_PAREN@338..339 "("
- R_PAREN@339..340 ")"
- WHITESPACE@340..341 " "
- BLOCK_EXPR@341..403
- BLOCK@341..403
- L_CURLY@341..342 "{"
- WHITESPACE@342..355 "\n "
- COMMENT@355..365 "// comment"
- WHITESPACE@365..378 "\n "
- EXPR_STMT@378..393
- BREAK_EXPR@378..392
- BREAK_KW@378..383 "break"
- WHITESPACE@383..384 " "
- LIFETIME@384..390 "\'block"
- WHITESPACE@390..391 " "
- LITERAL@391..392
- INT_NUMBER@391..392 "1"
- SEMICOLON@392..393 ";"
- WHITESPACE@393..402 "\n "
- R_CURLY@402..403 "}"
- WHITESPACE@403..412 "\n "
- EXPR_STMT@412..486
- IF_EXPR@412..486
- IF_KW@412..414 "if"
- WHITESPACE@414..415 " "
- CONDITION@415..420
- CALL_EXPR@415..420
- PATH_EXPR@415..418
- PATH@415..418
- PATH_SEGMENT@415..418
- NAME_REF@415..418
- IDENT@415..418 "bar"
- ARG_LIST@418..420
- L_PAREN@418..419 "("
- R_PAREN@419..420 ")"
- WHITESPACE@420..421 " "
- BLOCK_EXPR@421..486
- BLOCK@421..486
- L_CURLY@421..422 "{"
- WHITESPACE@422..435 "\n "
- COMMENT@435..448 "/* comment */"
- WHITESPACE@448..461 "\n "
- EXPR_STMT@461..476
- BREAK_EXPR@461..475
- BREAK_KW@461..466 "break"
- WHITESPACE@466..467 " "
- LIFETIME@467..473 "\'block"
- WHITESPACE@473..474 " "
- LITERAL@474..475
- INT_NUMBER@474..475 "2"
- SEMICOLON@475..476 ";"
- WHITESPACE@476..485 "\n "
- R_CURLY@485..486 "}"
- WHITESPACE@486..495 "\n "
- LITERAL@495..496
- INT_NUMBER@495..496 "3"
- WHITESPACE@496..501 "\n "
- R_CURLY@501..502 "}"
- SEMICOLON@502..503 ";"
- WHITESPACE@503..504 "\n"
- R_CURLY@504..505 "}"
+ L_CURLY@44..45 "{"
+ WHITESPACE@45..50 "\n "
+ EXPR_STMT@50..66
+ EFFECT_EXPR@50..66
+ LABEL@50..63
+ LIFETIME@50..62 "\'empty_block"
+ COLON@62..63 ":"
+ WHITESPACE@63..64 " "
+ BLOCK_EXPR@64..66
+ L_CURLY@64..65 "{"
+ R_CURLY@65..66 "}"
+ WHITESPACE@66..72 "\n\n "
+ EXPR_STMT@72..295
+ EFFECT_EXPR@72..295
+ LABEL@72..79
+ LIFETIME@72..78 "\'block"
+ COLON@78..79 ":"
+ WHITESPACE@79..80 " "
+ BLOCK_EXPR@80..295
+ L_CURLY@80..81 "{"
+ WHITESPACE@81..90 "\n "
+ EXPR_STMT@90..101
+ CALL_EXPR@90..100
+ PATH_EXPR@90..98
+ PATH@90..98
+ PATH_SEGMENT@90..98
+ NAME_REF@90..98
+ IDENT@90..98 "do_thing"
+ ARG_LIST@98..100
+ L_PAREN@98..99 "("
+ R_PAREN@99..100 ")"
+ SEMICOLON@100..101 ";"
+ WHITESPACE@101..110 "\n "
+ EXPR_STMT@110..170
+ IF_EXPR@110..170
+ IF_KW@110..112 "if"
+ WHITESPACE@112..113 " "
+ CONDITION@113..132
+ CALL_EXPR@113..132
+ PATH_EXPR@113..130
+ PATH@113..130
+ PATH_SEGMENT@113..130
+ NAME_REF@113..130
+ IDENT@113..130 "condition_not_met"
+ ARG_LIST@130..132
+ L_PAREN@130..131 "("
+ R_PAREN@131..132 ")"
+ WHITESPACE@132..133 " "
+ BLOCK_EXPR@133..170
+ L_CURLY@133..134 "{"
+ WHITESPACE@134..147 "\n "
+ EXPR_STMT@147..160
+ BREAK_EXPR@147..159
+ BREAK_KW@147..152 "break"
+ WHITESPACE@152..153 " "
+ LIFETIME@153..159 "\'block"
+ SEMICOLON@159..160 ";"
+ WHITESPACE@160..169 "\n "
+ R_CURLY@169..170 "}"
+ WHITESPACE@170..179 "\n "
+ EXPR_STMT@179..195
+ CALL_EXPR@179..194
+ PATH_EXPR@179..192
+ PATH@179..192
+ PATH_SEGMENT@179..192
+ NAME_REF@179..192
+ IDENT@179..192 "do_next_thing"
+ ARG_LIST@192..194
+ L_PAREN@192..193 "("
+ R_PAREN@193..194 ")"
+ SEMICOLON@194..195 ";"
+ WHITESPACE@195..204 "\n "
+ EXPR_STMT@204..264
+ IF_EXPR@204..264
+ IF_KW@204..206 "if"
+ WHITESPACE@206..207 " "
+ CONDITION@207..226
+ CALL_EXPR@207..226
+ PATH_EXPR@207..224
+ PATH@207..224
+ PATH_SEGMENT@207..224
+ NAME_REF@207..224
+ IDENT@207..224 "condition_not_met"
+ ARG_LIST@224..226
+ L_PAREN@224..225 "("
+ R_PAREN@225..226 ")"
+ WHITESPACE@226..227 " "
+ BLOCK_EXPR@227..264
+ L_CURLY@227..228 "{"
+ WHITESPACE@228..241 "\n "
+ EXPR_STMT@241..254
+ BREAK_EXPR@241..253
+ BREAK_KW@241..246 "break"
+ WHITESPACE@246..247 " "
+ LIFETIME@247..253 "\'block"
+ SEMICOLON@253..254 ";"
+ WHITESPACE@254..263 "\n "
+ R_CURLY@263..264 "}"
+ WHITESPACE@264..273 "\n "
+ EXPR_STMT@273..289
+ CALL_EXPR@273..288
+ PATH_EXPR@273..286
+ PATH@273..286
+ PATH_SEGMENT@273..286
+ NAME_REF@273..286
+ IDENT@273..286 "do_last_thing"
+ ARG_LIST@286..288
+ L_PAREN@286..287 "("
+ R_PAREN@287..288 ")"
+ SEMICOLON@288..289 ";"
+ WHITESPACE@289..294 "\n "
+ R_CURLY@294..295 "}"
+ WHITESPACE@295..301 "\n\n "
+ LET_STMT@301..503
+ LET_KW@301..304 "let"
+ WHITESPACE@304..305 " "
+ BIND_PAT@305..311
+ NAME@305..311
+ IDENT@305..311 "result"
+ WHITESPACE@311..312 " "
+ EQ@312..313 "="
+ WHITESPACE@313..314 " "
+ EFFECT_EXPR@314..502
+ LABEL@314..321
+ LIFETIME@314..320 "\'block"
+ COLON@320..321 ":"
+ WHITESPACE@321..322 " "
+ BLOCK_EXPR@322..502
+ L_CURLY@322..323 "{"
+ WHITESPACE@323..332 "\n "
+ EXPR_STMT@332..403
+ IF_EXPR@332..403
+ IF_KW@332..334 "if"
+ WHITESPACE@334..335 " "
+ CONDITION@335..340
+ CALL_EXPR@335..340
+ PATH_EXPR@335..338
+ PATH@335..338
+ PATH_SEGMENT@335..338
+ NAME_REF@335..338
+ IDENT@335..338 "foo"
+ ARG_LIST@338..340
+ L_PAREN@338..339 "("
+ R_PAREN@339..340 ")"
+ WHITESPACE@340..341 " "
+ BLOCK_EXPR@341..403
+ L_CURLY@341..342 "{"
+ WHITESPACE@342..355 "\n "
+ COMMENT@355..365 "// comment"
+ WHITESPACE@365..378 "\n "
+ EXPR_STMT@378..393
+ BREAK_EXPR@378..392
+ BREAK_KW@378..383 "break"
+ WHITESPACE@383..384 " "
+ LIFETIME@384..390 "\'block"
+ WHITESPACE@390..391 " "
+ LITERAL@391..392
+ INT_NUMBER@391..392 "1"
+ SEMICOLON@392..393 ";"
+ WHITESPACE@393..402 "\n "
+ R_CURLY@402..403 "}"
+ WHITESPACE@403..412 "\n "
+ EXPR_STMT@412..486
+ IF_EXPR@412..486
+ IF_KW@412..414 "if"
+ WHITESPACE@414..415 " "
+ CONDITION@415..420
+ CALL_EXPR@415..420
+ PATH_EXPR@415..418
+ PATH@415..418
+ PATH_SEGMENT@415..418
+ NAME_REF@415..418
+ IDENT@415..418 "bar"
+ ARG_LIST@418..420
+ L_PAREN@418..419 "("
+ R_PAREN@419..420 ")"
+ WHITESPACE@420..421 " "
+ BLOCK_EXPR@421..486
+ L_CURLY@421..422 "{"
+ WHITESPACE@422..435 "\n "
+ COMMENT@435..448 "/* comment */"
+ WHITESPACE@448..461 "\n "
+ EXPR_STMT@461..476
+ BREAK_EXPR@461..475
+ BREAK_KW@461..466 "break"
+ WHITESPACE@466..467 " "
+ LIFETIME@467..473 "\'block"
+ WHITESPACE@473..474 " "
+ LITERAL@474..475
+ INT_NUMBER@474..475 "2"
+ SEMICOLON@475..476 ";"
+ WHITESPACE@476..485 "\n "
+ R_CURLY@485..486 "}"
+ WHITESPACE@486..495 "\n "
+ LITERAL@495..496
+ INT_NUMBER@495..496 "3"
+ WHITESPACE@496..501 "\n "
+ R_CURLY@501..502 "}"
+ SEMICOLON@502..503 ";"
+ WHITESPACE@503..504 "\n"
+ R_CURLY@504..505 "}"
WHITESPACE@505..506 "\n"
R_PAREN@8..9 ")"
WHITESPACE@9..10 " "
BLOCK_EXPR@10..61
- BLOCK@10..61
- L_CURLY@10..11 "{"
- WHITESPACE@11..16 "\n "
- EXPR_STMT@16..59
- CALL_EXPR@16..58
- PATH_EXPR@16..26
- PATH@16..26
- PATH_SEGMENT@16..26
- NAME_REF@16..26
- IDENT@16..26 "make_query"
- ARG_LIST@26..58
- L_PAREN@26..27 "("
- PATH_EXPR@27..57
- PATH@27..57
- PATH@27..44
- PATH@27..32
- PATH_SEGMENT@27..32
- CRATE_KW@27..32 "crate"
- COLON2@32..34 "::"
- PATH_SEGMENT@34..44
- NAME_REF@34..44
- IDENT@34..44 "module_map"
- COLON2@44..46 "::"
- PATH_SEGMENT@46..57
- NAME_REF@46..57
- IDENT@46..57 "module_tree"
- R_PAREN@57..58 ")"
- SEMICOLON@58..59 ";"
- WHITESPACE@59..60 "\n"
- R_CURLY@60..61 "}"
+ L_CURLY@10..11 "{"
+ WHITESPACE@11..16 "\n "
+ EXPR_STMT@16..59
+ CALL_EXPR@16..58
+ PATH_EXPR@16..26
+ PATH@16..26
+ PATH_SEGMENT@16..26
+ NAME_REF@16..26
+ IDENT@16..26 "make_query"
+ ARG_LIST@26..58
+ L_PAREN@26..27 "("
+ PATH_EXPR@27..57
+ PATH@27..57
+ PATH@27..44
+ PATH@27..32
+ PATH_SEGMENT@27..32
+ CRATE_KW@27..32 "crate"
+ COLON2@32..34 "::"
+ PATH_SEGMENT@34..44
+ NAME_REF@34..44
+ IDENT@34..44 "module_map"
+ COLON2@44..46 "::"
+ PATH_SEGMENT@46..57
+ NAME_REF@46..57
+ IDENT@46..57 "module_tree"
+ R_PAREN@57..58 ")"
+ SEMICOLON@58..59 ";"
+ WHITESPACE@59..60 "\n"
+ R_CURLY@60..61 "}"
WHITESPACE@61..62 "\n"
IDENT@536..540 "bool"
WHITESPACE@540..541 " "
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"
- SEMICOLON@569..570 ";"
- WHITESPACE@570..571 " "
- R_CURLY@571..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"
+ SEMICOLON@569..570 ";"
+ WHITESPACE@570..571 " "
+ R_CURLY@571..572 "}"
WHITESPACE@572..574 "\n\n"
FN_DEF@574..624
FN_KW@574..576 "fn"
R_PAREN@583..584 ")"
WHITESPACE@584..585 " "
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 ")"
- SEMICOLON@621..622 ";"
- WHITESPACE@622..623 "\n"
- R_CURLY@623..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
+ 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 ")"
+ SEMICOLON@621..622 ";"
+ WHITESPACE@622..623 "\n"
+ R_CURLY@623..624 "}"
WHITESPACE@624..626 "\n\n"
FN_DEF@626..816
FN_KW@626..628 "fn"
R_PAREN@634..635 ")"
WHITESPACE@635..636 " "
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
- BANG@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 ")"
- SEMICOLON@710..711 ";"
- WHITESPACE@711..712 " "
- R_CURLY@712..713 "}"
- SEMICOLON@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"
- COLON2@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 ")"
- SEMICOLON@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 "}"
- SEMICOLON@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 ")"
- SEMICOLON@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"
- BANG@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 ")"
- SEMICOLON@813..814 ";"
- WHITESPACE@814..815 "\n"
- R_CURLY@815..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
+ 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
+ BANG@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
+ 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 ")"
+ SEMICOLON@710..711 ";"
+ WHITESPACE@711..712 " "
+ R_CURLY@712..713 "}"
+ SEMICOLON@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"
+ COLON2@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 ")"
+ SEMICOLON@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
+ 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 "}"
+ SEMICOLON@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 ")"
+ SEMICOLON@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"
+ BANG@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 ")"
+ SEMICOLON@813..814 ";"
+ WHITESPACE@814..815 "\n"
+ R_CURLY@815..816 "}"
WHITESPACE@816..818 "\n\n"
FN_DEF@818..1322
FN_KW@818..820 "fn"
R_PAREN@833..834 ")"
WHITESPACE@834..835 " "
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 "}"
- SEMICOLON@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"
- SEMICOLON@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"
- SEMICOLON@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 "}"
+ L_CURLY@835..836 "{"
+ WHITESPACE@836..841 "\n "
+ LOOP_EXPR@841..1320
+ LOOP_KW@841..845 "loop"
+ WHITESPACE@845..846 " "
+ BLOCK_EXPR@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
+ 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
+ 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
+ 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
+ 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
+ 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
+ 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 "}"
+ SEMICOLON@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
+ L_CURLY@1234..1235 "{"
+ WHITESPACE@1235..1252 "\n "
+ EXPR_STMT@1252..1259
+ RETURN_EXPR@1252..1258
+ RETURN_KW@1252..1258 "return"
+ SEMICOLON@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
+ L_CURLY@1304..1305 "{"
+ WHITESPACE@1305..1306 " "
+ EXPR_STMT@1306..1312
+ BREAK_EXPR@1306..1311
+ BREAK_KW@1306..1311 "break"
+ SEMICOLON@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"
R_PAREN@1335..1336 ")"
WHITESPACE@1336..1337 " "
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"
- SEMICOLON@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 " "
- EQ2@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 ")"
- SEMICOLON@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 ")"
- SEMICOLON@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 " "
- EQ2@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 ")"
- SEMICOLON@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 " "
- EQ2@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 ")"
- SEMICOLON@1536..1537 ";"
- WHITESPACE@1537..1538 "\n"
- R_CURLY@1538..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"
+ SEMICOLON@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 " "
+ EQ2@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 ")"
+ SEMICOLON@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 ")"
+ SEMICOLON@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 " "
+ EQ2@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 ")"
+ SEMICOLON@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 " "
+ EQ2@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 ")"
+ SEMICOLON@1536..1537 ";"
+ WHITESPACE@1537..1538 "\n"
+ R_CURLY@1538..1539 "}"
WHITESPACE@1539..1541 "\n\n"
FN_DEF@1541..1741
FN_KW@1541..1543 "fn"
IDENT@1563..1568 "usize"
WHITESPACE@1568..1569 " "
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"
- BANG@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 " "
- EQ2@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"
- BANG@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 ")"
- SEMICOLON@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"
- BANG@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 " "
- EQ2@1678..1680 "=="
- WHITESPACE@1680..1681 " "
- TUPLE_EXPR@1681..1683
- L_PAREN@1681..1682 "("
- R_PAREN@1682..1683 ")"
- R_PAREN@1683..1684 ")"
- SEMICOLON@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"
- BANG@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 " "
- EQ2@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 ")"
- SEMICOLON@1738..1739 ";"
- WHITESPACE@1739..1740 "\n"
- R_CURLY@1740..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
+ 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"
+ BANG@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 " "
+ EQ2@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"
+ BANG@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 ")"
+ SEMICOLON@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"
+ BANG@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 " "
+ EQ2@1678..1680 "=="
+ WHITESPACE@1680..1681 " "
+ TUPLE_EXPR@1681..1683
+ L_PAREN@1681..1682 "("
+ R_PAREN@1682..1683 ")"
+ R_PAREN@1683..1684 ")"
+ SEMICOLON@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"
+ BANG@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 " "
+ EQ2@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 ")"
+ SEMICOLON@1738..1739 ";"
+ WHITESPACE@1739..1740 "\n"
+ R_CURLY@1740..1741 "}"
WHITESPACE@1741..1743 "\n\n"
FN_DEF@1743..1904
FN_KW@1743..1745 "fn"
R_PAREN@1756..1757 ")"
WHITESPACE@1757..1758 " "
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"
- SEMICOLON@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"
- SEMICOLON@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 " "
- EQ2@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"
- BANG@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"
- SEMICOLON@1899..1900 ";"
- WHITESPACE@1900..1901 " "
- R_CURLY@1901..1902 "}"
- WHITESPACE@1902..1903 "\n"
- R_CURLY@1903..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
+ 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
+ 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"
+ SEMICOLON@1803..1804 ";"
+ WHITESPACE@1804..1809 "\n "
+ LOOP_EXPR@1809..1902
+ LOOP_KW@1809..1813 "loop"
+ WHITESPACE@1813..1814 " "
+ BLOCK_EXPR@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"
+ SEMICOLON@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 " "
+ EQ2@1829..1831 "=="
+ WHITESPACE@1831..1832 " "
+ LITERAL@1832..1833
+ INT_NUMBER@1832..1833 "1"
+ WHITESPACE@1833..1834 " "
+ BLOCK_EXPR@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
+ 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"
+ BANG@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"
+ SEMICOLON@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"
R_PAREN@1922..1923 ")"
WHITESPACE@1923..1924 " "
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"
- BANG@1945..1946 "!"
- TOKEN_TREE@1946..1957
- L_PAREN@1946..1947 "("
- STRING@1947..1956 "\"lincoln\""
- R_PAREN@1956..1957 ")"
- SEMICOLON@1957..1958 ";"
- WHITESPACE@1958..1959 " "
- R_CURLY@1959..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"
+ BANG@1945..1946 "!"
+ TOKEN_TREE@1946..1957
+ L_PAREN@1946..1947 "("
+ STRING@1947..1956 "\"lincoln\""
+ R_PAREN@1956..1957 ")"
+ SEMICOLON@1957..1958 ";"
+ WHITESPACE@1958..1959 " "
+ R_CURLY@1959..1960 "}"
WHITESPACE@1960..1962 "\n\n"
FN_DEF@1962..2198
FN_KW@1962..1964 "fn"
R_PAREN@1970..1971 ")"
WHITESPACE@1971..1972 " "
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"
- BANG@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"
- BANG@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 ")"
- SEMICOLON@2195..2196 ";"
- WHITESPACE@2196..2197 "\n"
- R_CURLY@2197..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"
+ BANG@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"
+ BANG@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 ")"
+ SEMICOLON@2195..2196 ";"
+ WHITESPACE@2196..2197 "\n"
+ R_CURLY@2197..2198 "}"
WHITESPACE@2198..2200 "\n\n"
FN_DEF@2200..2693
FN_KW@2200..2202 "fn"
R_PAREN@2212..2213 ")"
WHITESPACE@2213..2214 " "
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"
- BANG@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"
- BANG@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\""
- SEMICOLON@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 "}"
- SEMICOLON@2552..2553 ";"
- WHITESPACE@2553..2566 "\n "
- R_CURLY@2566..2567 "}"
- WHITESPACE@2567..2581 "\n\n "
- IDENT@2581..2583 "u8"
- BANG@2583..2584 "!"
- TOKEN_TREE@2584..2588
- L_PAREN@2584..2585 "("
- IDENT@2585..2587 "u8"
- R_PAREN@2587..2588 ")"
- SEMICOLON@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 ")"
- SEMICOLON@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 ")"
- SEMICOLON@2657..2658 ";"
- WHITESPACE@2658..2671 "\n "
- IDENT@2671..2673 "u8"
- WHITESPACE@2673..2682 "\n "
- R_CURLY@2682..2683 "}"
- R_PAREN@2683..2684 ")"
- SEMICOLON@2684..2685 ";"
- WHITESPACE@2685..2690 "\n "
- R_CURLY@2690..2691 "}"
- WHITESPACE@2691..2692 "\n"
- R_CURLY@2692..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
+ 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"
+ BANG@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"
+ BANG@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\""
+ SEMICOLON@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 "}"
+ SEMICOLON@2552..2553 ";"
+ WHITESPACE@2553..2566 "\n "
+ R_CURLY@2566..2567 "}"
+ WHITESPACE@2567..2581 "\n\n "
+ IDENT@2581..2583 "u8"
+ BANG@2583..2584 "!"
+ TOKEN_TREE@2584..2588
+ L_PAREN@2584..2585 "("
+ IDENT@2585..2587 "u8"
+ R_PAREN@2587..2588 ")"
+ SEMICOLON@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 ")"
+ SEMICOLON@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 ")"
+ SEMICOLON@2657..2658 ";"
+ WHITESPACE@2658..2671 "\n "
+ IDENT@2671..2673 "u8"
+ WHITESPACE@2673..2682 "\n "
+ R_CURLY@2682..2683 "}"
+ R_PAREN@2683..2684 ")"
+ SEMICOLON@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"
R_PAREN@2704..2705 ")"
WHITESPACE@2705..2706 " "
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"
- BANG@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 ")"
- SEMICOLON@2829..2830 ";"
- WHITESPACE@2830..2831 "\n"
- R_CURLY@2831..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"
+ BANG@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 ")"
+ SEMICOLON@2829..2830 ";"
+ WHITESPACE@2830..2831 "\n"
+ R_CURLY@2831..2832 "}"
WHITESPACE@2832..2834 "\n\n"
FN_DEF@2834..2906
FN_KW@2834..2836 "fn"
R_PAREN@2843..2844 ")"
WHITESPACE@2844..2845 " "
BLOCK_EXPR@2845..2906
- BLOCK@2845..2906
- L_CURLY@2845..2846 "{"
- WHITESPACE@2846..2851 "\n "
- UNION_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 "}"
+ L_CURLY@2845..2846 "{"
+ WHITESPACE@2846..2851 "\n "
+ UNION_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"
R_PAREN@2930..2931 ")"
WHITESPACE@2931..2932 " "
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
- BANG@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 "("
- DOT_DOT_PAT@2953..2955
- DOT2@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 ")"
- EQ2@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
- DOT2EQ@3000..3003 "..="
- RANGE_EXPR@3003..3005
- DOT2@3003..3005 ".."
- R_BRACK@3005..3006 "]"
- L_BRACK@3006..3007 "["
- RANGE_EXPR@3007..3009
- DOT2@3007..3009 ".."
- R_BRACK@3009..3010 "]"
- SEMICOLON@3010..3011 ";"
- R_CURLY@3011..3012 "}"
- R_PAREN@3012..3013 ")"
- COMMENT@3013..3015 "//"
- WHITESPACE@3015..3020 "\n "
- SEMICOLON@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"
- BANG@3032..3033 "!"
- TOKEN_TREE@3033..3039
- L_PAREN@3033..3034 "("
- BANG@3034..3035 "!"
- IDENT@3035..3038 "val"
- R_PAREN@3038..3039 ")"
- SEMICOLON@3039..3040 ";"
- WHITESPACE@3040..3041 "\n"
- R_CURLY@3041..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
+ BANG@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 "("
+ DOT_DOT_PAT@2953..2955
+ DOT2@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
+ L_CURLY@2992..2993 "{"
+ R_CURLY@2993..2994 "}"
+ R_PAREN@2994..2995 ")"
+ EQ2@2995..2997 "=="
+ BLOCK_EXPR@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
+ DOT2EQ@3000..3003 "..="
+ RANGE_EXPR@3003..3005
+ DOT2@3003..3005 ".."
+ R_BRACK@3005..3006 "]"
+ L_BRACK@3006..3007 "["
+ RANGE_EXPR@3007..3009
+ DOT2@3007..3009 ".."
+ R_BRACK@3009..3010 "]"
+ SEMICOLON@3010..3011 ";"
+ R_CURLY@3011..3012 "}"
+ R_PAREN@3012..3013 ")"
+ COMMENT@3013..3015 "//"
+ WHITESPACE@3015..3020 "\n "
+ SEMICOLON@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"
+ BANG@3032..3033 "!"
+ TOKEN_TREE@3033..3039
+ L_PAREN@3033..3034 "("
+ BANG@3034..3035 "!"
+ IDENT@3035..3038 "val"
+ R_PAREN@3038..3039 ")"
+ SEMICOLON@3039..3040 ";"
+ WHITESPACE@3040..3041 "\n"
+ R_CURLY@3041..3042 "}"
WHITESPACE@3042..3044 "\n\n"
FN_DEF@3044..3514
FN_KW@3044..3046 "fn"
IDENT@3078..3083 "Debug"
WHITESPACE@3083..3084 " "
BLOCK_EXPR@3084..3514
- BLOCK@3084..3514
- L_CURLY@3084..3085 "{"
- WHITESPACE@3085..3090 "\n "
- RANGE_EXPR@3090..3512
- DOT2EQ@3090..3093 "..="
- RANGE_EXPR@3093..3512
- DOT2EQ@3093..3096 "..="
- RANGE_EXPR@3096..3512
- DOT2@3096..3098 ".."
- WHITESPACE@3098..3099 " "
- RANGE_EXPR@3099..3512
- DOT2@3099..3101 ".."
- WHITESPACE@3101..3105 " "
- RANGE_EXPR@3105..3512
- DOT2@3105..3107 ".."
- WHITESPACE@3107..3108 " "
- RANGE_EXPR@3108..3512
- DOT2@3108..3110 ".."
- WHITESPACE@3110..3111 " "
- RANGE_EXPR@3111..3512
- DOT2@3111..3113 ".."
- WHITESPACE@3113..3114 " "
- RANGE_EXPR@3114..3512
- DOT2@3114..3116 ".."
- WHITESPACE@3116..3120 " "
- RANGE_EXPR@3120..3512
- DOT2@3120..3122 ".."
- WHITESPACE@3122..3123 " "
- RANGE_EXPR@3123..3512
- DOT2@3123..3125 ".."
- WHITESPACE@3125..3126 " "
- RANGE_EXPR@3126..3512
- DOT2@3126..3128 ".."
- WHITESPACE@3128..3129 " "
- RANGE_EXPR@3129..3512
- DOT2@3129..3131 ".."
- WHITESPACE@3131..3135 " "
- RANGE_EXPR@3135..3512
- DOT2@3135..3137 ".."
- WHITESPACE@3137..3138 " "
- RANGE_EXPR@3138..3512
- DOT2EQ@3138..3141 "..="
- RANGE_EXPR@3141..3512
- DOT2@3141..3143 ".."
- WHITESPACE@3143..3144 " "
- RANGE_EXPR@3144..3512
- DOT2@3144..3146 ".."
- WHITESPACE@3146..3151 "\n "
- RANGE_EXPR@3151..3512
- DOT2EQ@3151..3154 "..="
- RANGE_EXPR@3154..3512
- DOT2@3154..3156 ".."
- WHITESPACE@3156..3157 " "
- RANGE_EXPR@3157..3512
- DOT2EQ@3157..3160 "..="
- RANGE_EXPR@3160..3512
- DOT2@3160..3162 ".."
- WHITESPACE@3162..3166 " "
- RANGE_EXPR@3166..3512
- DOT2@3166..3168 ".."
- WHITESPACE@3168..3169 " "
- RANGE_EXPR@3169..3512
- DOT2@3169..3171 ".."
- WHITESPACE@3171..3172 " "
- RANGE_EXPR@3172..3512
- DOT2@3172..3174 ".."
- WHITESPACE@3174..3175 " "
- RANGE_EXPR@3175..3512
- DOT2@3175..3177 ".."
- WHITESPACE@3177..3181 " "
- RANGE_EXPR@3181..3512
- DOT2@3181..3183 ".."
- WHITESPACE@3183..3184 " "
- RANGE_EXPR@3184..3512
- DOT2@3184..3186 ".."
- WHITESPACE@3186..3187 " "
- RANGE_EXPR@3187..3512
- DOT2@3187..3189 ".."
- WHITESPACE@3189..3190 " "
- RANGE_EXPR@3190..3512
- DOT2@3190..3192 ".."
- WHITESPACE@3192..3196 " "
- RANGE_EXPR@3196..3512
- DOT2EQ@3196..3199 "..="
- RANGE_EXPR@3199..3512
- DOT2EQ@3199..3202 "..="
- RANGE_EXPR@3202..3512
- DOT2EQ@3202..3205 "..="
- RANGE_EXPR@3205..3512
- DOT2@3205..3207 ".."
- WHITESPACE@3207..3212 "\n "
- RANGE_EXPR@3212..3512
- DOT2EQ@3212..3215 "..="
- RANGE_EXPR@3215..3512
- DOT2@3215..3217 ".."
- WHITESPACE@3217..3218 " "
- RANGE_EXPR@3218..3512
- DOT2EQ@3218..3221 "..="
- RANGE_EXPR@3221..3512
- DOT2@3221..3223 ".."
- WHITESPACE@3223..3227 " "
- RANGE_EXPR@3227..3512
- DOT2EQ@3227..3230 "..="
- RANGE_EXPR@3230..3512
- DOT2@3230..3232 ".."
- WHITESPACE@3232..3233 " "
- RANGE_EXPR@3233..3512
- DOT2EQ@3233..3236 "..="
- RANGE_EXPR@3236..3512
- DOT2@3236..3238 ".."
- WHITESPACE@3238..3242 " "
- RANGE_EXPR@3242..3512
- DOT2@3242..3244 ".."
- WHITESPACE@3244..3245 " "
- RANGE_EXPR@3245..3512
- DOT2EQ@3245..3248 "..="
- RANGE_EXPR@3248..3512
- DOT2EQ@3248..3251 "..="
- RANGE_EXPR@3251..3512
- DOT2@3251..3253 ".."
- WHITESPACE@3253..3257 " "
- RANGE_EXPR@3257..3512
- DOT2@3257..3259 ".."
- WHITESPACE@3259..3260 " "
- RANGE_EXPR@3260..3512
- DOT2EQ@3260..3263 "..="
- RANGE_EXPR@3263..3512
- DOT2@3263..3265 ".."
- WHITESPACE@3265..3266 " "
- RANGE_EXPR@3266..3512
- DOT2@3266..3268 ".."
- WHITESPACE@3268..3273 "\n "
- RANGE_EXPR@3273..3512
- DOT2EQ@3273..3276 "..="
- RANGE_EXPR@3276..3512
- DOT2EQ@3276..3279 "..="
- RANGE_EXPR@3279..3512
- DOT2@3279..3281 ".."
- WHITESPACE@3281..3282 " "
- RANGE_EXPR@3282..3512
- DOT2@3282..3284 ".."
- WHITESPACE@3284..3288 " "
- RANGE_EXPR@3288..3512
- DOT2EQ@3288..3291 "..="
- RANGE_EXPR@3291..3512
- DOT2@3291..3293 ".."
- WHITESPACE@3293..3294 " "
- RANGE_EXPR@3294..3512
- DOT2EQ@3294..3297 "..="
- RANGE_EXPR@3297..3512
- DOT2@3297..3299 ".."
- WHITESPACE@3299..3303 " "
- RANGE_EXPR@3303..3512
- DOT2EQ@3303..3306 "..="
- RANGE_EXPR@3306..3512
- DOT2@3306..3308 ".."
- WHITESPACE@3308..3309 " "
- RANGE_EXPR@3309..3512
- DOT2@3309..3311 ".."
- WHITESPACE@3311..3312 " "
- RANGE_EXPR@3312..3512
- DOT2@3312..3314 ".."
- WHITESPACE@3314..3318 " "
- RANGE_EXPR@3318..3512
- DOT2@3318..3320 ".."
- WHITESPACE@3320..3321 " "
- RANGE_EXPR@3321..3512
- DOT2EQ@3321..3324 "..="
- RANGE_EXPR@3324..3512
- DOT2@3324..3326 ".."
- WHITESPACE@3326..3327 " "
- RANGE_EXPR@3327..3512
- DOT2@3327..3329 ".."
- WHITESPACE@3329..3334 "\n "
- RANGE_EXPR@3334..3512
- DOT2EQ@3334..3337 "..="
- RANGE_EXPR@3337..3512
- DOT2@3337..3339 ".."
- WHITESPACE@3339..3340 " "
- RANGE_EXPR@3340..3512
- DOT2EQ@3340..3343 "..="
- RANGE_EXPR@3343..3512
- DOT2@3343..3345 ".."
- WHITESPACE@3345..3349 " "
- RANGE_EXPR@3349..3512
- DOT2EQ@3349..3352 "..="
- RANGE_EXPR@3352..3512
- DOT2@3352..3354 ".."
- WHITESPACE@3354..3355 " "
- RANGE_EXPR@3355..3512
- DOT2EQ@3355..3358 "..="
- RANGE_EXPR@3358..3512
- DOT2@3358..3360 ".."
- WHITESPACE@3360..3364 " "
- RANGE_EXPR@3364..3512
- DOT2@3364..3366 ".."
- WHITESPACE@3366..3367 " "
- RANGE_EXPR@3367..3512
- DOT2EQ@3367..3370 "..="
- RANGE_EXPR@3370..3512
- DOT2@3370..3372 ".."
- WHITESPACE@3372..3373 " "
- RANGE_EXPR@3373..3512
- DOT2@3373..3375 ".."
- WHITESPACE@3375..3379 " "
- RANGE_EXPR@3379..3512
- DOT2@3379..3381 ".."
- WHITESPACE@3381..3382 " "
- RANGE_EXPR@3382..3512
- DOT2EQ@3382..3385 "..="
- RANGE_EXPR@3385..3512
- DOT2@3385..3387 ".."
- WHITESPACE@3387..3388 " "
- RANGE_EXPR@3388..3512
- DOT2@3388..3390 ".."
- WHITESPACE@3390..3395 "\n "
- RANGE_EXPR@3395..3512
- DOT2EQ@3395..3398 "..="
- RANGE_EXPR@3398..3512
- DOT2@3398..3400 ".."
- WHITESPACE@3400..3401 " "
- RANGE_EXPR@3401..3512
- DOT2EQ@3401..3404 "..="
- RANGE_EXPR@3404..3512
- DOT2@3404..3406 ".."
- WHITESPACE@3406..3410 " "
- RANGE_EXPR@3410..3512
- DOT2EQ@3410..3413 "..="
- RANGE_EXPR@3413..3512
- DOT2@3413..3415 ".."
- WHITESPACE@3415..3416 " "
- RANGE_EXPR@3416..3512
- DOT2EQ@3416..3419 "..="
- RANGE_EXPR@3419..3512
- DOT2@3419..3421 ".."
- WHITESPACE@3421..3425 " "
- RANGE_EXPR@3425..3512
- DOT2@3425..3427 ".."
- WHITESPACE@3427..3428 " "
- RANGE_EXPR@3428..3512
- DOT2@3428..3430 ".."
- WHITESPACE@3430..3431 " "
- RANGE_EXPR@3431..3512
- DOT2EQ@3431..3434 "..="
- RANGE_EXPR@3434..3512
- DOT2@3434..3436 ".."
- WHITESPACE@3436..3440 " "
- RANGE_EXPR@3440..3512
- DOT2@3440..3442 ".."
- WHITESPACE@3442..3443 " "
- RANGE_EXPR@3443..3512
- DOT2EQ@3443..3446 "..="
- RANGE_EXPR@3446..3512
- DOT2@3446..3448 ".."
- WHITESPACE@3448..3449 " "
- RANGE_EXPR@3449..3512
- DOT2@3449..3451 ".."
- WHITESPACE@3451..3456 "\n "
- RANGE_EXPR@3456..3512
- DOT2EQ@3456..3459 "..="
- RANGE_EXPR@3459..3512
- DOT2@3459..3461 ".."
- WHITESPACE@3461..3462 " "
- RANGE_EXPR@3462..3512
- DOT2EQ@3462..3465 "..="
- RANGE_EXPR@3465..3512
- DOT2@3465..3467 ".."
- WHITESPACE@3467..3471 " "
- RANGE_EXPR@3471..3512
- DOT2@3471..3473 ".."
- WHITESPACE@3473..3474 " "
- RANGE_EXPR@3474..3512
- DOT2EQ@3474..3477 "..="
- RANGE_EXPR@3477..3512
- DOT2EQ@3477..3480 "..="
- RANGE_EXPR@3480..3512
- DOT2@3480..3482 ".."
- WHITESPACE@3482..3486 " "
- RANGE_EXPR@3486..3512
- DOT2EQ@3486..3489 "..="
- RANGE_EXPR@3489..3512
- DOT2EQ@3489..3492 "..="
- RANGE_EXPR@3492..3512
- DOT2@3492..3494 ".."
- WHITESPACE@3494..3495 " "
- RANGE_EXPR@3495..3512
- DOT2@3495..3497 ".."
- WHITESPACE@3497..3501 " "
- RANGE_EXPR@3501..3512
- DOT2@3501..3503 ".."
- WHITESPACE@3503..3504 " "
- RANGE_EXPR@3504..3512
- DOT2EQ@3504..3507 "..="
- RANGE_EXPR@3507..3512
- DOT2@3507..3509 ".."
- WHITESPACE@3509..3510 " "
- RANGE_EXPR@3510..3512
- DOT2@3510..3512 ".."
- WHITESPACE@3512..3513 "\n"
- R_CURLY@3513..3514 "}"
+ L_CURLY@3084..3085 "{"
+ WHITESPACE@3085..3090 "\n "
+ RANGE_EXPR@3090..3512
+ DOT2EQ@3090..3093 "..="
+ RANGE_EXPR@3093..3512
+ DOT2EQ@3093..3096 "..="
+ RANGE_EXPR@3096..3512
+ DOT2@3096..3098 ".."
+ WHITESPACE@3098..3099 " "
+ RANGE_EXPR@3099..3512
+ DOT2@3099..3101 ".."
+ WHITESPACE@3101..3105 " "
+ RANGE_EXPR@3105..3512
+ DOT2@3105..3107 ".."
+ WHITESPACE@3107..3108 " "
+ RANGE_EXPR@3108..3512
+ DOT2@3108..3110 ".."
+ WHITESPACE@3110..3111 " "
+ RANGE_EXPR@3111..3512
+ DOT2@3111..3113 ".."
+ WHITESPACE@3113..3114 " "
+ RANGE_EXPR@3114..3512
+ DOT2@3114..3116 ".."
+ WHITESPACE@3116..3120 " "
+ RANGE_EXPR@3120..3512
+ DOT2@3120..3122 ".."
+ WHITESPACE@3122..3123 " "
+ RANGE_EXPR@3123..3512
+ DOT2@3123..3125 ".."
+ WHITESPACE@3125..3126 " "
+ RANGE_EXPR@3126..3512
+ DOT2@3126..3128 ".."
+ WHITESPACE@3128..3129 " "
+ RANGE_EXPR@3129..3512
+ DOT2@3129..3131 ".."
+ WHITESPACE@3131..3135 " "
+ RANGE_EXPR@3135..3512
+ DOT2@3135..3137 ".."
+ WHITESPACE@3137..3138 " "
+ RANGE_EXPR@3138..3512
+ DOT2EQ@3138..3141 "..="
+ RANGE_EXPR@3141..3512
+ DOT2@3141..3143 ".."
+ WHITESPACE@3143..3144 " "
+ RANGE_EXPR@3144..3512
+ DOT2@3144..3146 ".."
+ WHITESPACE@3146..3151 "\n "
+ RANGE_EXPR@3151..3512
+ DOT2EQ@3151..3154 "..="
+ RANGE_EXPR@3154..3512
+ DOT2@3154..3156 ".."
+ WHITESPACE@3156..3157 " "
+ RANGE_EXPR@3157..3512
+ DOT2EQ@3157..3160 "..="
+ RANGE_EXPR@3160..3512
+ DOT2@3160..3162 ".."
+ WHITESPACE@3162..3166 " "
+ RANGE_EXPR@3166..3512
+ DOT2@3166..3168 ".."
+ WHITESPACE@3168..3169 " "
+ RANGE_EXPR@3169..3512
+ DOT2@3169..3171 ".."
+ WHITESPACE@3171..3172 " "
+ RANGE_EXPR@3172..3512
+ DOT2@3172..3174 ".."
+ WHITESPACE@3174..3175 " "
+ RANGE_EXPR@3175..3512
+ DOT2@3175..3177 ".."
+ WHITESPACE@3177..3181 " "
+ RANGE_EXPR@3181..3512
+ DOT2@3181..3183 ".."
+ WHITESPACE@3183..3184 " "
+ RANGE_EXPR@3184..3512
+ DOT2@3184..3186 ".."
+ WHITESPACE@3186..3187 " "
+ RANGE_EXPR@3187..3512
+ DOT2@3187..3189 ".."
+ WHITESPACE@3189..3190 " "
+ RANGE_EXPR@3190..3512
+ DOT2@3190..3192 ".."
+ WHITESPACE@3192..3196 " "
+ RANGE_EXPR@3196..3512
+ DOT2EQ@3196..3199 "..="
+ RANGE_EXPR@3199..3512
+ DOT2EQ@3199..3202 "..="
+ RANGE_EXPR@3202..3512
+ DOT2EQ@3202..3205 "..="
+ RANGE_EXPR@3205..3512
+ DOT2@3205..3207 ".."
+ WHITESPACE@3207..3212 "\n "
+ RANGE_EXPR@3212..3512
+ DOT2EQ@3212..3215 "..="
+ RANGE_EXPR@3215..3512
+ DOT2@3215..3217 ".."
+ WHITESPACE@3217..3218 " "
+ RANGE_EXPR@3218..3512
+ DOT2EQ@3218..3221 "..="
+ RANGE_EXPR@3221..3512
+ DOT2@3221..3223 ".."
+ WHITESPACE@3223..3227 " "
+ RANGE_EXPR@3227..3512
+ DOT2EQ@3227..3230 "..="
+ RANGE_EXPR@3230..3512
+ DOT2@3230..3232 ".."
+ WHITESPACE@3232..3233 " "
+ RANGE_EXPR@3233..3512
+ DOT2EQ@3233..3236 "..="
+ RANGE_EXPR@3236..3512
+ DOT2@3236..3238 ".."
+ WHITESPACE@3238..3242 " "
+ RANGE_EXPR@3242..3512
+ DOT2@3242..3244 ".."
+ WHITESPACE@3244..3245 " "
+ RANGE_EXPR@3245..3512
+ DOT2EQ@3245..3248 "..="
+ RANGE_EXPR@3248..3512
+ DOT2EQ@3248..3251 "..="
+ RANGE_EXPR@3251..3512
+ DOT2@3251..3253 ".."
+ WHITESPACE@3253..3257 " "
+ RANGE_EXPR@3257..3512
+ DOT2@3257..3259 ".."
+ WHITESPACE@3259..3260 " "
+ RANGE_EXPR@3260..3512
+ DOT2EQ@3260..3263 "..="
+ RANGE_EXPR@3263..3512
+ DOT2@3263..3265 ".."
+ WHITESPACE@3265..3266 " "
+ RANGE_EXPR@3266..3512
+ DOT2@3266..3268 ".."
+ WHITESPACE@3268..3273 "\n "
+ RANGE_EXPR@3273..3512
+ DOT2EQ@3273..3276 "..="
+ RANGE_EXPR@3276..3512
+ DOT2EQ@3276..3279 "..="
+ RANGE_EXPR@3279..3512
+ DOT2@3279..3281 ".."
+ WHITESPACE@3281..3282 " "
+ RANGE_EXPR@3282..3512
+ DOT2@3282..3284 ".."
+ WHITESPACE@3284..3288 " "
+ RANGE_EXPR@3288..3512
+ DOT2EQ@3288..3291 "..="
+ RANGE_EXPR@3291..3512
+ DOT2@3291..3293 ".."
+ WHITESPACE@3293..3294 " "
+ RANGE_EXPR@3294..3512
+ DOT2EQ@3294..3297 "..="
+ RANGE_EXPR@3297..3512
+ DOT2@3297..3299 ".."
+ WHITESPACE@3299..3303 " "
+ RANGE_EXPR@3303..3512
+ DOT2EQ@3303..3306 "..="
+ RANGE_EXPR@3306..3512
+ DOT2@3306..3308 ".."
+ WHITESPACE@3308..3309 " "
+ RANGE_EXPR@3309..3512
+ DOT2@3309..3311 ".."
+ WHITESPACE@3311..3312 " "
+ RANGE_EXPR@3312..3512
+ DOT2@3312..3314 ".."
+ WHITESPACE@3314..3318 " "
+ RANGE_EXPR@3318..3512
+ DOT2@3318..3320 ".."
+ WHITESPACE@3320..3321 " "
+ RANGE_EXPR@3321..3512
+ DOT2EQ@3321..3324 "..="
+ RANGE_EXPR@3324..3512
+ DOT2@3324..3326 ".."
+ WHITESPACE@3326..3327 " "
+ RANGE_EXPR@3327..3512
+ DOT2@3327..3329 ".."
+ WHITESPACE@3329..3334 "\n "
+ RANGE_EXPR@3334..3512
+ DOT2EQ@3334..3337 "..="
+ RANGE_EXPR@3337..3512
+ DOT2@3337..3339 ".."
+ WHITESPACE@3339..3340 " "
+ RANGE_EXPR@3340..3512
+ DOT2EQ@3340..3343 "..="
+ RANGE_EXPR@3343..3512
+ DOT2@3343..3345 ".."
+ WHITESPACE@3345..3349 " "
+ RANGE_EXPR@3349..3512
+ DOT2EQ@3349..3352 "..="
+ RANGE_EXPR@3352..3512
+ DOT2@3352..3354 ".."
+ WHITESPACE@3354..3355 " "
+ RANGE_EXPR@3355..3512
+ DOT2EQ@3355..3358 "..="
+ RANGE_EXPR@3358..3512
+ DOT2@3358..3360 ".."
+ WHITESPACE@3360..3364 " "
+ RANGE_EXPR@3364..3512
+ DOT2@3364..3366 ".."
+ WHITESPACE@3366..3367 " "
+ RANGE_EXPR@3367..3512
+ DOT2EQ@3367..3370 "..="
+ RANGE_EXPR@3370..3512
+ DOT2@3370..3372 ".."
+ WHITESPACE@3372..3373 " "
+ RANGE_EXPR@3373..3512
+ DOT2@3373..3375 ".."
+ WHITESPACE@3375..3379 " "
+ RANGE_EXPR@3379..3512
+ DOT2@3379..3381 ".."
+ WHITESPACE@3381..3382 " "
+ RANGE_EXPR@3382..3512
+ DOT2EQ@3382..3385 "..="
+ RANGE_EXPR@3385..3512
+ DOT2@3385..3387 ".."
+ WHITESPACE@3387..3388 " "
+ RANGE_EXPR@3388..3512
+ DOT2@3388..3390 ".."
+ WHITESPACE@3390..3395 "\n "
+ RANGE_EXPR@3395..3512
+ DOT2EQ@3395..3398 "..="
+ RANGE_EXPR@3398..3512
+ DOT2@3398..3400 ".."
+ WHITESPACE@3400..3401 " "
+ RANGE_EXPR@3401..3512
+ DOT2EQ@3401..3404 "..="
+ RANGE_EXPR@3404..3512
+ DOT2@3404..3406 ".."
+ WHITESPACE@3406..3410 " "
+ RANGE_EXPR@3410..3512
+ DOT2EQ@3410..3413 "..="
+ RANGE_EXPR@3413..3512
+ DOT2@3413..3415 ".."
+ WHITESPACE@3415..3416 " "
+ RANGE_EXPR@3416..3512
+ DOT2EQ@3416..3419 "..="
+ RANGE_EXPR@3419..3512
+ DOT2@3419..3421 ".."
+ WHITESPACE@3421..3425 " "
+ RANGE_EXPR@3425..3512
+ DOT2@3425..3427 ".."
+ WHITESPACE@3427..3428 " "
+ RANGE_EXPR@3428..3512
+ DOT2@3428..3430 ".."
+ WHITESPACE@3430..3431 " "
+ RANGE_EXPR@3431..3512
+ DOT2EQ@3431..3434 "..="
+ RANGE_EXPR@3434..3512
+ DOT2@3434..3436 ".."
+ WHITESPACE@3436..3440 " "
+ RANGE_EXPR@3440..3512
+ DOT2@3440..3442 ".."
+ WHITESPACE@3442..3443 " "
+ RANGE_EXPR@3443..3512
+ DOT2EQ@3443..3446 "..="
+ RANGE_EXPR@3446..3512
+ DOT2@3446..3448 ".."
+ WHITESPACE@3448..3449 " "
+ RANGE_EXPR@3449..3512
+ DOT2@3449..3451 ".."
+ WHITESPACE@3451..3456 "\n "
+ RANGE_EXPR@3456..3512
+ DOT2EQ@3456..3459 "..="
+ RANGE_EXPR@3459..3512
+ DOT2@3459..3461 ".."
+ WHITESPACE@3461..3462 " "
+ RANGE_EXPR@3462..3512
+ DOT2EQ@3462..3465 "..="
+ RANGE_EXPR@3465..3512
+ DOT2@3465..3467 ".."
+ WHITESPACE@3467..3471 " "
+ RANGE_EXPR@3471..3512
+ DOT2@3471..3473 ".."
+ WHITESPACE@3473..3474 " "
+ RANGE_EXPR@3474..3512
+ DOT2EQ@3474..3477 "..="
+ RANGE_EXPR@3477..3512
+ DOT2EQ@3477..3480 "..="
+ RANGE_EXPR@3480..3512
+ DOT2@3480..3482 ".."
+ WHITESPACE@3482..3486 " "
+ RANGE_EXPR@3486..3512
+ DOT2EQ@3486..3489 "..="
+ RANGE_EXPR@3489..3512
+ DOT2EQ@3489..3492 "..="
+ RANGE_EXPR@3492..3512
+ DOT2@3492..3494 ".."
+ WHITESPACE@3494..3495 " "
+ RANGE_EXPR@3495..3512
+ DOT2@3495..3497 ".."
+ WHITESPACE@3497..3501 " "
+ RANGE_EXPR@3501..3512
+ DOT2@3501..3503 ".."
+ WHITESPACE@3503..3504 " "
+ RANGE_EXPR@3504..3512
+ DOT2EQ@3504..3507 "..="
+ RANGE_EXPR@3507..3512
+ DOT2@3507..3509 ".."
+ WHITESPACE@3509..3510 " "
+ RANGE_EXPR@3510..3512
+ DOT2@3510..3512 ".."
+ WHITESPACE@3512..3513 "\n"
+ R_CURLY@3513..3514 "}"
WHITESPACE@3514..3516 "\n\n"
FN_DEF@3516..3552
FN_KW@3516..3518 "fn"
R_PAREN@3526..3527 ")"
WHITESPACE@3527..3528 " "
BLOCK_EXPR@3528..3552
- BLOCK@3528..3552
- L_CURLY@3528..3529 "{"
- WHITESPACE@3529..3534 "\n "
- SEMICOLON@3534..3535 ";"
- SEMICOLON@3535..3536 ";"
- SEMICOLON@3536..3537 ";"
- EXPR_STMT@3537..3540
- TUPLE_EXPR@3537..3539
- L_PAREN@3537..3538 "("
- R_PAREN@3538..3539 ")"
- SEMICOLON@3539..3540 ";"
- SEMICOLON@3540..3541 ";"
- SEMICOLON@3541..3542 ";"
- SEMICOLON@3542..3543 ";"
- SEMICOLON@3543..3544 ";"
- SEMICOLON@3544..3545 ";"
- SEMICOLON@3545..3546 ";"
- SEMICOLON@3546..3547 ";"
- SEMICOLON@3547..3548 ";"
- TUPLE_EXPR@3548..3550
- L_PAREN@3548..3549 "("
- R_PAREN@3549..3550 ")"
- WHITESPACE@3550..3551 "\n"
- R_CURLY@3551..3552 "}"
+ L_CURLY@3528..3529 "{"
+ WHITESPACE@3529..3534 "\n "
+ SEMICOLON@3534..3535 ";"
+ SEMICOLON@3535..3536 ";"
+ SEMICOLON@3536..3537 ";"
+ EXPR_STMT@3537..3540
+ TUPLE_EXPR@3537..3539
+ L_PAREN@3537..3538 "("
+ R_PAREN@3538..3539 ")"
+ SEMICOLON@3539..3540 ";"
+ SEMICOLON@3540..3541 ";"
+ SEMICOLON@3541..3542 ";"
+ SEMICOLON@3542..3543 ";"
+ SEMICOLON@3543..3544 ";"
+ SEMICOLON@3544..3545 ";"
+ SEMICOLON@3545..3546 ";"
+ SEMICOLON@3546..3547 ";"
+ SEMICOLON@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
R_PAREN@3566..3567 ")"
WHITESPACE@3567..3568 " "
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 ")"
- SEMICOLON@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 ")"
- SEMICOLON@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 ")"
- SEMICOLON@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 ")"
- SEMICOLON@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 ")"
- SEMICOLON@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 ")"
- SEMICOLON@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 ")"
- SEMICOLON@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 ")"
- SEMICOLON@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 ")"
- SEMICOLON@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 ")"
- SEMICOLON@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 ")"
- SEMICOLON@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 ")"
- SEMICOLON@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 ")"
- SEMICOLON@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 ")"
- SEMICOLON@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 ")"
- SEMICOLON@3809..3810 ";"
- WHITESPACE@3810..3811 "\n"
- R_CURLY@3811..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 ")"
+ SEMICOLON@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 ")"
+ SEMICOLON@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 ")"
+ SEMICOLON@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 ")"
+ SEMICOLON@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 ")"
+ SEMICOLON@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 ")"
+ SEMICOLON@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 ")"
+ SEMICOLON@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 ")"
+ SEMICOLON@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 ")"
+ SEMICOLON@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 ")"
+ SEMICOLON@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 ")"
+ SEMICOLON@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 ")"
+ SEMICOLON@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 ")"
+ SEMICOLON@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 ")"
+ SEMICOLON@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 ")"
+ SEMICOLON@3809..3810 ";"
+ WHITESPACE@3810..3811 "\n"
+ R_CURLY@3811..3812 "}"
WHITESPACE@3812..3813 "\n"
COMMA@133..134 ","
WHITESPACE@134..135 "\n"
BLOCK_EXPR@135..156
- BLOCK@135..156
- L_CURLY@135..136 "{"
- WHITESPACE@136..141 "\n "
- METHOD_CALL_EXPR@141..154
- LITERAL@141..143
- STRING@141..143 "\"\""
- DOT@143..144 "."
- NAME_REF@144..152
- IDENT@144..152 "to_owned"
- ARG_LIST@152..154
- L_PAREN@152..153 "("
- R_PAREN@153..154 ")"
- WHITESPACE@154..155 "\n"
- R_CURLY@155..156 "}"
+ L_CURLY@135..136 "{"
+ WHITESPACE@136..141 "\n "
+ METHOD_CALL_EXPR@141..154
+ LITERAL@141..143
+ STRING@141..143 "\"\""
+ DOT@143..144 "."
+ NAME_REF@144..152
+ IDENT@144..152 "to_owned"
+ ARG_LIST@152..154
+ L_PAREN@152..153 "("
+ R_PAREN@153..154 ")"
+ WHITESPACE@154..155 "\n"
+ R_CURLY@155..156 "}"
WHITESPACE@156..157 "\n"
IDENT@28..31 "Foo"
WHITESPACE@31..32 " "
BLOCK_EXPR@32..34
- BLOCK@32..34
- L_CURLY@32..33 "{"
- R_CURLY@33..34 "}"
+ L_CURLY@32..33 "{"
+ R_CURLY@33..34 "}"
R_PAREN@9..10 ")"
WHITESPACE@10..11 " "
BLOCK_EXPR@11..14
- BLOCK@11..14
- L_CURLY@11..12 "{"
- WHITESPACE@12..13 "\n"
- R_CURLY@13..14 "}"
+ L_CURLY@11..12 "{"
+ WHITESPACE@12..13 "\n"
+ R_CURLY@13..14 "}"
WHITESPACE@14..15 "\n"
R_PAREN@7..8 ")"
WHITESPACE@8..9 " "
BLOCK_EXPR@9..59
- BLOCK@9..59
- L_CURLY@9..10 "{"
- WHITESPACE@10..11 " "
- LET_STMT@11..29
- LET_KW@11..14 "let"
- WHITESPACE@14..15 " "
- BIND_PAT@15..23
- NAME@15..23
- IDENT@15..23 "r#struct"
- WHITESPACE@23..24 " "
- EQ@24..25 "="
- WHITESPACE@25..26 " "
- LITERAL@26..28
- INT_NUMBER@26..28 "92"
- SEMICOLON@28..29 ";"
- WHITESPACE@29..30 " "
- LET_STMT@30..57
- LET_KW@30..33 "let"
- WHITESPACE@33..34 " "
- BIND_PAT@34..41
- NAME@34..41
- IDENT@34..41 "r#trait"
- WHITESPACE@41..42 " "
- EQ@42..43 "="
- WHITESPACE@43..44 " "
- BIN_EXPR@44..56
- PATH_EXPR@44..52
- PATH@44..52
- PATH_SEGMENT@44..52
- NAME_REF@44..52
- IDENT@44..52 "r#struct"
- WHITESPACE@52..53 " "
- STAR@53..54 "*"
- WHITESPACE@54..55 " "
- LITERAL@55..56
- INT_NUMBER@55..56 "2"
- SEMICOLON@56..57 ";"
- WHITESPACE@57..58 " "
- R_CURLY@58..59 "}"
+ L_CURLY@9..10 "{"
+ WHITESPACE@10..11 " "
+ LET_STMT@11..29
+ LET_KW@11..14 "let"
+ WHITESPACE@14..15 " "
+ BIND_PAT@15..23
+ NAME@15..23
+ IDENT@15..23 "r#struct"
+ WHITESPACE@23..24 " "
+ EQ@24..25 "="
+ WHITESPACE@25..26 " "
+ LITERAL@26..28
+ INT_NUMBER@26..28 "92"
+ SEMICOLON@28..29 ";"
+ WHITESPACE@29..30 " "
+ LET_STMT@30..57
+ LET_KW@30..33 "let"
+ WHITESPACE@33..34 " "
+ BIND_PAT@34..41
+ NAME@34..41
+ IDENT@34..41 "r#trait"
+ WHITESPACE@41..42 " "
+ EQ@42..43 "="
+ WHITESPACE@43..44 " "
+ BIN_EXPR@44..56
+ PATH_EXPR@44..52
+ PATH@44..52
+ PATH_SEGMENT@44..52
+ NAME_REF@44..52
+ IDENT@44..52 "r#struct"
+ WHITESPACE@52..53 " "
+ STAR@53..54 "*"
+ WHITESPACE@54..55 " "
+ LITERAL@55..56
+ INT_NUMBER@55..56 "2"
+ SEMICOLON@56..57 ";"
+ WHITESPACE@57..58 " "
+ R_CURLY@58..59 "}"
IDENT@102..106 "bool"
WHITESPACE@106..107 " "
BLOCK_EXPR@107..139
- BLOCK@107..139
- L_CURLY@107..108 "{"
- WHITESPACE@108..117 "\n "
- MACRO_CALL@117..133
- PATH@117..130
- PATH_SEGMENT@117..130
- NAME_REF@117..130
- IDENT@117..130 "unimplemented"
- BANG@130..131 "!"
- TOKEN_TREE@131..133
- L_PAREN@131..132 "("
- R_PAREN@132..133 ")"
- WHITESPACE@133..138 "\n "
- R_CURLY@138..139 "}"
+ L_CURLY@107..108 "{"
+ WHITESPACE@108..117 "\n "
+ MACRO_CALL@117..133
+ PATH@117..130
+ PATH_SEGMENT@117..130
+ NAME_REF@117..130
+ IDENT@117..130 "unimplemented"
+ BANG@130..131 "!"
+ TOKEN_TREE@131..133
+ L_PAREN@131..132 "("
+ R_PAREN@132..133 ")"
+ WHITESPACE@133..138 "\n "
+ R_CURLY@138..139 "}"
WHITESPACE@139..140 "\n"
R_CURLY@140..141 "}"
WHITESPACE@141..143 "\n\n"
R_PAREN@157..158 ")"
WHITESPACE@158..159 " "
BLOCK_EXPR@159..161
- BLOCK@159..161
- L_CURLY@159..160 "{"
- R_CURLY@160..161 "}"
+ L_CURLY@159..160 "{"
+ R_CURLY@160..161 "}"
WHITESPACE@161..163 "\n\n"
FN_DEF@163..198
FN_KW@163..165 "fn"
R_PAREN@171..172 ")"
WHITESPACE@172..173 " "
BLOCK_EXPR@173..198
- BLOCK@173..198
- L_CURLY@173..174 "{"
- WHITESPACE@174..179 "\n "
- CALL_EXPR@179..196
- PATH_EXPR@179..182
- PATH@179..182
- PATH_SEGMENT@179..182
- NAME_REF@179..182
- IDENT@179..182 "baz"
- ARG_LIST@182..196
- L_PAREN@182..183 "("
- CALL_EXPR@183..195
- PATH_EXPR@183..193
- PATH@183..193
- PATH@183..188
- PATH_SEGMENT@183..188
- L_ANGLE@183..184 "<"
- PATH_TYPE@184..187
- PATH@184..187
- PATH_SEGMENT@184..187
- NAME_REF@184..187
- IDENT@184..187 "Foo"
- R_ANGLE@187..188 ">"
- COLON2@188..190 "::"
- PATH_SEGMENT@190..193
- NAME_REF@190..193
- IDENT@190..193 "bar"
- ARG_LIST@193..195
- L_PAREN@193..194 "("
- R_PAREN@194..195 ")"
- R_PAREN@195..196 ")"
- WHITESPACE@196..197 "\n"
- R_CURLY@197..198 "}"
+ L_CURLY@173..174 "{"
+ WHITESPACE@174..179 "\n "
+ CALL_EXPR@179..196
+ PATH_EXPR@179..182
+ PATH@179..182
+ PATH_SEGMENT@179..182
+ NAME_REF@179..182
+ IDENT@179..182 "baz"
+ ARG_LIST@182..196
+ L_PAREN@182..183 "("
+ CALL_EXPR@183..195
+ PATH_EXPR@183..193
+ PATH@183..193
+ PATH@183..188
+ PATH_SEGMENT@183..188
+ L_ANGLE@183..184 "<"
+ PATH_TYPE@184..187
+ PATH@184..187
+ PATH_SEGMENT@184..187
+ NAME_REF@184..187
+ IDENT@184..187 "Foo"
+ R_ANGLE@187..188 ">"
+ COLON2@188..190 "::"
+ PATH_SEGMENT@190..193
+ NAME_REF@190..193
+ IDENT@190..193 "bar"
+ ARG_LIST@193..195
+ L_PAREN@193..194 "("
+ R_PAREN@194..195 ")"
+ R_PAREN@195..196 ")"
+ WHITESPACE@196..197 "\n"
+ R_CURLY@197..198 "}"
WHITESPACE@198..199 "\n"
R_PAREN@99..100 ")"
WHITESPACE@100..101 " "
BLOCK_EXPR@101..159
- BLOCK@101..159
- L_CURLY@101..102 "{"
- WHITESPACE@102..107 "\n "
- EXPR_STMT@107..136
- BIN_EXPR@107..135
- INDEX_EXPR@107..131
- FIELD_EXPR@107..128
- RECORD_LIT@107..124
- PATH@107..111
- PATH_SEGMENT@107..111
- NAME_REF@107..111
- IDENT@107..111 "Repr"
- WHITESPACE@111..112 " "
- RECORD_FIELD_LIST@112..124
- L_CURLY@112..113 "{"
- WHITESPACE@113..114 " "
- RECORD_FIELD@114..122
- NAME_REF@114..117
- IDENT@114..117 "raw"
- COLON@117..118 ":"
- WHITESPACE@118..119 " "
- ARRAY_EXPR@119..122
- L_BRACK@119..120 "["
- LITERAL@120..121
- INT_NUMBER@120..121 "0"
- R_BRACK@121..122 "]"
- WHITESPACE@122..123 " "
- R_CURLY@123..124 "}"
- DOT@124..125 "."
- NAME_REF@125..128
- IDENT@125..128 "raw"
- L_BRACK@128..129 "["
- LITERAL@129..130
- INT_NUMBER@129..130 "0"
- R_BRACK@130..131 "]"
- WHITESPACE@131..132 " "
- EQ@132..133 "="
- WHITESPACE@133..134 " "
- LITERAL@134..135
- INT_NUMBER@134..135 "0"
- SEMICOLON@135..136 ";"
- WHITESPACE@136..141 "\n "
- EXPR_STMT@141..157
- CALL_EXPR@141..156
- RECORD_LIT@141..154
- PATH@141..145
- PATH_SEGMENT@141..145
- NAME_REF@141..145
- IDENT@141..145 "Repr"
- RECORD_FIELD_LIST@145..154
- L_CURLY@145..146 "{"
- RECORD_FIELD@146..153
- NAME_REF@146..149
- IDENT@146..149 "raw"
- COLON@149..150 ":"
- ARRAY_EXPR@150..153
- L_BRACK@150..151 "["
- LITERAL@151..152
- INT_NUMBER@151..152 "0"
- R_BRACK@152..153 "]"
- R_CURLY@153..154 "}"
- ARG_LIST@154..156
- L_PAREN@154..155 "("
- R_PAREN@155..156 ")"
- SEMICOLON@156..157 ";"
- WHITESPACE@157..158 "\n"
- R_CURLY@158..159 "}"
+ L_CURLY@101..102 "{"
+ WHITESPACE@102..107 "\n "
+ EXPR_STMT@107..136
+ BIN_EXPR@107..135
+ INDEX_EXPR@107..131
+ FIELD_EXPR@107..128
+ RECORD_LIT@107..124
+ PATH@107..111
+ PATH_SEGMENT@107..111
+ NAME_REF@107..111
+ IDENT@107..111 "Repr"
+ WHITESPACE@111..112 " "
+ RECORD_FIELD_LIST@112..124
+ L_CURLY@112..113 "{"
+ WHITESPACE@113..114 " "
+ RECORD_FIELD@114..122
+ NAME_REF@114..117
+ IDENT@114..117 "raw"
+ COLON@117..118 ":"
+ WHITESPACE@118..119 " "
+ ARRAY_EXPR@119..122
+ L_BRACK@119..120 "["
+ LITERAL@120..121
+ INT_NUMBER@120..121 "0"
+ R_BRACK@121..122 "]"
+ WHITESPACE@122..123 " "
+ R_CURLY@123..124 "}"
+ DOT@124..125 "."
+ NAME_REF@125..128
+ IDENT@125..128 "raw"
+ L_BRACK@128..129 "["
+ LITERAL@129..130
+ INT_NUMBER@129..130 "0"
+ R_BRACK@130..131 "]"
+ WHITESPACE@131..132 " "
+ EQ@132..133 "="
+ WHITESPACE@133..134 " "
+ LITERAL@134..135
+ INT_NUMBER@134..135 "0"
+ SEMICOLON@135..136 ";"
+ WHITESPACE@136..141 "\n "
+ EXPR_STMT@141..157
+ CALL_EXPR@141..156
+ RECORD_LIT@141..154
+ PATH@141..145
+ PATH_SEGMENT@141..145
+ NAME_REF@141..145
+ IDENT@141..145 "Repr"
+ RECORD_FIELD_LIST@145..154
+ L_CURLY@145..146 "{"
+ RECORD_FIELD@146..153
+ NAME_REF@146..149
+ IDENT@146..149 "raw"
+ COLON@149..150 ":"
+ ARRAY_EXPR@150..153
+ L_BRACK@150..151 "["
+ LITERAL@151..152
+ INT_NUMBER@151..152 "0"
+ R_BRACK@152..153 "]"
+ R_CURLY@153..154 "}"
+ ARG_LIST@154..156
+ L_PAREN@154..155 "("
+ R_PAREN@155..156 ")"
+ SEMICOLON@156..157 ";"
+ WHITESPACE@157..158 "\n"
+ R_CURLY@158..159 "}"
WHITESPACE@159..160 "\n"
R_PAREN@69..70 ")"
WHITESPACE@70..71 " "
BLOCK_EXPR@71..165
- BLOCK@71..165
- L_CURLY@71..72 "{"
- WHITESPACE@72..77 "\n "
- LET_STMT@77..163
- ATTR@77..106
- POUND@77..78 "#"
- L_BRACK@78..79 "["
- PATH@79..82
- PATH_SEGMENT@79..82
- NAME_REF@79..82
- IDENT@79..82 "cfg"
- TOKEN_TREE@82..105
- L_PAREN@82..83 "("
- IDENT@83..90 "feature"
- WHITESPACE@90..91 " "
- EQ@91..92 "="
- WHITESPACE@92..93 " "
- STRING@93..104 "\"backtrace\""
- R_PAREN@104..105 ")"
- R_BRACK@105..106 "]"
- WHITESPACE@106..111 "\n "
- LET_KW@111..114 "let"
- WHITESPACE@114..115 " "
- BIND_PAT@115..124
- NAME@115..124
- IDENT@115..124 "exit_code"
- WHITESPACE@124..125 " "
- EQ@125..126 "="
- WHITESPACE@126..127 " "
- CALL_EXPR@127..162
- PATH_EXPR@127..146
- PATH@127..146
- PATH@127..132
- PATH_SEGMENT@127..132
- NAME_REF@127..132
- IDENT@127..132 "panic"
- COLON2@132..134 "::"
- PATH_SEGMENT@134..146
- NAME_REF@134..146
- IDENT@134..146 "catch_unwind"
- ARG_LIST@146..162
- L_PAREN@146..147 "("
- LAMBDA_EXPR@147..161
- MOVE_KW@147..151 "move"
- WHITESPACE@151..152 " "
- PARAM_LIST@152..154
- PIPE@152..153 "|"
- PIPE@153..154 "|"
- WHITESPACE@154..155 " "
- CALL_EXPR@155..161
- PATH_EXPR@155..159
- PATH@155..159
- PATH_SEGMENT@155..159
- NAME_REF@155..159
- IDENT@155..159 "main"
- ARG_LIST@159..161
- L_PAREN@159..160 "("
- R_PAREN@160..161 ")"
- R_PAREN@161..162 ")"
- SEMICOLON@162..163 ";"
- WHITESPACE@163..164 "\n"
- R_CURLY@164..165 "}"
+ L_CURLY@71..72 "{"
+ WHITESPACE@72..77 "\n "
+ LET_STMT@77..163
+ ATTR@77..106
+ POUND@77..78 "#"
+ L_BRACK@78..79 "["
+ PATH@79..82
+ PATH_SEGMENT@79..82
+ NAME_REF@79..82
+ IDENT@79..82 "cfg"
+ TOKEN_TREE@82..105
+ L_PAREN@82..83 "("
+ IDENT@83..90 "feature"
+ WHITESPACE@90..91 " "
+ EQ@91..92 "="
+ WHITESPACE@92..93 " "
+ STRING@93..104 "\"backtrace\""
+ R_PAREN@104..105 ")"
+ R_BRACK@105..106 "]"
+ WHITESPACE@106..111 "\n "
+ LET_KW@111..114 "let"
+ WHITESPACE@114..115 " "
+ BIND_PAT@115..124
+ NAME@115..124
+ IDENT@115..124 "exit_code"
+ WHITESPACE@124..125 " "
+ EQ@125..126 "="
+ WHITESPACE@126..127 " "
+ CALL_EXPR@127..162
+ PATH_EXPR@127..146
+ PATH@127..146
+ PATH@127..132
+ PATH_SEGMENT@127..132
+ NAME_REF@127..132
+ IDENT@127..132 "panic"
+ COLON2@132..134 "::"
+ PATH_SEGMENT@134..146
+ NAME_REF@134..146
+ IDENT@134..146 "catch_unwind"
+ ARG_LIST@146..162
+ L_PAREN@146..147 "("
+ LAMBDA_EXPR@147..161
+ MOVE_KW@147..151 "move"
+ WHITESPACE@151..152 " "
+ PARAM_LIST@152..154
+ PIPE@152..153 "|"
+ PIPE@153..154 "|"
+ WHITESPACE@154..155 " "
+ CALL_EXPR@155..161
+ PATH_EXPR@155..159
+ PATH@155..159
+ PATH_SEGMENT@155..159
+ NAME_REF@155..159
+ IDENT@155..159 "main"
+ ARG_LIST@159..161
+ L_PAREN@159..160 "("
+ R_PAREN@160..161 ")"
+ R_PAREN@161..162 ")"
+ SEMICOLON@162..163 ";"
+ WHITESPACE@163..164 "\n"
+ R_CURLY@164..165 "}"
WHITESPACE@165..166 "\n"
R_PAREN@9..10 ")"
WHITESPACE@10..11 " "
BLOCK_EXPR@11..461
- BLOCK@11..461
- L_CURLY@11..12 "{"
- WHITESPACE@12..17 "\n "
- ATTR@17..57
- POUND@17..18 "#"
- BANG@18..19 "!"
- L_BRACK@19..20 "["
- PATH@20..23
- PATH_SEGMENT@20..23
- NAME_REF@20..23
- IDENT@20..23 "doc"
- TOKEN_TREE@23..56
- L_PAREN@23..24 "("
- STRING@24..55 "\"Inner attributes all ..."
- R_PAREN@55..56 ")"
- R_BRACK@56..57 "]"
- WHITESPACE@57..62 "\n "
- COMMENT@62..97 "//! As are ModuleDoc ..."
- WHITESPACE@97..102 "\n "
- EXPR_STMT@102..295
- BLOCK_EXPR@102..294
- BLOCK@102..294
- L_CURLY@102..103 "{"
- WHITESPACE@103..112 "\n "
- ATTR@112..180
- POUND@112..113 "#"
- BANG@113..114 "!"
- L_BRACK@114..115 "["
- PATH@115..118
- PATH_SEGMENT@115..118
- NAME_REF@115..118
- IDENT@115..118 "doc"
- TOKEN_TREE@118..179
- L_PAREN@118..119 "("
- STRING@119..178 "\"Inner attributes are ..."
- R_PAREN@178..179 ")"
- R_BRACK@179..180 "]"
- WHITESPACE@180..189 "\n "
- ATTR@189..244
- POUND@189..190 "#"
- BANG@190..191 "!"
- L_BRACK@191..192 "["
- PATH@192..195
- PATH_SEGMENT@192..195
- NAME_REF@192..195
- IDENT@192..195 "doc"
- TOKEN_TREE@195..243
- L_PAREN@195..196 "("
- STRING@196..242 "\"Being validated is n ..."
- R_PAREN@242..243 ")"
- R_BRACK@243..244 "]"
- WHITESPACE@244..253 "\n "
- COMMENT@253..288 "//! As are ModuleDoc ..."
- WHITESPACE@288..293 "\n "
- R_CURLY@293..294 "}"
- SEMICOLON@294..295 ";"
- WHITESPACE@295..300 "\n "
- BLOCK_EXPR@300..459
- BLOCK@300..459
- L_CURLY@300..301 "{"
- WHITESPACE@301..310 "\n "
- ATTR@310..409
- POUND@310..311 "#"
- BANG@311..312 "!"
- L_BRACK@312..313 "["
- PATH@313..316
- PATH_SEGMENT@313..316
- NAME_REF@313..316
- IDENT@313..316 "doc"
- TOKEN_TREE@316..408
- L_PAREN@316..317 "("
- STRING@317..407 "\"Inner attributes are ..."
- R_PAREN@407..408 ")"
- R_BRACK@408..409 "]"
- WHITESPACE@409..418 "\n "
- COMMENT@418..453 "//! As are ModuleDoc ..."
- WHITESPACE@453..458 "\n "
- R_CURLY@458..459 "}"
- WHITESPACE@459..460 "\n"
- R_CURLY@460..461 "}"
+ L_CURLY@11..12 "{"
+ WHITESPACE@12..17 "\n "
+ ATTR@17..57
+ POUND@17..18 "#"
+ BANG@18..19 "!"
+ L_BRACK@19..20 "["
+ PATH@20..23
+ PATH_SEGMENT@20..23
+ NAME_REF@20..23
+ IDENT@20..23 "doc"
+ TOKEN_TREE@23..56
+ L_PAREN@23..24 "("
+ STRING@24..55 "\"Inner attributes all ..."
+ R_PAREN@55..56 ")"
+ R_BRACK@56..57 "]"
+ WHITESPACE@57..62 "\n "
+ COMMENT@62..97 "//! As are ModuleDoc ..."
+ WHITESPACE@97..102 "\n "
+ EXPR_STMT@102..295
+ BLOCK_EXPR@102..294
+ L_CURLY@102..103 "{"
+ WHITESPACE@103..112 "\n "
+ ATTR@112..180
+ POUND@112..113 "#"
+ BANG@113..114 "!"
+ L_BRACK@114..115 "["
+ PATH@115..118
+ PATH_SEGMENT@115..118
+ NAME_REF@115..118
+ IDENT@115..118 "doc"
+ TOKEN_TREE@118..179
+ L_PAREN@118..119 "("
+ STRING@119..178 "\"Inner attributes are ..."
+ R_PAREN@178..179 ")"
+ R_BRACK@179..180 "]"
+ WHITESPACE@180..189 "\n "
+ ATTR@189..244
+ POUND@189..190 "#"
+ BANG@190..191 "!"
+ L_BRACK@191..192 "["
+ PATH@192..195
+ PATH_SEGMENT@192..195
+ NAME_REF@192..195
+ IDENT@192..195 "doc"
+ TOKEN_TREE@195..243
+ L_PAREN@195..196 "("
+ STRING@196..242 "\"Being validated is n ..."
+ R_PAREN@242..243 ")"
+ R_BRACK@243..244 "]"
+ WHITESPACE@244..253 "\n "
+ COMMENT@253..288 "//! As are ModuleDoc ..."
+ WHITESPACE@288..293 "\n "
+ R_CURLY@293..294 "}"
+ SEMICOLON@294..295 ";"
+ WHITESPACE@295..300 "\n "
+ BLOCK_EXPR@300..459
+ L_CURLY@300..301 "{"
+ WHITESPACE@301..310 "\n "
+ ATTR@310..409
+ POUND@310..311 "#"
+ BANG@311..312 "!"
+ L_BRACK@312..313 "["
+ PATH@313..316
+ PATH_SEGMENT@313..316
+ NAME_REF@313..316
+ IDENT@313..316 "doc"
+ TOKEN_TREE@316..408
+ L_PAREN@316..317 "("
+ STRING@317..407 "\"Inner attributes are ..."
+ R_PAREN@407..408 ")"
+ R_BRACK@408..409 "]"
+ WHITESPACE@409..418 "\n "
+ COMMENT@418..453 "//! As are ModuleDoc ..."
+ WHITESPACE@453..458 "\n "
+ R_CURLY@458..459 "}"
+ WHITESPACE@459..460 "\n"
+ R_CURLY@460..461 "}"
WHITESPACE@461..463 "\n\n"
COMMENT@463..523 "// https://github.com ..."
WHITESPACE@523..524 "\n"
R_PAREN@600..601 ")"
WHITESPACE@601..602 " "
BLOCK_EXPR@602..683
- BLOCK@602..683
- L_CURLY@602..603 "{"
- WHITESPACE@603..612 "\n "
- ATTR@612..639
- POUND@612..613 "#"
- BANG@613..614 "!"
- L_BRACK@614..615 "["
- PATH@615..620
- PATH_SEGMENT@615..620
- NAME_REF@615..620
- IDENT@615..620 "allow"
- TOKEN_TREE@620..638
- L_PAREN@620..621 "("
- IDENT@621..637 "unused_variables"
- R_PAREN@637..638 ")"
- R_BRACK@638..639 "]"
- WHITESPACE@639..640 " "
- COMMENT@640..677 "// this is `inner_at ..."
- WHITESPACE@677..682 "\n "
- R_CURLY@682..683 "}"
+ L_CURLY@602..603 "{"
+ WHITESPACE@603..612 "\n "
+ ATTR@612..639
+ POUND@612..613 "#"
+ BANG@613..614 "!"
+ L_BRACK@614..615 "["
+ PATH@615..620
+ PATH_SEGMENT@615..620
+ NAME_REF@615..620
+ IDENT@615..620 "allow"
+ TOKEN_TREE@620..638
+ L_PAREN@620..621 "("
+ IDENT@621..637 "unused_variables"
+ R_PAREN@637..638 ")"
+ R_BRACK@638..639 "]"
+ WHITESPACE@639..640 " "
+ COMMENT@640..677 "// this is `inner_at ..."
+ WHITESPACE@677..682 "\n "
+ R_CURLY@682..683 "}"
WHITESPACE@683..684 "\n"
R_CURLY@684..685 "}"
WHITESPACE@685..686 "\n"
R_PAREN@70..71 ")"
WHITESPACE@71..72 " "
BLOCK_EXPR@72..341
- BLOCK@72..341
- L_CURLY@72..73 "{"
- WHITESPACE@73..78 "\n "
- EXPR_STMT@78..141
- MATCH_EXPR@78..141
- MATCH_KW@78..83 "match"
- WHITESPACE@83..84 " "
- CALL_EXPR@84..92
- PATH_EXPR@84..88
- PATH@84..88
- PATH_SEGMENT@84..88
- NAME_REF@84..88
- IDENT@84..88 "Some"
- ARG_LIST@88..92
- L_PAREN@88..89 "("
- PREFIX_EXPR@89..91
- MINUS@89..90 "-"
- LITERAL@90..91
- INT_NUMBER@90..91 "1"
- R_PAREN@91..92 ")"
- WHITESPACE@92..93 " "
- MATCH_ARM_LIST@93..141
- L_CURLY@93..94 "{"
- WHITESPACE@94..103 "\n "
- MATCH_ARM@103..117
- TUPLE_STRUCT_PAT@103..111
- PATH@103..107
- PATH_SEGMENT@103..107
- NAME_REF@103..107
- IDENT@103..107 "Some"
- L_PAREN@107..108 "("
- LITERAL_PAT@108..110
- MINUS@108..109 "-"
- LITERAL@109..110
- INT_NUMBER@109..110 "1"
- R_PAREN@110..111 ")"
- WHITESPACE@111..112 " "
- FAT_ARROW@112..114 "=>"
- WHITESPACE@114..115 " "
- TUPLE_EXPR@115..117
- L_PAREN@115..116 "("
- R_PAREN@116..117 ")"
- COMMA@117..118 ","
- WHITESPACE@118..127 "\n "
- MATCH_ARM@127..134
- PLACEHOLDER_PAT@127..128
- UNDERSCORE@127..128 "_"
- WHITESPACE@128..129 " "
- FAT_ARROW@129..131 "=>"
- WHITESPACE@131..132 " "
- TUPLE_EXPR@132..134
- L_PAREN@132..133 "("
- R_PAREN@133..134 ")"
- COMMA@134..135 ","
- WHITESPACE@135..140 "\n "
- R_CURLY@140..141 "}"
- WHITESPACE@141..147 "\n\n "
- EXPR_STMT@147..222
- MATCH_EXPR@147..222
- MATCH_KW@147..152 "match"
- WHITESPACE@152..153 " "
- CALL_EXPR@153..167
- PATH_EXPR@153..157
- PATH@153..157
- PATH_SEGMENT@153..157
- NAME_REF@153..157
- IDENT@153..157 "Some"
- ARG_LIST@157..167
- L_PAREN@157..158 "("
- TUPLE_EXPR@158..166
- L_PAREN@158..159 "("
- PREFIX_EXPR@159..161
- MINUS@159..160 "-"
- LITERAL@160..161
- INT_NUMBER@160..161 "1"
- COMMA@161..162 ","
- WHITESPACE@162..163 " "
- PREFIX_EXPR@163..165
- MINUS@163..164 "-"
- LITERAL@164..165
- INT_NUMBER@164..165 "1"
- R_PAREN@165..166 ")"
- R_PAREN@166..167 ")"
- WHITESPACE@167..168 " "
- MATCH_ARM_LIST@168..222
- L_CURLY@168..169 "{"
- WHITESPACE@169..178 "\n "
- MATCH_ARM@178..198
- TUPLE_STRUCT_PAT@178..192
- PATH@178..182
- PATH_SEGMENT@178..182
- NAME_REF@178..182
- IDENT@178..182 "Some"
- L_PAREN@182..183 "("
- TUPLE_PAT@183..191
- L_PAREN@183..184 "("
- LITERAL_PAT@184..186
- MINUS@184..185 "-"
- LITERAL@185..186
- INT_NUMBER@185..186 "1"
- COMMA@186..187 ","
- WHITESPACE@187..188 " "
- LITERAL_PAT@188..190
- MINUS@188..189 "-"
- LITERAL@189..190
- INT_NUMBER@189..190 "1"
- R_PAREN@190..191 ")"
- R_PAREN@191..192 ")"
- WHITESPACE@192..193 " "
- FAT_ARROW@193..195 "=>"
- WHITESPACE@195..196 " "
- TUPLE_EXPR@196..198
- L_PAREN@196..197 "("
- R_PAREN@197..198 ")"
- COMMA@198..199 ","
- WHITESPACE@199..208 "\n "
- MATCH_ARM@208..215
- PLACEHOLDER_PAT@208..209
- UNDERSCORE@208..209 "_"
- WHITESPACE@209..210 " "
- FAT_ARROW@210..212 "=>"
- WHITESPACE@212..213 " "
- TUPLE_EXPR@213..215
- L_PAREN@213..214 "("
- R_PAREN@214..215 ")"
- COMMA@215..216 ","
- WHITESPACE@216..221 "\n "
- R_CURLY@221..222 "}"
- WHITESPACE@222..228 "\n\n "
- EXPR_STMT@228..299
- MATCH_EXPR@228..299
- MATCH_KW@228..233 "match"
- WHITESPACE@233..234 " "
- CALL_EXPR@234..246
- PATH_EXPR@234..238
- PATH@234..238
- PATH@234..235
- PATH_SEGMENT@234..235
- NAME_REF@234..235
- IDENT@234..235 "A"
- COLON2@235..237 "::"
- PATH_SEGMENT@237..238
- NAME_REF@237..238
- IDENT@237..238 "B"
- ARG_LIST@238..246
- L_PAREN@238..239 "("
- PREFIX_EXPR@239..241
- MINUS@239..240 "-"
- LITERAL@240..241
- INT_NUMBER@240..241 "1"
- COMMA@241..242 ","
- WHITESPACE@242..243 " "
- PREFIX_EXPR@243..245
- MINUS@243..244 "-"
- LITERAL@244..245
- INT_NUMBER@244..245 "1"
- R_PAREN@245..246 ")"
- WHITESPACE@246..247 " "
- MATCH_ARM_LIST@247..299
- L_CURLY@247..248 "{"
- WHITESPACE@248..257 "\n "
- MATCH_ARM@257..275
- TUPLE_STRUCT_PAT@257..269
- PATH@257..261
- PATH@257..258
- PATH_SEGMENT@257..258
- NAME_REF@257..258
- IDENT@257..258 "A"
- COLON2@258..260 "::"
- PATH_SEGMENT@260..261
- NAME_REF@260..261
- IDENT@260..261 "B"
- L_PAREN@261..262 "("
- LITERAL_PAT@262..264
- MINUS@262..263 "-"
- LITERAL@263..264
- INT_NUMBER@263..264 "1"
- COMMA@264..265 ","
- WHITESPACE@265..266 " "
- LITERAL_PAT@266..268
- MINUS@266..267 "-"
- LITERAL@267..268
- INT_NUMBER@267..268 "1"
- R_PAREN@268..269 ")"
- WHITESPACE@269..270 " "
- FAT_ARROW@270..272 "=>"
- WHITESPACE@272..273 " "
- TUPLE_EXPR@273..275
- L_PAREN@273..274 "("
- R_PAREN@274..275 ")"
- COMMA@275..276 ","
- WHITESPACE@276..285 "\n "
- MATCH_ARM@285..292
- PLACEHOLDER_PAT@285..286
- UNDERSCORE@285..286 "_"
- WHITESPACE@286..287 " "
- FAT_ARROW@287..289 "=>"
- WHITESPACE@289..290 " "
- TUPLE_EXPR@290..292
- L_PAREN@290..291 "("
- R_PAREN@291..292 ")"
- COMMA@292..293 ","
- WHITESPACE@293..298 "\n "
- R_CURLY@298..299 "}"
- WHITESPACE@299..305 "\n\n "
- IF_EXPR@305..339
- IF_KW@305..307 "if"
- WHITESPACE@307..308 " "
- CONDITION@308..331
- LET_KW@308..311 "let"
- WHITESPACE@311..312 " "
- TUPLE_STRUCT_PAT@312..320
- PATH@312..316
- PATH_SEGMENT@312..316
- NAME_REF@312..316
- IDENT@312..316 "Some"
- L_PAREN@316..317 "("
- LITERAL_PAT@317..319
- MINUS@317..318 "-"
- LITERAL@318..319
- INT_NUMBER@318..319 "1"
- R_PAREN@319..320 ")"
- WHITESPACE@320..321 " "
- EQ@321..322 "="
- WHITESPACE@322..323 " "
- CALL_EXPR@323..331
- PATH_EXPR@323..327
- PATH@323..327
- PATH_SEGMENT@323..327
- NAME_REF@323..327
- IDENT@323..327 "Some"
- ARG_LIST@327..331
- L_PAREN@327..328 "("
- PREFIX_EXPR@328..330
- MINUS@328..329 "-"
- LITERAL@329..330
- INT_NUMBER@329..330 "1"
- R_PAREN@330..331 ")"
- WHITESPACE@331..332 " "
- BLOCK_EXPR@332..339
- BLOCK@332..339
- L_CURLY@332..333 "{"
- WHITESPACE@333..338 "\n "
- R_CURLY@338..339 "}"
- WHITESPACE@339..340 "\n"
- R_CURLY@340..341 "}"
+ L_CURLY@72..73 "{"
+ WHITESPACE@73..78 "\n "
+ EXPR_STMT@78..141
+ MATCH_EXPR@78..141
+ MATCH_KW@78..83 "match"
+ WHITESPACE@83..84 " "
+ CALL_EXPR@84..92
+ PATH_EXPR@84..88
+ PATH@84..88
+ PATH_SEGMENT@84..88
+ NAME_REF@84..88
+ IDENT@84..88 "Some"
+ ARG_LIST@88..92
+ L_PAREN@88..89 "("
+ PREFIX_EXPR@89..91
+ MINUS@89..90 "-"
+ LITERAL@90..91
+ INT_NUMBER@90..91 "1"
+ R_PAREN@91..92 ")"
+ WHITESPACE@92..93 " "
+ MATCH_ARM_LIST@93..141
+ L_CURLY@93..94 "{"
+ WHITESPACE@94..103 "\n "
+ MATCH_ARM@103..117
+ TUPLE_STRUCT_PAT@103..111
+ PATH@103..107
+ PATH_SEGMENT@103..107
+ NAME_REF@103..107
+ IDENT@103..107 "Some"
+ L_PAREN@107..108 "("
+ LITERAL_PAT@108..110
+ MINUS@108..109 "-"
+ LITERAL@109..110
+ INT_NUMBER@109..110 "1"
+ R_PAREN@110..111 ")"
+ WHITESPACE@111..112 " "
+ FAT_ARROW@112..114 "=>"
+ WHITESPACE@114..115 " "
+ TUPLE_EXPR@115..117
+ L_PAREN@115..116 "("
+ R_PAREN@116..117 ")"
+ COMMA@117..118 ","
+ WHITESPACE@118..127 "\n "
+ MATCH_ARM@127..134
+ PLACEHOLDER_PAT@127..128
+ UNDERSCORE@127..128 "_"
+ WHITESPACE@128..129 " "
+ FAT_ARROW@129..131 "=>"
+ WHITESPACE@131..132 " "
+ TUPLE_EXPR@132..134
+ L_PAREN@132..133 "("
+ R_PAREN@133..134 ")"
+ COMMA@134..135 ","
+ WHITESPACE@135..140 "\n "
+ R_CURLY@140..141 "}"
+ WHITESPACE@141..147 "\n\n "
+ EXPR_STMT@147..222
+ MATCH_EXPR@147..222
+ MATCH_KW@147..152 "match"
+ WHITESPACE@152..153 " "
+ CALL_EXPR@153..167
+ PATH_EXPR@153..157
+ PATH@153..157
+ PATH_SEGMENT@153..157
+ NAME_REF@153..157
+ IDENT@153..157 "Some"
+ ARG_LIST@157..167
+ L_PAREN@157..158 "("
+ TUPLE_EXPR@158..166
+ L_PAREN@158..159 "("
+ PREFIX_EXPR@159..161
+ MINUS@159..160 "-"
+ LITERAL@160..161
+ INT_NUMBER@160..161 "1"
+ COMMA@161..162 ","
+ WHITESPACE@162..163 " "
+ PREFIX_EXPR@163..165
+ MINUS@163..164 "-"
+ LITERAL@164..165
+ INT_NUMBER@164..165 "1"
+ R_PAREN@165..166 ")"
+ R_PAREN@166..167 ")"
+ WHITESPACE@167..168 " "
+ MATCH_ARM_LIST@168..222
+ L_CURLY@168..169 "{"
+ WHITESPACE@169..178 "\n "
+ MATCH_ARM@178..198
+ TUPLE_STRUCT_PAT@178..192
+ PATH@178..182
+ PATH_SEGMENT@178..182
+ NAME_REF@178..182
+ IDENT@178..182 "Some"
+ L_PAREN@182..183 "("
+ TUPLE_PAT@183..191
+ L_PAREN@183..184 "("
+ LITERAL_PAT@184..186
+ MINUS@184..185 "-"
+ LITERAL@185..186
+ INT_NUMBER@185..186 "1"
+ COMMA@186..187 ","
+ WHITESPACE@187..188 " "
+ LITERAL_PAT@188..190
+ MINUS@188..189 "-"
+ LITERAL@189..190
+ INT_NUMBER@189..190 "1"
+ R_PAREN@190..191 ")"
+ R_PAREN@191..192 ")"
+ WHITESPACE@192..193 " "
+ FAT_ARROW@193..195 "=>"
+ WHITESPACE@195..196 " "
+ TUPLE_EXPR@196..198
+ L_PAREN@196..197 "("
+ R_PAREN@197..198 ")"
+ COMMA@198..199 ","
+ WHITESPACE@199..208 "\n "
+ MATCH_ARM@208..215
+ PLACEHOLDER_PAT@208..209
+ UNDERSCORE@208..209 "_"
+ WHITESPACE@209..210 " "
+ FAT_ARROW@210..212 "=>"
+ WHITESPACE@212..213 " "
+ TUPLE_EXPR@213..215
+ L_PAREN@213..214 "("
+ R_PAREN@214..215 ")"
+ COMMA@215..216 ","
+ WHITESPACE@216..221 "\n "
+ R_CURLY@221..222 "}"
+ WHITESPACE@222..228 "\n\n "
+ EXPR_STMT@228..299
+ MATCH_EXPR@228..299
+ MATCH_KW@228..233 "match"
+ WHITESPACE@233..234 " "
+ CALL_EXPR@234..246
+ PATH_EXPR@234..238
+ PATH@234..238
+ PATH@234..235
+ PATH_SEGMENT@234..235
+ NAME_REF@234..235
+ IDENT@234..235 "A"
+ COLON2@235..237 "::"
+ PATH_SEGMENT@237..238
+ NAME_REF@237..238
+ IDENT@237..238 "B"
+ ARG_LIST@238..246
+ L_PAREN@238..239 "("
+ PREFIX_EXPR@239..241
+ MINUS@239..240 "-"
+ LITERAL@240..241
+ INT_NUMBER@240..241 "1"
+ COMMA@241..242 ","
+ WHITESPACE@242..243 " "
+ PREFIX_EXPR@243..245
+ MINUS@243..244 "-"
+ LITERAL@244..245
+ INT_NUMBER@244..245 "1"
+ R_PAREN@245..246 ")"
+ WHITESPACE@246..247 " "
+ MATCH_ARM_LIST@247..299
+ L_CURLY@247..248 "{"
+ WHITESPACE@248..257 "\n "
+ MATCH_ARM@257..275
+ TUPLE_STRUCT_PAT@257..269
+ PATH@257..261
+ PATH@257..258
+ PATH_SEGMENT@257..258
+ NAME_REF@257..258
+ IDENT@257..258 "A"
+ COLON2@258..260 "::"
+ PATH_SEGMENT@260..261
+ NAME_REF@260..261
+ IDENT@260..261 "B"
+ L_PAREN@261..262 "("
+ LITERAL_PAT@262..264
+ MINUS@262..263 "-"
+ LITERAL@263..264
+ INT_NUMBER@263..264 "1"
+ COMMA@264..265 ","
+ WHITESPACE@265..266 " "
+ LITERAL_PAT@266..268
+ MINUS@266..267 "-"
+ LITERAL@267..268
+ INT_NUMBER@267..268 "1"
+ R_PAREN@268..269 ")"
+ WHITESPACE@269..270 " "
+ FAT_ARROW@270..272 "=>"
+ WHITESPACE@272..273 " "
+ TUPLE_EXPR@273..275
+ L_PAREN@273..274 "("
+ R_PAREN@274..275 ")"
+ COMMA@275..276 ","
+ WHITESPACE@276..285 "\n "
+ MATCH_ARM@285..292
+ PLACEHOLDER_PAT@285..286
+ UNDERSCORE@285..286 "_"
+ WHITESPACE@286..287 " "
+ FAT_ARROW@287..289 "=>"
+ WHITESPACE@289..290 " "
+ TUPLE_EXPR@290..292
+ L_PAREN@290..291 "("
+ R_PAREN@291..292 ")"
+ COMMA@292..293 ","
+ WHITESPACE@293..298 "\n "
+ R_CURLY@298..299 "}"
+ WHITESPACE@299..305 "\n\n "
+ IF_EXPR@305..339
+ IF_KW@305..307 "if"
+ WHITESPACE@307..308 " "
+ CONDITION@308..331
+ LET_KW@308..311 "let"
+ WHITESPACE@311..312 " "
+ TUPLE_STRUCT_PAT@312..320
+ PATH@312..316
+ PATH_SEGMENT@312..316
+ NAME_REF@312..316
+ IDENT@312..316 "Some"
+ L_PAREN@316..317 "("
+ LITERAL_PAT@317..319
+ MINUS@317..318 "-"
+ LITERAL@318..319
+ INT_NUMBER@318..319 "1"
+ R_PAREN@319..320 ")"
+ WHITESPACE@320..321 " "
+ EQ@321..322 "="
+ WHITESPACE@322..323 " "
+ CALL_EXPR@323..331
+ PATH_EXPR@323..327
+ PATH@323..327
+ PATH_SEGMENT@323..327
+ NAME_REF@323..327
+ IDENT@323..327 "Some"
+ ARG_LIST@327..331
+ L_PAREN@327..328 "("
+ PREFIX_EXPR@328..330
+ MINUS@328..329 "-"
+ LITERAL@329..330
+ INT_NUMBER@329..330 "1"
+ R_PAREN@330..331 ")"
+ WHITESPACE@331..332 " "
+ BLOCK_EXPR@332..339
+ L_CURLY@332..333 "{"
+ WHITESPACE@333..338 "\n "
+ R_CURLY@338..339 "}"
+ WHITESPACE@339..340 "\n"
+ R_CURLY@340..341 "}"
WHITESPACE@341..343 "\n\n"
ENUM_DEF@343..367
ENUM_KW@343..347 "enum"
R_PAREN@390..391 ")"
WHITESPACE@391..392 " "
BLOCK_EXPR@392..394
- BLOCK@392..394
- L_CURLY@392..393 "{"
- R_CURLY@393..394 "}"
+ L_CURLY@392..393 "{"
+ R_CURLY@393..394 "}"
WHITESPACE@394..395 "\n"
R_PAREN@83..84 ")"
WHITESPACE@84..85 " "
BLOCK_EXPR@85..256
- BLOCK@85..256
- L_CURLY@85..86 "{"
- WHITESPACE@86..91 "\n "
- LET_STMT@91..105
- LET_KW@91..94 "let"
- WHITESPACE@94..95 " "
- BIND_PAT@95..100
- MUT_KW@95..98 "mut"
- WHITESPACE@98..99 " "
- NAME@99..100
- IDENT@99..100 "a"
- WHITESPACE@100..101 " "
- EQ@101..102 "="
- WHITESPACE@102..103 " "
- LITERAL@103..104
- INT_NUMBER@103..104 "0"
- SEMICOLON@104..105 ";"
- WHITESPACE@105..110 "\n "
- EXPR_STMT@110..117
- BIN_EXPR@110..116
- PATH_EXPR@110..111
- PATH@110..111
- PATH_SEGMENT@110..111
- NAME_REF@110..111
- IDENT@110..111 "a"
- WHITESPACE@111..112 " "
- PLUSEQ@112..114 "+="
- WHITESPACE@114..115 " "
- LITERAL@115..116
- INT_NUMBER@115..116 "1"
- SEMICOLON@116..117 ";"
- WHITESPACE@117..122 "\n "
- EXPR_STMT@122..129
- BIN_EXPR@122..128
- PATH_EXPR@122..123
- PATH@122..123
- PATH_SEGMENT@122..123
- NAME_REF@122..123
- IDENT@122..123 "a"
- WHITESPACE@123..124 " "
- MINUSEQ@124..126 "-="
- WHITESPACE@126..127 " "
- LITERAL@127..128
- INT_NUMBER@127..128 "2"
- SEMICOLON@128..129 ";"
- WHITESPACE@129..134 "\n "
- EXPR_STMT@134..141
- BIN_EXPR@134..140
- PATH_EXPR@134..135
- PATH@134..135
- PATH_SEGMENT@134..135
- NAME_REF@134..135
- IDENT@134..135 "a"
- WHITESPACE@135..136 " "
- STAREQ@136..138 "*="
- WHITESPACE@138..139 " "
- LITERAL@139..140
- INT_NUMBER@139..140 "3"
- SEMICOLON@140..141 ";"
- WHITESPACE@141..146 "\n "
- EXPR_STMT@146..153
- BIN_EXPR@146..152
- PATH_EXPR@146..147
- PATH@146..147
- PATH_SEGMENT@146..147
- NAME_REF@146..147
- IDENT@146..147 "a"
- WHITESPACE@147..148 " "
- PERCENTEQ@148..150 "%="
- WHITESPACE@150..151 " "
- LITERAL@151..152
- INT_NUMBER@151..152 "4"
- SEMICOLON@152..153 ";"
- WHITESPACE@153..158 "\n "
- EXPR_STMT@158..165
- BIN_EXPR@158..164
- PATH_EXPR@158..159
- PATH@158..159
- PATH_SEGMENT@158..159
- NAME_REF@158..159
- IDENT@158..159 "a"
- WHITESPACE@159..160 " "
- SLASHEQ@160..162 "/="
- WHITESPACE@162..163 " "
- LITERAL@163..164
- INT_NUMBER@163..164 "5"
- SEMICOLON@164..165 ";"
- WHITESPACE@165..170 "\n "
- EXPR_STMT@170..177
- BIN_EXPR@170..176
- PATH_EXPR@170..171
- PATH@170..171
- PATH_SEGMENT@170..171
- NAME_REF@170..171
- IDENT@170..171 "a"
- WHITESPACE@171..172 " "
- PIPEEQ@172..174 "|="
- WHITESPACE@174..175 " "
- LITERAL@175..176
- INT_NUMBER@175..176 "6"
- SEMICOLON@176..177 ";"
- WHITESPACE@177..182 "\n "
- EXPR_STMT@182..189
- BIN_EXPR@182..188
- PATH_EXPR@182..183
- PATH@182..183
- PATH_SEGMENT@182..183
- NAME_REF@182..183
- IDENT@182..183 "a"
- WHITESPACE@183..184 " "
- AMPEQ@184..186 "&="
- WHITESPACE@186..187 " "
- LITERAL@187..188
- INT_NUMBER@187..188 "7"
- SEMICOLON@188..189 ";"
- WHITESPACE@189..194 "\n "
- EXPR_STMT@194..201
- BIN_EXPR@194..200
- PATH_EXPR@194..195
- PATH@194..195
- PATH_SEGMENT@194..195
- NAME_REF@194..195
- IDENT@194..195 "a"
- WHITESPACE@195..196 " "
- CARETEQ@196..198 "^="
- WHITESPACE@198..199 " "
- LITERAL@199..200
- INT_NUMBER@199..200 "8"
- SEMICOLON@200..201 ";"
- WHITESPACE@201..206 "\n "
- EXPR_STMT@206..213
- BIN_EXPR@206..212
- PATH_EXPR@206..207
- PATH@206..207
- PATH_SEGMENT@206..207
- NAME_REF@206..207
- IDENT@206..207 "a"
- WHITESPACE@207..208 " "
- LTEQ@208..210 "<="
- WHITESPACE@210..211 " "
- LITERAL@211..212
- INT_NUMBER@211..212 "9"
- SEMICOLON@212..213 ";"
- WHITESPACE@213..218 "\n "
- EXPR_STMT@218..226
- BIN_EXPR@218..225
- PATH_EXPR@218..219
- PATH@218..219
- PATH_SEGMENT@218..219
- NAME_REF@218..219
- IDENT@218..219 "a"
- WHITESPACE@219..220 " "
- GTEQ@220..222 ">="
- WHITESPACE@222..223 " "
- LITERAL@223..225
- INT_NUMBER@223..225 "10"
- SEMICOLON@225..226 ";"
- WHITESPACE@226..231 "\n "
- EXPR_STMT@231..240
- BIN_EXPR@231..239
- PATH_EXPR@231..232
- PATH@231..232
- PATH_SEGMENT@231..232
- NAME_REF@231..232
- IDENT@231..232 "a"
- WHITESPACE@232..233 " "
- SHREQ@233..236 ">>="
- WHITESPACE@236..237 " "
- LITERAL@237..239
- INT_NUMBER@237..239 "11"
- SEMICOLON@239..240 ";"
- WHITESPACE@240..245 "\n "
- EXPR_STMT@245..254
- BIN_EXPR@245..253
- PATH_EXPR@245..246
- PATH@245..246
- PATH_SEGMENT@245..246
- NAME_REF@245..246
- IDENT@245..246 "a"
- WHITESPACE@246..247 " "
- SHLEQ@247..250 "<<="
- WHITESPACE@250..251 " "
- LITERAL@251..253
- INT_NUMBER@251..253 "12"
- SEMICOLON@253..254 ";"
- WHITESPACE@254..255 "\n"
- R_CURLY@255..256 "}"
+ L_CURLY@85..86 "{"
+ WHITESPACE@86..91 "\n "
+ LET_STMT@91..105
+ LET_KW@91..94 "let"
+ WHITESPACE@94..95 " "
+ BIND_PAT@95..100
+ MUT_KW@95..98 "mut"
+ WHITESPACE@98..99 " "
+ NAME@99..100
+ IDENT@99..100 "a"
+ WHITESPACE@100..101 " "
+ EQ@101..102 "="
+ WHITESPACE@102..103 " "
+ LITERAL@103..104
+ INT_NUMBER@103..104 "0"
+ SEMICOLON@104..105 ";"
+ WHITESPACE@105..110 "\n "
+ EXPR_STMT@110..117
+ BIN_EXPR@110..116
+ PATH_EXPR@110..111
+ PATH@110..111
+ PATH_SEGMENT@110..111
+ NAME_REF@110..111
+ IDENT@110..111 "a"
+ WHITESPACE@111..112 " "
+ PLUSEQ@112..114 "+="
+ WHITESPACE@114..115 " "
+ LITERAL@115..116
+ INT_NUMBER@115..116 "1"
+ SEMICOLON@116..117 ";"
+ WHITESPACE@117..122 "\n "
+ EXPR_STMT@122..129
+ BIN_EXPR@122..128
+ PATH_EXPR@122..123
+ PATH@122..123
+ PATH_SEGMENT@122..123
+ NAME_REF@122..123
+ IDENT@122..123 "a"
+ WHITESPACE@123..124 " "
+ MINUSEQ@124..126 "-="
+ WHITESPACE@126..127 " "
+ LITERAL@127..128
+ INT_NUMBER@127..128 "2"
+ SEMICOLON@128..129 ";"
+ WHITESPACE@129..134 "\n "
+ EXPR_STMT@134..141
+ BIN_EXPR@134..140
+ PATH_EXPR@134..135
+ PATH@134..135
+ PATH_SEGMENT@134..135
+ NAME_REF@134..135
+ IDENT@134..135 "a"
+ WHITESPACE@135..136 " "
+ STAREQ@136..138 "*="
+ WHITESPACE@138..139 " "
+ LITERAL@139..140
+ INT_NUMBER@139..140 "3"
+ SEMICOLON@140..141 ";"
+ WHITESPACE@141..146 "\n "
+ EXPR_STMT@146..153
+ BIN_EXPR@146..152
+ PATH_EXPR@146..147
+ PATH@146..147
+ PATH_SEGMENT@146..147
+ NAME_REF@146..147
+ IDENT@146..147 "a"
+ WHITESPACE@147..148 " "
+ PERCENTEQ@148..150 "%="
+ WHITESPACE@150..151 " "
+ LITERAL@151..152
+ INT_NUMBER@151..152 "4"
+ SEMICOLON@152..153 ";"
+ WHITESPACE@153..158 "\n "
+ EXPR_STMT@158..165
+ BIN_EXPR@158..164
+ PATH_EXPR@158..159
+ PATH@158..159
+ PATH_SEGMENT@158..159
+ NAME_REF@158..159
+ IDENT@158..159 "a"
+ WHITESPACE@159..160 " "
+ SLASHEQ@160..162 "/="
+ WHITESPACE@162..163 " "
+ LITERAL@163..164
+ INT_NUMBER@163..164 "5"
+ SEMICOLON@164..165 ";"
+ WHITESPACE@165..170 "\n "
+ EXPR_STMT@170..177
+ BIN_EXPR@170..176
+ PATH_EXPR@170..171
+ PATH@170..171
+ PATH_SEGMENT@170..171
+ NAME_REF@170..171
+ IDENT@170..171 "a"
+ WHITESPACE@171..172 " "
+ PIPEEQ@172..174 "|="
+ WHITESPACE@174..175 " "
+ LITERAL@175..176
+ INT_NUMBER@175..176 "6"
+ SEMICOLON@176..177 ";"
+ WHITESPACE@177..182 "\n "
+ EXPR_STMT@182..189
+ BIN_EXPR@182..188
+ PATH_EXPR@182..183
+ PATH@182..183
+ PATH_SEGMENT@182..183
+ NAME_REF@182..183
+ IDENT@182..183 "a"
+ WHITESPACE@183..184 " "
+ AMPEQ@184..186 "&="
+ WHITESPACE@186..187 " "
+ LITERAL@187..188
+ INT_NUMBER@187..188 "7"
+ SEMICOLON@188..189 ";"
+ WHITESPACE@189..194 "\n "
+ EXPR_STMT@194..201
+ BIN_EXPR@194..200
+ PATH_EXPR@194..195
+ PATH@194..195
+ PATH_SEGMENT@194..195
+ NAME_REF@194..195
+ IDENT@194..195 "a"
+ WHITESPACE@195..196 " "
+ CARETEQ@196..198 "^="
+ WHITESPACE@198..199 " "
+ LITERAL@199..200
+ INT_NUMBER@199..200 "8"
+ SEMICOLON@200..201 ";"
+ WHITESPACE@201..206 "\n "
+ EXPR_STMT@206..213
+ BIN_EXPR@206..212
+ PATH_EXPR@206..207
+ PATH@206..207
+ PATH_SEGMENT@206..207
+ NAME_REF@206..207
+ IDENT@206..207 "a"
+ WHITESPACE@207..208 " "
+ LTEQ@208..210 "<="
+ WHITESPACE@210..211 " "
+ LITERAL@211..212
+ INT_NUMBER@211..212 "9"
+ SEMICOLON@212..213 ";"
+ WHITESPACE@213..218 "\n "
+ EXPR_STMT@218..226
+ BIN_EXPR@218..225
+ PATH_EXPR@218..219
+ PATH@218..219
+ PATH_SEGMENT@218..219
+ NAME_REF@218..219
+ IDENT@218..219 "a"
+ WHITESPACE@219..220 " "
+ GTEQ@220..222 ">="
+ WHITESPACE@222..223 " "
+ LITERAL@223..225
+ INT_NUMBER@223..225 "10"
+ SEMICOLON@225..226 ";"
+ WHITESPACE@226..231 "\n "
+ EXPR_STMT@231..240
+ BIN_EXPR@231..239
+ PATH_EXPR@231..232
+ PATH@231..232
+ PATH_SEGMENT@231..232
+ NAME_REF@231..232
+ IDENT@231..232 "a"
+ WHITESPACE@232..233 " "
+ SHREQ@233..236 ">>="
+ WHITESPACE@236..237 " "
+ LITERAL@237..239
+ INT_NUMBER@237..239 "11"
+ SEMICOLON@239..240 ";"
+ WHITESPACE@240..245 "\n "
+ EXPR_STMT@245..254
+ BIN_EXPR@245..253
+ PATH_EXPR@245..246
+ PATH@245..246
+ PATH_SEGMENT@245..246
+ NAME_REF@245..246
+ IDENT@245..246 "a"
+ WHITESPACE@246..247 " "
+ SHLEQ@247..250 "<<="
+ WHITESPACE@250..251 " "
+ LITERAL@251..253
+ INT_NUMBER@251..253 "12"
+ SEMICOLON@253..254 ";"
+ WHITESPACE@254..255 "\n"
+ R_CURLY@255..256 "}"
WHITESPACE@256..257 "\n"
R_PAREN@7..8 ")"
WHITESPACE@8..9 " "
BLOCK_EXPR@9..45
- BLOCK@9..45
- L_CURLY@9..10 "{"
- WHITESPACE@10..15 "\n "
- EXPR_STMT@15..24
- BLOCK_EXPR@15..23
- ASYNC_KW@15..20 "async"
- WHITESPACE@20..21 " "
- BLOCK@21..23
- L_CURLY@21..22 "{"
- R_CURLY@22..23 "}"
- SEMICOLON@23..24 ";"
- WHITESPACE@24..29 "\n "
- EXPR_STMT@29..43
- BLOCK_EXPR@29..42
- ASYNC_KW@29..34 "async"
- WHITESPACE@34..35 " "
- MOVE_KW@35..39 "move"
- WHITESPACE@39..40 " "
- BLOCK@40..42
- L_CURLY@40..41 "{"
- R_CURLY@41..42 "}"
- SEMICOLON@42..43 ";"
- WHITESPACE@43..44 "\n"
- R_CURLY@44..45 "}"
+ L_CURLY@9..10 "{"
+ WHITESPACE@10..15 "\n "
+ EXPR_STMT@15..24
+ EFFECT_EXPR@15..23
+ ASYNC_KW@15..20 "async"
+ WHITESPACE@20..21 " "
+ BLOCK_EXPR@21..23
+ L_CURLY@21..22 "{"
+ R_CURLY@22..23 "}"
+ SEMICOLON@23..24 ";"
+ WHITESPACE@24..29 "\n "
+ EXPR_STMT@29..43
+ EFFECT_EXPR@29..42
+ ASYNC_KW@29..34 "async"
+ WHITESPACE@34..35 " "
+ MOVE_KW@35..39 "move"
+ WHITESPACE@39..40 " "
+ BLOCK_EXPR@40..42
+ L_CURLY@40..41 "{"
+ R_CURLY@41..42 "}"
+ SEMICOLON@42..43 ";"
+ WHITESPACE@43..44 "\n"
+ R_CURLY@44..45 "}"
WHITESPACE@45..47 "\n\n"
R_PAREN@48..49 ")"
WHITESPACE@49..50 " "
BLOCK_EXPR@50..52
- BLOCK@50..52
- L_CURLY@50..51 "{"
- R_CURLY@51..52 "}"
+ L_CURLY@50..51 "{"
+ R_CURLY@51..52 "}"
WHITESPACE@52..54 "\n\n"
FN_DEF@54..94
FN_KW@54..56 "fn"
R_PAREN@62..63 ")"
WHITESPACE@63..64 " "
BLOCK_EXPR@64..94
- BLOCK@64..94
- L_CURLY@64..65 "{"
- WHITESPACE@65..70 "\n "
- CALL_EXPR@70..92
- PATH_EXPR@70..73
- PATH@70..73
- PATH_SEGMENT@70..73
- NAME_REF@70..73
- IDENT@70..73 "foo"
- ARG_LIST@73..92
- L_PAREN@73..74 "("
- BLOCK_EXPR@74..91
- ASYNC_KW@74..79 "async"
- WHITESPACE@79..80 " "
- MOVE_KW@80..84 "move"
- WHITESPACE@84..85 " "
- BLOCK@85..91
- L_CURLY@85..86 "{"
- WHITESPACE@86..87 " "
- LITERAL@87..89
- INT_NUMBER@87..89 "12"
- WHITESPACE@89..90 " "
- R_CURLY@90..91 "}"
- R_PAREN@91..92 ")"
- WHITESPACE@92..93 "\n"
- R_CURLY@93..94 "}"
+ L_CURLY@64..65 "{"
+ WHITESPACE@65..70 "\n "
+ CALL_EXPR@70..92
+ PATH_EXPR@70..73
+ PATH@70..73
+ PATH_SEGMENT@70..73
+ NAME_REF@70..73
+ IDENT@70..73 "foo"
+ ARG_LIST@73..92
+ L_PAREN@73..74 "("
+ EFFECT_EXPR@74..91
+ ASYNC_KW@74..79 "async"
+ WHITESPACE@79..80 " "
+ MOVE_KW@80..84 "move"
+ WHITESPACE@84..85 " "
+ BLOCK_EXPR@85..91
+ L_CURLY@85..86 "{"
+ WHITESPACE@86..87 " "
+ LITERAL@87..89
+ INT_NUMBER@87..89 "12"
+ WHITESPACE@89..90 " "
+ R_CURLY@90..91 "}"
+ R_PAREN@91..92 ")"
+ WHITESPACE@92..93 "\n"
+ R_CURLY@93..94 "}"
WHITESPACE@94..95 "\n"
R_PAREN@33..34 ")"
WHITESPACE@34..35 " "
BLOCK_EXPR@35..37
- BLOCK@35..37
- L_CURLY@35..36 "{"
- R_CURLY@36..37 "}"
+ L_CURLY@35..36 "{"
+ R_CURLY@36..37 "}"
WHITESPACE@37..38 "\n"
FN_DEF@38..62
FN_KW@38..40 "fn"
R_PAREN@58..59 ")"
WHITESPACE@59..60 " "
BLOCK_EXPR@60..62
- BLOCK@60..62
- L_CURLY@60..61 "{"
- R_CURLY@61..62 "}"
+ L_CURLY@60..61 "{"
+ R_CURLY@61..62 "}"
WHITESPACE@62..64 "\n\n"
EXTERN_BLOCK@64..128
ABI@64..74
L_PAREN@168..169 "("
R_PAREN@169..170 ")"
BLOCK_EXPR@170..172
- BLOCK@170..172
- L_CURLY@170..171 "{"
- R_CURLY@171..172 "}"
+ L_CURLY@170..171 "{"
+ R_CURLY@171..172 "}"
WHITESPACE@172..174 "\n\n"
TRAIT_DEF@174..236
TRAIT_KW@174..179 "trait"
R_PAREN@273..274 ")"
WHITESPACE@274..275 " "
BLOCK_EXPR@275..277
- BLOCK@275..277
- L_CURLY@275..276 "{"
- R_CURLY@276..277 "}"
+ L_CURLY@275..276 "{"
+ R_CURLY@276..277 "}"
WHITESPACE@277..283 "\n "
FN_DEF@283..305
FN_KW@283..285 "fn"
R_PAREN@301..302 ")"
WHITESPACE@302..303 " "
BLOCK_EXPR@303..305
- BLOCK@303..305
- L_CURLY@303..304 "{"
- R_CURLY@304..305 "}"
+ L_CURLY@303..304 "{"
+ R_CURLY@304..305 "}"
WHITESPACE@305..311 "\n "
FN_DEF@311..334
FN_KW@311..313 "fn"
R_PAREN@330..331 ")"
WHITESPACE@331..332 " "
BLOCK_EXPR@332..334
- BLOCK@332..334
- L_CURLY@332..333 "{"
- R_CURLY@333..334 "}"
+ L_CURLY@332..333 "{"
+ R_CURLY@333..334 "}"
WHITESPACE@334..340 "\n "
FN_DEF@340..371
FN_KW@340..342 "fn"
R_PAREN@367..368 ")"
WHITESPACE@368..369 " "
BLOCK_EXPR@369..371
- BLOCK@369..371
- L_CURLY@369..370 "{"
- R_CURLY@370..371 "}"
+ L_CURLY@369..370 "{"
+ R_CURLY@370..371 "}"
WHITESPACE@371..377 "\n "
FN_DEF@377..407
FN_KW@377..379 "fn"
R_PAREN@403..404 ")"
WHITESPACE@404..405 " "
BLOCK_EXPR@405..407
- BLOCK@405..407
- L_CURLY@405..406 "{"
- R_CURLY@406..407 "}"
+ L_CURLY@405..406 "{"
+ R_CURLY@406..407 "}"
WHITESPACE@407..413 "\n "
FN_DEF@413..447
FN_KW@413..415 "fn"
R_PAREN@443..444 ")"
WHITESPACE@444..445 " "
BLOCK_EXPR@445..447
- BLOCK@445..447
- L_CURLY@445..446 "{"
- R_CURLY@446..447 "}"
+ L_CURLY@445..446 "{"
+ R_CURLY@446..447 "}"
WHITESPACE@447..453 "\n "
FN_DEF@453..480
FN_KW@453..455 "fn"
R_PAREN@476..477 ")"
WHITESPACE@477..478 " "
BLOCK_EXPR@478..480
- BLOCK@478..480
- L_CURLY@478..479 "{"
- R_CURLY@479..480 "}"
+ L_CURLY@478..479 "{"
+ R_CURLY@479..480 "}"
WHITESPACE@480..486 "\n "
FN_DEF@486..517
FN_KW@486..488 "fn"
R_PAREN@513..514 ")"
WHITESPACE@514..515 " "
BLOCK_EXPR@515..517
- BLOCK@515..517
- L_CURLY@515..516 "{"
- R_CURLY@516..517 "}"
+ L_CURLY@515..516 "{"
+ R_CURLY@516..517 "}"
WHITESPACE@517..518 "\n"
R_CURLY@518..519 "}"
R_PAREN@7..8 ")"
WHITESPACE@8..9 " "
BLOCK_EXPR@9..79
- BLOCK@9..79
- L_CURLY@9..10 "{"
- WHITESPACE@10..14 "\n "
- FOR_EXPR@14..77
- FOR_KW@14..17 "for"
- WHITESPACE@17..18 " "
- BIND_PAT@18..20
- NAME@18..20
- IDENT@18..20 "_x"
- WHITESPACE@20..21 " "
- IN_KW@21..23 "in"
- WHITESPACE@23..24 " "
- RANGE_EXPR@24..56
- LITERAL@24..25
- INT_NUMBER@24..25 "0"
- WHITESPACE@25..26 " "
- DOT2@26..28 ".."
- WHITESPACE@28..29 " "
- METHOD_CALL_EXPR@29..56
- PAREN_EXPR@29..43
- L_PAREN@29..30 "("
- RANGE_EXPR@30..42
- LITERAL@30..31
- INT_NUMBER@30..31 "0"
- WHITESPACE@31..32 " "
- DOT2@32..34 ".."
- WHITESPACE@34..35 " "
- BLOCK_EXPR@35..42
- BLOCK@35..42
- L_CURLY@35..36 "{"
- BIN_EXPR@36..41
- LITERAL@36..37
- INT_NUMBER@36..37 "1"
- WHITESPACE@37..38 " "
- PLUS@38..39 "+"
- WHITESPACE@39..40 " "
- LITERAL@40..41
- INT_NUMBER@40..41 "2"
- R_CURLY@41..42 "}"
- R_PAREN@42..43 ")"
- DOT@43..44 "."
- NAME_REF@44..47
- IDENT@44..47 "sum"
- TYPE_ARG_LIST@47..54
- COLON2@47..49 "::"
- L_ANGLE@49..50 "<"
- TYPE_ARG@50..53
- PATH_TYPE@50..53
- PATH@50..53
- PATH_SEGMENT@50..53
- NAME_REF@50..53
- IDENT@50..53 "u32"
- R_ANGLE@53..54 ">"
- ARG_LIST@54..56
- L_PAREN@54..55 "("
- R_PAREN@55..56 ")"
- WHITESPACE@56..57 " "
- BLOCK_EXPR@57..77
- BLOCK@57..77
- L_CURLY@57..58 "{"
- WHITESPACE@58..66 "\n "
- EXPR_STMT@66..72
- BREAK_EXPR@66..71
- BREAK_KW@66..71 "break"
- SEMICOLON@71..72 ";"
- WHITESPACE@72..76 "\n "
- R_CURLY@76..77 "}"
- WHITESPACE@77..78 "\n"
- R_CURLY@78..79 "}"
+ L_CURLY@9..10 "{"
+ WHITESPACE@10..14 "\n "
+ FOR_EXPR@14..77
+ FOR_KW@14..17 "for"
+ WHITESPACE@17..18 " "
+ BIND_PAT@18..20
+ NAME@18..20
+ IDENT@18..20 "_x"
+ WHITESPACE@20..21 " "
+ IN_KW@21..23 "in"
+ WHITESPACE@23..24 " "
+ RANGE_EXPR@24..56
+ LITERAL@24..25
+ INT_NUMBER@24..25 "0"
+ WHITESPACE@25..26 " "
+ DOT2@26..28 ".."
+ WHITESPACE@28..29 " "
+ METHOD_CALL_EXPR@29..56
+ PAREN_EXPR@29..43
+ L_PAREN@29..30 "("
+ RANGE_EXPR@30..42
+ LITERAL@30..31
+ INT_NUMBER@30..31 "0"
+ WHITESPACE@31..32 " "
+ DOT2@32..34 ".."
+ WHITESPACE@34..35 " "
+ BLOCK_EXPR@35..42
+ L_CURLY@35..36 "{"
+ BIN_EXPR@36..41
+ LITERAL@36..37
+ INT_NUMBER@36..37 "1"
+ WHITESPACE@37..38 " "
+ PLUS@38..39 "+"
+ WHITESPACE@39..40 " "
+ LITERAL@40..41
+ INT_NUMBER@40..41 "2"
+ R_CURLY@41..42 "}"
+ R_PAREN@42..43 ")"
+ DOT@43..44 "."
+ NAME_REF@44..47
+ IDENT@44..47 "sum"
+ TYPE_ARG_LIST@47..54
+ COLON2@47..49 "::"
+ L_ANGLE@49..50 "<"
+ TYPE_ARG@50..53
+ PATH_TYPE@50..53
+ PATH@50..53
+ PATH_SEGMENT@50..53
+ NAME_REF@50..53
+ IDENT@50..53 "u32"
+ R_ANGLE@53..54 ">"
+ ARG_LIST@54..56
+ L_PAREN@54..55 "("
+ R_PAREN@55..56 ")"
+ WHITESPACE@56..57 " "
+ BLOCK_EXPR@57..77
+ L_CURLY@57..58 "{"
+ WHITESPACE@58..66 "\n "
+ EXPR_STMT@66..72
+ BREAK_EXPR@66..71
+ BREAK_KW@66..71 "break"
+ SEMICOLON@71..72 ";"
+ WHITESPACE@72..76 "\n "
+ R_CURLY@76..77 "}"
+ WHITESPACE@77..78 "\n"
+ R_CURLY@78..79 "}"
WHITESPACE@79..80 "\n"
R_ANGLE@22..23 ">"
WHITESPACE@23..24 " "
BLOCK_EXPR@24..26
- BLOCK@24..26
- L_CURLY@24..25 "{"
- R_CURLY@25..26 "}"
+ L_CURLY@24..25 "{"
+ R_CURLY@25..26 "}"
WHITESPACE@26..28 "\n\n"
FN_DEF@28..56
FN_KW@28..30 "fn"
R_PAREN@52..53 ")"
WHITESPACE@53..54 " "
BLOCK_EXPR@54..56
- BLOCK@54..56
- L_CURLY@54..55 "{"
- R_CURLY@55..56 "}"
+ L_CURLY@54..55 "{"
+ R_CURLY@55..56 "}"
WHITESPACE@56..58 "\n\n"
FN_DEF@58..87
FN_KW@58..60 "fn"
R_PAREN@83..84 ")"
WHITESPACE@84..85 " "
BLOCK_EXPR@85..87
- BLOCK@85..87
- L_CURLY@85..86 "{"
- R_CURLY@86..87 "}"
+ L_CURLY@85..86 "{"
+ R_CURLY@86..87 "}"
WHITESPACE@87..88 "\n"
R_PAREN@22..23 ")"
WHITESPACE@23..24 " "
BLOCK_EXPR@24..48
- BLOCK@24..48
- L_CURLY@24..25 "{"
- WHITESPACE@25..30 "\n "
- LET_STMT@30..46
- LET_KW@30..33 "let"
- WHITESPACE@33..34 " "
- TUPLE_PAT@34..36
- L_PAREN@34..35 "("
- R_PAREN@35..36 ")"
- COLON@36..37 ":"
- PATH_TYPE@37..40
- PATH@37..40
- PATH_SEGMENT@37..40
- COLON2@37..39 "::"
- NAME_REF@39..40
- IDENT@39..40 "X"
- WHITESPACE@40..41 " "
- EQ@41..42 "="
- WHITESPACE@42..43 " "
- TUPLE_EXPR@43..45
- L_PAREN@43..44 "("
- R_PAREN@44..45 ")"
- SEMICOLON@45..46 ";"
- WHITESPACE@46..47 "\n"
- R_CURLY@47..48 "}"
+ L_CURLY@24..25 "{"
+ WHITESPACE@25..30 "\n "
+ LET_STMT@30..46
+ LET_KW@30..33 "let"
+ WHITESPACE@33..34 " "
+ TUPLE_PAT@34..36
+ L_PAREN@34..35 "("
+ R_PAREN@35..36 ")"
+ COLON@36..37 ":"
+ PATH_TYPE@37..40
+ PATH@37..40
+ PATH_SEGMENT@37..40
+ COLON2@37..39 "::"
+ NAME_REF@39..40
+ IDENT@39..40 "X"
+ WHITESPACE@40..41 " "
+ EQ@41..42 "="
+ WHITESPACE@42..43 " "
+ TUPLE_EXPR@43..45
+ L_PAREN@43..44 "("
+ R_PAREN@44..45 ")"
+ SEMICOLON@45..46 ";"
+ WHITESPACE@46..47 "\n"
+ R_CURLY@47..48 "}"
WHITESPACE@48..49 "\n"
R_PAREN@8..9 ")"
WHITESPACE@9..10 " "
BLOCK_EXPR@10..70
- BLOCK@10..70
- L_CURLY@10..11 "{"
- WHITESPACE@11..16 "\n "
- IF_EXPR@16..68
- IF_KW@16..18 "if"
- WHITESPACE@18..19 " "
- CONDITION@19..65
- BIN_EXPR@19..65
- CAST_EXPR@19..40
- METHOD_CALL_EXPR@19..33
- LITERAL@19..25
- FLOAT_NUMBER@19..25 "1.0f32"
- DOT@25..26 "."
- NAME_REF@26..31
- IDENT@26..31 "floor"
- ARG_LIST@31..33
- L_PAREN@31..32 "("
- R_PAREN@32..33 ")"
- WHITESPACE@33..34 " "
- AS_KW@34..36 "as"
- WHITESPACE@36..37 " "
- PATH_TYPE@37..40
- PATH@37..40
- PATH_SEGMENT@37..40
- NAME_REF@37..40
- IDENT@37..40 "i64"
- WHITESPACE@40..41 " "
- NEQ@41..43 "!="
- WHITESPACE@43..44 " "
- CAST_EXPR@44..65
- METHOD_CALL_EXPR@44..58
- LITERAL@44..50
- FLOAT_NUMBER@44..50 "1.0f32"
- DOT@50..51 "."
- NAME_REF@51..56
- IDENT@51..56 "floor"
- ARG_LIST@56..58
- L_PAREN@56..57 "("
- R_PAREN@57..58 ")"
- WHITESPACE@58..59 " "
- AS_KW@59..61 "as"
- WHITESPACE@61..62 " "
- PATH_TYPE@62..65
- PATH@62..65
- PATH_SEGMENT@62..65
- NAME_REF@62..65
- IDENT@62..65 "i64"
- WHITESPACE@65..66 " "
- BLOCK_EXPR@66..68
- BLOCK@66..68
- L_CURLY@66..67 "{"
- R_CURLY@67..68 "}"
- WHITESPACE@68..69 "\n"
- R_CURLY@69..70 "}"
+ L_CURLY@10..11 "{"
+ WHITESPACE@11..16 "\n "
+ IF_EXPR@16..68
+ IF_KW@16..18 "if"
+ WHITESPACE@18..19 " "
+ CONDITION@19..65
+ BIN_EXPR@19..65
+ CAST_EXPR@19..40
+ METHOD_CALL_EXPR@19..33
+ LITERAL@19..25
+ FLOAT_NUMBER@19..25 "1.0f32"
+ DOT@25..26 "."
+ NAME_REF@26..31
+ IDENT@26..31 "floor"
+ ARG_LIST@31..33
+ L_PAREN@31..32 "("
+ R_PAREN@32..33 ")"
+ WHITESPACE@33..34 " "
+ AS_KW@34..36 "as"
+ WHITESPACE@36..37 " "
+ PATH_TYPE@37..40
+ PATH@37..40
+ PATH_SEGMENT@37..40
+ NAME_REF@37..40
+ IDENT@37..40 "i64"
+ WHITESPACE@40..41 " "
+ NEQ@41..43 "!="
+ WHITESPACE@43..44 " "
+ CAST_EXPR@44..65
+ METHOD_CALL_EXPR@44..58
+ LITERAL@44..50
+ FLOAT_NUMBER@44..50 "1.0f32"
+ DOT@50..51 "."
+ NAME_REF@51..56
+ IDENT@51..56 "floor"
+ ARG_LIST@56..58
+ L_PAREN@56..57 "("
+ R_PAREN@57..58 ")"
+ WHITESPACE@58..59 " "
+ AS_KW@59..61 "as"
+ WHITESPACE@61..62 " "
+ PATH_TYPE@62..65
+ PATH@62..65
+ PATH_SEGMENT@62..65
+ NAME_REF@62..65
+ IDENT@62..65 "i64"
+ WHITESPACE@65..66 " "
+ BLOCK_EXPR@66..68
+ L_CURLY@66..67 "{"
+ R_CURLY@67..68 "}"
+ WHITESPACE@68..69 "\n"
+ R_CURLY@69..70 "}"
WHITESPACE@70..71 "\n"
R_PAREN@13..14 ")"
WHITESPACE@14..15 " "
BLOCK_EXPR@15..17
- BLOCK@15..17
- L_CURLY@15..16 "{"
- R_CURLY@16..17 "}"
+ L_CURLY@15..16 "{"
+ R_CURLY@16..17 "}"
WHITESPACE@17..19 "\n\n"
FN_DEF@19..50
FN_KW@19..21 "fn"
R_PAREN@27..28 ")"
WHITESPACE@28..29 " "
BLOCK_EXPR@29..50
- BLOCK@29..50
- L_CURLY@29..30 "{"
- WHITESPACE@30..35 "\n "
- EXPR_STMT@35..48
- CALL_EXPR@35..47
- PATH_EXPR@35..38
- PATH@35..38
- PATH_SEGMENT@35..38
- NAME_REF@35..38
- IDENT@35..38 "foo"
- ARG_LIST@38..47
- L_PAREN@38..39 "("
- LOOP_EXPR@39..46
- LOOP_KW@39..43 "loop"
- WHITESPACE@43..44 " "
- BLOCK_EXPR@44..46
- BLOCK@44..46
- L_CURLY@44..45 "{"
- R_CURLY@45..46 "}"
- R_PAREN@46..47 ")"
- SEMICOLON@47..48 ";"
- WHITESPACE@48..49 "\n"
- R_CURLY@49..50 "}"
+ L_CURLY@29..30 "{"
+ WHITESPACE@30..35 "\n "
+ EXPR_STMT@35..48
+ CALL_EXPR@35..47
+ PATH_EXPR@35..38
+ PATH@35..38
+ PATH_SEGMENT@35..38
+ NAME_REF@35..38
+ IDENT@35..38 "foo"
+ ARG_LIST@38..47
+ L_PAREN@38..39 "("
+ LOOP_EXPR@39..46
+ LOOP_KW@39..43 "loop"
+ WHITESPACE@43..44 " "
+ BLOCK_EXPR@44..46
+ L_CURLY@44..45 "{"
+ R_CURLY@45..46 "}"
+ R_PAREN@46..47 ")"
+ SEMICOLON@47..48 ";"
+ WHITESPACE@48..49 "\n"
+ R_CURLY@49..50 "}"
R_PAREN@7..8 ")"
WHITESPACE@8..9 " "
BLOCK_EXPR@9..78
- BLOCK@9..78
- L_CURLY@9..10 "{"
- WHITESPACE@10..15 "\n "
- EXPR_STMT@15..27
- BIN_EXPR@15..26
- BIN_EXPR@15..22
- LITERAL@15..16
- INT_NUMBER@15..16 "1"
- WHITESPACE@16..17 " "
- PLUS@17..18 "+"
- WHITESPACE@18..19 " "
- PREFIX_EXPR@19..22
- STAR@19..20 "*"
- REF_EXPR@20..22
- AMP@20..21 "&"
- LITERAL@21..22
- INT_NUMBER@21..22 "2"
- WHITESPACE@22..23 " "
- PLUS@23..24 "+"
- WHITESPACE@24..25 " "
- LITERAL@25..26
- INT_NUMBER@25..26 "3"
- SEMICOLON@26..27 ";"
- WHITESPACE@27..32 "\n "
- EXPR_STMT@32..43
- CAST_EXPR@32..42
- PREFIX_EXPR@32..35
- STAR@32..33 "*"
- REF_EXPR@33..35
- AMP@33..34 "&"
- LITERAL@34..35
- INT_NUMBER@34..35 "1"
- WHITESPACE@35..36 " "
- AS_KW@36..38 "as"
- WHITESPACE@38..39 " "
- PATH_TYPE@39..42
- PATH@39..42
- PATH_SEGMENT@39..42
- NAME_REF@39..42
- IDENT@39..42 "u64"
- SEMICOLON@42..43 ";"
- WHITESPACE@43..48 "\n "
- EXPR_STMT@48..54
- PREFIX_EXPR@48..53
- STAR@48..49 "*"
- CALL_EXPR@49..53
- PATH_EXPR@49..50
- PATH@49..50
- PATH_SEGMENT@49..50
- NAME_REF@49..50
- IDENT@49..50 "x"
- ARG_LIST@50..53
- L_PAREN@50..51 "("
- LITERAL@51..52
- INT_NUMBER@51..52 "1"
- R_PAREN@52..53 ")"
- SEMICOLON@53..54 ";"
- WHITESPACE@54..59 "\n "
- EXPR_STMT@59..65
- REF_EXPR@59..64
- AMP@59..60 "&"
- INDEX_EXPR@60..64
- PATH_EXPR@60..61
- PATH@60..61
- PATH_SEGMENT@60..61
- NAME_REF@60..61
- IDENT@60..61 "x"
- L_BRACK@61..62 "["
- LITERAL@62..63
- INT_NUMBER@62..63 "1"
- R_BRACK@63..64 "]"
- SEMICOLON@64..65 ";"
- WHITESPACE@65..70 "\n "
- EXPR_STMT@70..76
- RANGE_EXPR@70..75
- PREFIX_EXPR@70..72
- MINUS@70..71 "-"
- LITERAL@71..72
- INT_NUMBER@71..72 "1"
- DOT2@72..74 ".."
- LITERAL@74..75
- INT_NUMBER@74..75 "2"
- SEMICOLON@75..76 ";"
- WHITESPACE@76..77 "\n"
- R_CURLY@77..78 "}"
+ L_CURLY@9..10 "{"
+ WHITESPACE@10..15 "\n "
+ EXPR_STMT@15..27
+ BIN_EXPR@15..26
+ BIN_EXPR@15..22
+ LITERAL@15..16
+ INT_NUMBER@15..16 "1"
+ WHITESPACE@16..17 " "
+ PLUS@17..18 "+"
+ WHITESPACE@18..19 " "
+ PREFIX_EXPR@19..22
+ STAR@19..20 "*"
+ REF_EXPR@20..22
+ AMP@20..21 "&"
+ LITERAL@21..22
+ INT_NUMBER@21..22 "2"
+ WHITESPACE@22..23 " "
+ PLUS@23..24 "+"
+ WHITESPACE@24..25 " "
+ LITERAL@25..26
+ INT_NUMBER@25..26 "3"
+ SEMICOLON@26..27 ";"
+ WHITESPACE@27..32 "\n "
+ EXPR_STMT@32..43
+ CAST_EXPR@32..42
+ PREFIX_EXPR@32..35
+ STAR@32..33 "*"
+ REF_EXPR@33..35
+ AMP@33..34 "&"
+ LITERAL@34..35
+ INT_NUMBER@34..35 "1"
+ WHITESPACE@35..36 " "
+ AS_KW@36..38 "as"
+ WHITESPACE@38..39 " "
+ PATH_TYPE@39..42
+ PATH@39..42
+ PATH_SEGMENT@39..42
+ NAME_REF@39..42
+ IDENT@39..42 "u64"
+ SEMICOLON@42..43 ";"
+ WHITESPACE@43..48 "\n "
+ EXPR_STMT@48..54
+ PREFIX_EXPR@48..53
+ STAR@48..49 "*"
+ CALL_EXPR@49..53
+ PATH_EXPR@49..50
+ PATH@49..50
+ PATH_SEGMENT@49..50
+ NAME_REF@49..50
+ IDENT@49..50 "x"
+ ARG_LIST@50..53
+ L_PAREN@50..51 "("
+ LITERAL@51..52
+ INT_NUMBER@51..52 "1"
+ R_PAREN@52..53 ")"
+ SEMICOLON@53..54 ";"
+ WHITESPACE@54..59 "\n "
+ EXPR_STMT@59..65
+ REF_EXPR@59..64
+ AMP@59..60 "&"
+ INDEX_EXPR@60..64
+ PATH_EXPR@60..61
+ PATH@60..61
+ PATH_SEGMENT@60..61
+ NAME_REF@60..61
+ IDENT@60..61 "x"
+ L_BRACK@61..62 "["
+ LITERAL@62..63
+ INT_NUMBER@62..63 "1"
+ R_BRACK@63..64 "]"
+ SEMICOLON@64..65 ";"
+ WHITESPACE@65..70 "\n "
+ EXPR_STMT@70..76
+ RANGE_EXPR@70..75
+ PREFIX_EXPR@70..72
+ MINUS@70..71 "-"
+ LITERAL@71..72
+ INT_NUMBER@71..72 "1"
+ DOT2@72..74 ".."
+ LITERAL@74..75
+ INT_NUMBER@74..75 "2"
+ SEMICOLON@75..76 ";"
+ WHITESPACE@76..77 "\n"
+ R_CURLY@77..78 "}"
WHITESPACE@78..79 "\n"
R_PAREN@8..9 ")"
WHITESPACE@9..10 " "
BLOCK_EXPR@10..104
- BLOCK@10..104
- L_CURLY@10..11 "{"
- WHITESPACE@11..16 "\n "
- EXPR_STMT@16..50
- CALL_EXPR@16..49
- PATH_EXPR@16..20
- PATH@16..20
- PATH_SEGMENT@16..20
- NAME_REF@16..20
- IDENT@16..20 "Some"
- ARG_LIST@20..49
- L_PAREN@20..21 "("
- FOR_EXPR@21..48
- FOR_KW@21..24 "for"
- WHITESPACE@24..25 " "
- PLACEHOLDER_PAT@25..26
- UNDERSCORE@25..26 "_"
- WHITESPACE@26..27 " "
- IN_KW@27..29 "in"
- WHITESPACE@29..30 " "
- METHOD_CALL_EXPR@30..45
- ARRAY_EXPR@30..33
- L_BRACK@30..31 "["
- LITERAL@31..32
- INT_NUMBER@31..32 "1"
- R_BRACK@32..33 "]"
- DOT@33..34 "."
- NAME_REF@34..43
- IDENT@34..43 "into_iter"
- ARG_LIST@43..45
- L_PAREN@43..44 "("
- R_PAREN@44..45 ")"
- WHITESPACE@45..46 " "
- BLOCK_EXPR@46..48
- BLOCK@46..48
- L_CURLY@46..47 "{"
- R_CURLY@47..48 "}"
- R_PAREN@48..49 ")"
- SEMICOLON@49..50 ";"
- WHITESPACE@50..55 "\n "
- EXPR_STMT@55..77
- CALL_EXPR@55..76
- PATH_EXPR@55..59
- PATH@55..59
- PATH_SEGMENT@55..59
- NAME_REF@55..59
- IDENT@55..59 "Some"
- ARG_LIST@59..76
- L_PAREN@59..60 "("
- LOOP_EXPR@60..75
- LOOP_KW@60..64 "loop"
- WHITESPACE@64..65 " "
- BLOCK_EXPR@65..75
- BLOCK@65..75
- L_CURLY@65..66 "{"
- WHITESPACE@66..67 " "
- EXPR_STMT@67..73
- BREAK_EXPR@67..72
- BREAK_KW@67..72 "break"
- SEMICOLON@72..73 ";"
- WHITESPACE@73..74 " "
- R_CURLY@74..75 "}"
- R_PAREN@75..76 ")"
- SEMICOLON@76..77 ";"
- WHITESPACE@77..82 "\n "
- EXPR_STMT@82..102
- CALL_EXPR@82..101
- PATH_EXPR@82..86
- PATH@82..86
- PATH_SEGMENT@82..86
- NAME_REF@82..86
- IDENT@82..86 "Some"
- ARG_LIST@86..101
- L_PAREN@86..87 "("
- WHILE_EXPR@87..100
- WHILE_KW@87..92 "while"
- WHITESPACE@92..93 " "
- CONDITION@93..97
- LITERAL@93..97
- TRUE_KW@93..97 "true"
- WHITESPACE@97..98 " "
- BLOCK_EXPR@98..100
- BLOCK@98..100
- L_CURLY@98..99 "{"
- R_CURLY@99..100 "}"
- R_PAREN@100..101 ")"
- SEMICOLON@101..102 ";"
- WHITESPACE@102..103 "\n"
- R_CURLY@103..104 "}"
+ L_CURLY@10..11 "{"
+ WHITESPACE@11..16 "\n "
+ EXPR_STMT@16..50
+ CALL_EXPR@16..49
+ PATH_EXPR@16..20
+ PATH@16..20
+ PATH_SEGMENT@16..20
+ NAME_REF@16..20
+ IDENT@16..20 "Some"
+ ARG_LIST@20..49
+ L_PAREN@20..21 "("
+ FOR_EXPR@21..48
+ FOR_KW@21..24 "for"
+ WHITESPACE@24..25 " "
+ PLACEHOLDER_PAT@25..26
+ UNDERSCORE@25..26 "_"
+ WHITESPACE@26..27 " "
+ IN_KW@27..29 "in"
+ WHITESPACE@29..30 " "
+ METHOD_CALL_EXPR@30..45
+ ARRAY_EXPR@30..33
+ L_BRACK@30..31 "["
+ LITERAL@31..32
+ INT_NUMBER@31..32 "1"
+ R_BRACK@32..33 "]"
+ DOT@33..34 "."
+ NAME_REF@34..43
+ IDENT@34..43 "into_iter"
+ ARG_LIST@43..45
+ L_PAREN@43..44 "("
+ R_PAREN@44..45 ")"
+ WHITESPACE@45..46 " "
+ BLOCK_EXPR@46..48
+ L_CURLY@46..47 "{"
+ R_CURLY@47..48 "}"
+ R_PAREN@48..49 ")"
+ SEMICOLON@49..50 ";"
+ WHITESPACE@50..55 "\n "
+ EXPR_STMT@55..77
+ CALL_EXPR@55..76
+ PATH_EXPR@55..59
+ PATH@55..59
+ PATH_SEGMENT@55..59
+ NAME_REF@55..59
+ IDENT@55..59 "Some"
+ ARG_LIST@59..76
+ L_PAREN@59..60 "("
+ LOOP_EXPR@60..75
+ LOOP_KW@60..64 "loop"
+ WHITESPACE@64..65 " "
+ BLOCK_EXPR@65..75
+ L_CURLY@65..66 "{"
+ WHITESPACE@66..67 " "
+ EXPR_STMT@67..73
+ BREAK_EXPR@67..72
+ BREAK_KW@67..72 "break"
+ SEMICOLON@72..73 ";"
+ WHITESPACE@73..74 " "
+ R_CURLY@74..75 "}"
+ R_PAREN@75..76 ")"
+ SEMICOLON@76..77 ";"
+ WHITESPACE@77..82 "\n "
+ EXPR_STMT@82..102
+ CALL_EXPR@82..101
+ PATH_EXPR@82..86
+ PATH@82..86
+ PATH_SEGMENT@82..86
+ NAME_REF@82..86
+ IDENT@82..86 "Some"
+ ARG_LIST@86..101
+ L_PAREN@86..87 "("
+ WHILE_EXPR@87..100
+ WHILE_KW@87..92 "while"
+ WHITESPACE@92..93 " "
+ CONDITION@93..97
+ LITERAL@93..97
+ TRUE_KW@93..97 "true"
+ WHITESPACE@97..98 " "
+ BLOCK_EXPR@98..100
+ L_CURLY@98..99 "{"
+ R_CURLY@99..100 "}"
+ R_PAREN@100..101 ")"
+ SEMICOLON@101..102 ";"
+ WHITESPACE@102..103 "\n"
+ R_CURLY@103..104 "}"
WHITESPACE@104..105 "\n"
R_PAREN@8..9 ")"
WHITESPACE@9..10 " "
BLOCK_EXPR@10..55
- BLOCK@10..55
- L_CURLY@10..11 "{"
- WHITESPACE@11..16 "\n "
- EXPR_STMT@16..30
- RANGE_EXPR@16..29
- CAST_EXPR@16..26
- LITERAL@16..17
- INT_NUMBER@16..17 "0"
- WHITESPACE@17..18 " "
- AS_KW@18..20 "as"
- WHITESPACE@20..21 " "
- PATH_TYPE@21..26
- PATH@21..26
- PATH_SEGMENT@21..26
- NAME_REF@21..26
- IDENT@21..26 "usize"
- WHITESPACE@26..27 " "
- DOT2@27..29 ".."
- SEMICOLON@29..30 ";"
- WHITESPACE@30..35 "\n "
- EXPR_STMT@35..53
- RANGE_EXPR@35..52
- BIN_EXPR@35..49
- LITERAL@35..36
- INT_NUMBER@35..36 "1"
- WHITESPACE@36..37 " "
- PLUS@37..38 "+"
- WHITESPACE@38..39 " "
- CAST_EXPR@39..49
- LITERAL@39..40
- INT_NUMBER@39..40 "2"
- WHITESPACE@40..41 " "
- AS_KW@41..43 "as"
- WHITESPACE@43..44 " "
- PATH_TYPE@44..49
- PATH@44..49
- PATH_SEGMENT@44..49
- NAME_REF@44..49
- IDENT@44..49 "usize"
- WHITESPACE@49..50 " "
- DOT2@50..52 ".."
- SEMICOLON@52..53 ";"
- WHITESPACE@53..54 "\n"
- R_CURLY@54..55 "}"
+ L_CURLY@10..11 "{"
+ WHITESPACE@11..16 "\n "
+ EXPR_STMT@16..30
+ RANGE_EXPR@16..29
+ CAST_EXPR@16..26
+ LITERAL@16..17
+ INT_NUMBER@16..17 "0"
+ WHITESPACE@17..18 " "
+ AS_KW@18..20 "as"
+ WHITESPACE@20..21 " "
+ PATH_TYPE@21..26
+ PATH@21..26
+ PATH_SEGMENT@21..26
+ NAME_REF@21..26
+ IDENT@21..26 "usize"
+ WHITESPACE@26..27 " "
+ DOT2@27..29 ".."
+ SEMICOLON@29..30 ";"
+ WHITESPACE@30..35 "\n "
+ EXPR_STMT@35..53
+ RANGE_EXPR@35..52
+ BIN_EXPR@35..49
+ LITERAL@35..36
+ INT_NUMBER@35..36 "1"
+ WHITESPACE@36..37 " "
+ PLUS@37..38 "+"
+ WHITESPACE@38..39 " "
+ CAST_EXPR@39..49
+ LITERAL@39..40
+ INT_NUMBER@39..40 "2"
+ WHITESPACE@40..41 " "
+ AS_KW@41..43 "as"
+ WHITESPACE@43..44 " "
+ PATH_TYPE@44..49
+ PATH@44..49
+ PATH_SEGMENT@44..49
+ NAME_REF@44..49
+ IDENT@44..49 "usize"
+ WHITESPACE@49..50 " "
+ DOT2@50..52 ".."
+ SEMICOLON@52..53 ";"
+ WHITESPACE@53..54 "\n"
+ R_CURLY@54..55 "}"
WHITESPACE@55..56 "\n"
R_PAREN@8..9 ")"
WHITESPACE@9..10 " "
BLOCK_EXPR@10..34
- BLOCK@10..34
- L_CURLY@10..11 "{"
- WHITESPACE@11..16 "\n "
- MATCH_EXPR@16..32
- MATCH_KW@16..21 "match"
- WHITESPACE@21..22 " "
- RANGE_EXPR@22..24
- DOT2@22..24 ".."
- WHITESPACE@24..25 " "
- MATCH_ARM_LIST@25..32
- L_CURLY@25..26 "{"
- WHITESPACE@26..31 "\n "
- R_CURLY@31..32 "}"
- WHITESPACE@32..33 "\n"
- R_CURLY@33..34 "}"
+ L_CURLY@10..11 "{"
+ WHITESPACE@11..16 "\n "
+ MATCH_EXPR@16..32
+ MATCH_KW@16..21 "match"
+ WHITESPACE@21..22 " "
+ RANGE_EXPR@22..24
+ DOT2@22..24 ".."
+ WHITESPACE@24..25 " "
+ MATCH_ARM_LIST@25..32
+ L_CURLY@25..26 "{"
+ WHITESPACE@26..31 "\n "
+ R_CURLY@31..32 "}"
+ WHITESPACE@32..33 "\n"
+ R_CURLY@33..34 "}"
WHITESPACE@34..35 "\n"
R_PAREN@126..127 ")"
WHITESPACE@127..128 " "
BLOCK_EXPR@128..348
- BLOCK@128..348
- L_CURLY@128..129 "{"
- WHITESPACE@129..134 "\n "
- MACRO_DEF@134..346
- MACRO_KW@134..139 "macro"
- WHITESPACE@139..140 " "
- NAME@140..150
- IDENT@140..150 "test_merge"
- TOKEN_TREE@150..346
- TOKEN_TREE@150..203
- L_PAREN@150..151 "("
- TOKEN_TREE@151..175
- L_BRACK@151..152 "["
- DOLLAR@152..153 "$"
- TOKEN_TREE@153..166
- L_PAREN@153..154 "("
- DOLLAR@154..155 "$"
- IDENT@155..160 "input"
- COLON@160..161 ":"
- IDENT@161..165 "expr"
- R_PAREN@165..166 ")"
- COMMA@166..167 ","
- STAR@167..168 "*"
- WHITESPACE@168..169 " "
- DOLLAR@169..170 "$"
- TOKEN_TREE@170..173
- L_PAREN@170..171 "("
- COMMA@171..172 ","
- R_PAREN@172..173 ")"
- STAR@173..174 "*"
- R_BRACK@174..175 "]"
- COMMA@175..176 ","
- WHITESPACE@176..177 " "
- TOKEN_TREE@177..202
- L_BRACK@177..178 "["
- DOLLAR@178..179 "$"
- TOKEN_TREE@179..193
- L_PAREN@179..180 "("
- DOLLAR@180..181 "$"
- IDENT@181..187 "output"
- COLON@187..188 ":"
- IDENT@188..192 "expr"
- R_PAREN@192..193 ")"
- COMMA@193..194 ","
- STAR@194..195 "*"
- WHITESPACE@195..196 " "
- DOLLAR@196..197 "$"
- TOKEN_TREE@197..200
- L_PAREN@197..198 "("
- COMMA@198..199 ","
- R_PAREN@199..200 ")"
- STAR@200..201 "*"
- R_BRACK@201..202 "]"
- R_PAREN@202..203 ")"
- WHITESPACE@203..204 " "
- TOKEN_TREE@204..346
- L_CURLY@204..205 "{"
- WHITESPACE@205..214 "\n "
- IDENT@214..223 "assert_eq"
- BANG@223..224 "!"
- TOKEN_TREE@224..339
- L_PAREN@224..225 "("
- WHITESPACE@225..238 "\n "
- IDENT@238..253 "merge_use_trees"
- TOKEN_TREE@253..284
- L_PAREN@253..254 "("
- IDENT@254..269 "parse_use_trees"
- BANG@269..270 "!"
- TOKEN_TREE@270..283
- L_PAREN@270..271 "("
- DOLLAR@271..272 "$"
- TOKEN_TREE@272..281
- L_PAREN@272..273 "("
- DOLLAR@273..274 "$"
- IDENT@274..279 "input"
- COMMA@279..280 ","
- R_PAREN@280..281 ")"
- STAR@281..282 "*"
- R_PAREN@282..283 ")"
- R_PAREN@283..284 ")"
- COMMA@284..285 ","
- WHITESPACE@285..298 "\n "
- IDENT@298..313 "parse_use_trees"
- BANG@313..314 "!"
- TOKEN_TREE@314..328
- L_PAREN@314..315 "("
- DOLLAR@315..316 "$"
- TOKEN_TREE@316..326
- L_PAREN@316..317 "("
- DOLLAR@317..318 "$"
- IDENT@318..324 "output"
- COMMA@324..325 ","
- R_PAREN@325..326 ")"
- STAR@326..327 "*"
- R_PAREN@327..328 ")"
- COMMA@328..329 ","
- WHITESPACE@329..338 "\n "
- R_PAREN@338..339 ")"
- SEMICOLON@339..340 ";"
- WHITESPACE@340..345 "\n "
- R_CURLY@345..346 "}"
- WHITESPACE@346..347 "\n"
- R_CURLY@347..348 "}"
+ L_CURLY@128..129 "{"
+ WHITESPACE@129..134 "\n "
+ MACRO_DEF@134..346
+ MACRO_KW@134..139 "macro"
+ WHITESPACE@139..140 " "
+ NAME@140..150
+ IDENT@140..150 "test_merge"
+ TOKEN_TREE@150..346
+ TOKEN_TREE@150..203
+ L_PAREN@150..151 "("
+ TOKEN_TREE@151..175
+ L_BRACK@151..152 "["
+ DOLLAR@152..153 "$"
+ TOKEN_TREE@153..166
+ L_PAREN@153..154 "("
+ DOLLAR@154..155 "$"
+ IDENT@155..160 "input"
+ COLON@160..161 ":"
+ IDENT@161..165 "expr"
+ R_PAREN@165..166 ")"
+ COMMA@166..167 ","
+ STAR@167..168 "*"
+ WHITESPACE@168..169 " "
+ DOLLAR@169..170 "$"
+ TOKEN_TREE@170..173
+ L_PAREN@170..171 "("
+ COMMA@171..172 ","
+ R_PAREN@172..173 ")"
+ STAR@173..174 "*"
+ R_BRACK@174..175 "]"
+ COMMA@175..176 ","
+ WHITESPACE@176..177 " "
+ TOKEN_TREE@177..202
+ L_BRACK@177..178 "["
+ DOLLAR@178..179 "$"
+ TOKEN_TREE@179..193
+ L_PAREN@179..180 "("
+ DOLLAR@180..181 "$"
+ IDENT@181..187 "output"
+ COLON@187..188 ":"
+ IDENT@188..192 "expr"
+ R_PAREN@192..193 ")"
+ COMMA@193..194 ","
+ STAR@194..195 "*"
+ WHITESPACE@195..196 " "
+ DOLLAR@196..197 "$"
+ TOKEN_TREE@197..200
+ L_PAREN@197..198 "("
+ COMMA@198..199 ","
+ R_PAREN@199..200 ")"
+ STAR@200..201 "*"
+ R_BRACK@201..202 "]"
+ R_PAREN@202..203 ")"
+ WHITESPACE@203..204 " "
+ TOKEN_TREE@204..346
+ L_CURLY@204..205 "{"
+ WHITESPACE@205..214 "\n "
+ IDENT@214..223 "assert_eq"
+ BANG@223..224 "!"
+ TOKEN_TREE@224..339
+ L_PAREN@224..225 "("
+ WHITESPACE@225..238 "\n "
+ IDENT@238..253 "merge_use_trees"
+ TOKEN_TREE@253..284
+ L_PAREN@253..254 "("
+ IDENT@254..269 "parse_use_trees"
+ BANG@269..270 "!"
+ TOKEN_TREE@270..283
+ L_PAREN@270..271 "("
+ DOLLAR@271..272 "$"
+ TOKEN_TREE@272..281
+ L_PAREN@272..273 "("
+ DOLLAR@273..274 "$"
+ IDENT@274..279 "input"
+ COMMA@279..280 ","
+ R_PAREN@280..281 ")"
+ STAR@281..282 "*"
+ R_PAREN@282..283 ")"
+ R_PAREN@283..284 ")"
+ COMMA@284..285 ","
+ WHITESPACE@285..298 "\n "
+ IDENT@298..313 "parse_use_trees"
+ BANG@313..314 "!"
+ TOKEN_TREE@314..328
+ L_PAREN@314..315 "("
+ DOLLAR@315..316 "$"
+ TOKEN_TREE@316..326
+ L_PAREN@316..317 "("
+ DOLLAR@317..318 "$"
+ IDENT@318..324 "output"
+ COMMA@324..325 ","
+ R_PAREN@325..326 ")"
+ STAR@326..327 "*"
+ R_PAREN@327..328 ")"
+ COMMA@328..329 ","
+ WHITESPACE@329..338 "\n "
+ R_PAREN@338..339 ")"
+ SEMICOLON@339..340 ";"
+ WHITESPACE@340..345 "\n "
+ R_CURLY@345..346 "}"
+ WHITESPACE@346..347 "\n"
+ R_CURLY@347..348 "}"
WHITESPACE@348..349 "\n"
R_PAREN@42..43 ")"
WHITESPACE@43..44 " "
BLOCK_EXPR@44..46
- BLOCK@44..46
- L_CURLY@44..45 "{"
- R_CURLY@45..46 "}"
+ L_CURLY@44..45 "{"
+ R_CURLY@45..46 "}"
WHITESPACE@46..51 "\n "
FN_DEF@51..74
FN_KW@51..53 "fn"
R_PAREN@70..71 ")"
WHITESPACE@71..72 " "
BLOCK_EXPR@72..74
- BLOCK@72..74
- L_CURLY@72..73 "{"
- R_CURLY@73..74 "}"
+ L_CURLY@72..73 "{"
+ R_CURLY@73..74 "}"
WHITESPACE@74..79 "\n "
FN_DEF@79..108
FN_KW@79..81 "fn"
R_PAREN@104..105 ")"
WHITESPACE@105..106 " "
BLOCK_EXPR@106..108
- BLOCK@106..108
- L_CURLY@106..107 "{"
- R_CURLY@107..108 "}"
+ L_CURLY@106..107 "{"
+ R_CURLY@107..108 "}"
WHITESPACE@108..113 "\n "
FN_DEF@113..135
FN_KW@113..115 "fn"
R_PAREN@131..132 ")"
WHITESPACE@132..133 " "
BLOCK_EXPR@133..135
- BLOCK@133..135
- L_CURLY@133..134 "{"
- R_CURLY@134..135 "}"
+ L_CURLY@133..134 "{"
+ R_CURLY@134..135 "}"
WHITESPACE@135..140 "\n "
FN_DEF@140..167
FN_KW@140..142 "fn"
R_PAREN@41..42 ")"
WHITESPACE@42..43 " "
BLOCK_EXPR@43..45
- BLOCK@43..45
- L_CURLY@43..44 "{"
- R_CURLY@44..45 "}"
+ L_CURLY@43..44 "{"
+ R_CURLY@44..45 "}"
WHITESPACE@45..50 "\n "
FN_DEF@50..73
FN_KW@50..52 "fn"
R_PAREN@69..70 ")"
WHITESPACE@70..71 " "
BLOCK_EXPR@71..73
- BLOCK@71..73
- L_CURLY@71..72 "{"
- R_CURLY@72..73 "}"
+ L_CURLY@71..72 "{"
+ R_CURLY@72..73 "}"
WHITESPACE@73..78 "\n "
FN_DEF@78..107
FN_KW@78..80 "fn"
R_PAREN@103..104 ")"
WHITESPACE@104..105 " "
BLOCK_EXPR@105..107
- BLOCK@105..107
- L_CURLY@105..106 "{"
- R_CURLY@106..107 "}"
+ L_CURLY@105..106 "{"
+ R_CURLY@106..107 "}"
WHITESPACE@107..112 "\n "
FN_DEF@112..134
FN_KW@112..114 "fn"
R_PAREN@130..131 ")"
WHITESPACE@131..132 " "
BLOCK_EXPR@132..134
- BLOCK@132..134
- L_CURLY@132..133 "{"
- R_CURLY@133..134 "}"
+ L_CURLY@132..133 "{"
+ R_CURLY@133..134 "}"
WHITESPACE@134..135 "\n"
R_CURLY@135..136 "}"
WHITESPACE@136..137 "\n"
R_PAREN@21..22 ")"
WHITESPACE@22..23 " "
BLOCK_EXPR@23..25
- BLOCK@23..25
- L_CURLY@23..24 "{"
- R_CURLY@24..25 "}"
+ L_CURLY@23..24 "{"
+ R_CURLY@24..25 "}"
WHITESPACE@25..26 "\n"
IDENT@32..36 "Send"
WHITESPACE@36..37 " "
BLOCK_EXPR@37..39
- BLOCK@37..39
- L_CURLY@37..38 "{"
- R_CURLY@38..39 "}"
+ L_CURLY@37..38 "{"
+ R_CURLY@38..39 "}"
WHITESPACE@39..40 "\n"