From 7d6bd5d1379061180e771f7b833a9fecdc85a0b8 Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Tue, 2 Apr 2019 14:04:23 +0300 Subject: always show token text --- .../tests/data/parser/ok/0001_struct_item.txt | 30 +- .../data/parser/ok/0002_struct_item_field.txt | 18 +- .../tests/data/parser/ok/0004_file_shebang.txt | 2 +- .../tests/data/parser/ok/0005_fn_item.txt | 18 +- .../tests/data/parser/ok/0006_inner_attributes.txt | 212 +- .../tests/data/parser/ok/0007_extern_crate.txt | 50 +- .../tests/data/parser/ok/0008_mod_item.txt | 110 +- .../tests/data/parser/ok/0009_use_item.txt | 16 +- .../data/parser/ok/0010_use_path_segments.txt | 26 +- .../tests/data/parser/ok/0011_outer_attribute.txt | 36 +- .../tests/data/parser/ok/0012_visibility.txt | 120 +- .../data/parser/ok/0013_use_path_self_super.txt | 48 +- .../tests/data/parser/ok/0014_use_tree.txt | 98 +- .../tests/data/parser/ok/0015_use_tree.txt | 60 +- .../tests/data/parser/ok/0016_struct_flavors.txt | 86 +- .../data/parser/ok/0017_attr_trailing_comma.txt | 30 +- .../data/parser/ok/0018_struct_type_params.txt | 290 +-- .../ra_syntax/tests/data/parser/ok/0019_enums.txt | 154 +- .../data/parser/ok/0020_type_param_bounds.txt | 270 +-- .../tests/data/parser/ok/0021_extern_fn.txt | 74 +- .../data/parser/ok/0022_empty_extern_block.txt | 28 +- .../tests/data/parser/ok/0023_static_items.txt | 40 +- .../tests/data/parser/ok/0024_const_item.txt | 40 +- .../data/parser/ok/0025_extern_fn_in_block.txt | 38 +- .../data/parser/ok/0026_const_fn_in_block.txt | 38 +- .../data/parser/ok/0027_unsafe_fn_in_block.txt | 52 +- .../data/parser/ok/0028_operator_binding_power.txt | 190 +- .../tests/data/parser/ok/0029_range_forms.txt | 138 +- .../ra_syntax/tests/data/parser/ok/0030_traits.txt | 96 +- .../ra_syntax/tests/data/parser/ok/0031_extern.txt | 796 +++---- .../tests/data/parser/ok/0032_where_for.txt | 70 +- .../tests/data/parser/ok/0033_label_break.txt | 224 +- .../data/parser/ok/0034_crate_path_in_call.txt | 32 +- .../tests/data/parser/ok/0035_weird_exprs.txt | 2496 ++++++++++---------- .../tests/data/parser/ok/0036_fully_qualified.txt | 74 +- crates/ra_syntax/tests/data/parser/ok/0037_mod.txt | 22 +- .../tests/data/parser/ok/0038_where_pred_type.txt | 32 +- .../tests/data/parser/ok/0039_raw_fn_item.txt | 18 +- .../data/parser/ok/0040_raw_struct_item_field.txt | 18 +- .../tests/data/parser/ok/0041_raw_keywords.txt | 50 +- .../tests/data/parser/ok/0042_ufcs_call_list.txt | 114 +- .../data/parser/ok/0043_complex_assignment.txt | 102 +- .../tests/data/parser/ok/0044_let_attrs.txt | 76 +- .../data/parser/ok/0045_block_inner_attrs.txt | 196 +- .../parser/ok/0046_extern_inner_attributes.txt | 36 +- .../data/parser/ok/0047_minus_in_inner_pattern.txt | 310 +-- .../data/parser/ok/0048_compound_assignment.txt | 160 +- .../tests/data/parser/ok/0049_async_block.txt | 46 +- .../parser/ok/0050_async_block_as_argument.txt | 78 +- 49 files changed, 3679 insertions(+), 3679 deletions(-) (limited to 'crates/ra_syntax/tests/data/parser/ok') diff --git a/crates/ra_syntax/tests/data/parser/ok/0001_struct_item.txt b/crates/ra_syntax/tests/data/parser/ok/0001_struct_item.txt index b49206d80..c6653cf25 100644 --- a/crates/ra_syntax/tests/data/parser/ok/0001_struct_item.txt +++ b/crates/ra_syntax/tests/data/parser/ok/0001_struct_item.txt @@ -1,16 +1,16 @@ SOURCE_FILE@[0; 32) STRUCT_DEF@[0; 31) - STRUCT_KW@[0; 6) - WHITESPACE@[6; 7) + STRUCT_KW@[0; 6) "struct" + WHITESPACE@[6; 7) " " NAME@[7; 8) IDENT@[7; 8) "S" TYPE_PARAM_LIST@[8; 17) - L_ANGLE@[8; 9) + L_ANGLE@[8; 9) "<" TYPE_PARAM@[9; 16) NAME@[9; 10) IDENT@[9; 10) "T" - COLON@[10; 11) - WHITESPACE@[11; 12) + COLON@[10; 11) ":" + WHITESPACE@[11; 12) " " TYPE_BOUND_LIST@[12; 16) TYPE_BOUND@[12; 16) PATH_TYPE@[12; 16) @@ -18,22 +18,22 @@ SOURCE_FILE@[0; 32) PATH_SEGMENT@[12; 16) NAME_REF@[12; 16) IDENT@[12; 16) "Copy" - R_ANGLE@[16; 17) - WHITESPACE@[17; 18) + R_ANGLE@[16; 17) ">" + WHITESPACE@[17; 18) " " NAMED_FIELD_DEF_LIST@[18; 31) - L_CURLY@[18; 19) - WHITESPACE@[19; 24) + L_CURLY@[18; 19) "{" + WHITESPACE@[19; 24) "\n " NAMED_FIELD_DEF@[24; 28) NAME@[24; 25) IDENT@[24; 25) "f" - COLON@[25; 26) - WHITESPACE@[26; 27) + COLON@[25; 26) ":" + WHITESPACE@[26; 27) " " PATH_TYPE@[27; 28) PATH@[27; 28) PATH_SEGMENT@[27; 28) NAME_REF@[27; 28) IDENT@[27; 28) "T" - COMMA@[28; 29) - WHITESPACE@[29; 30) - R_CURLY@[30; 31) - WHITESPACE@[31; 32) + COMMA@[28; 29) "," + WHITESPACE@[29; 30) "\n" + R_CURLY@[30; 31) "}" + WHITESPACE@[31; 32) "\n" diff --git a/crates/ra_syntax/tests/data/parser/ok/0002_struct_item_field.txt b/crates/ra_syntax/tests/data/parser/ok/0002_struct_item_field.txt index 2f588c598..d0565ea83 100644 --- a/crates/ra_syntax/tests/data/parser/ok/0002_struct_item_field.txt +++ b/crates/ra_syntax/tests/data/parser/ok/0002_struct_item_field.txt @@ -1,22 +1,22 @@ SOURCE_FILE@[0; 25) STRUCT_DEF@[0; 25) - STRUCT_KW@[0; 6) - WHITESPACE@[6; 7) + STRUCT_KW@[0; 6) "struct" + WHITESPACE@[6; 7) " " NAME@[7; 8) IDENT@[7; 8) "S" - WHITESPACE@[8; 9) + WHITESPACE@[8; 9) " " NAMED_FIELD_DEF_LIST@[9; 25) - L_CURLY@[9; 10) - WHITESPACE@[10; 15) + L_CURLY@[9; 10) "{" + WHITESPACE@[10; 15) "\n " NAMED_FIELD_DEF@[15; 23) NAME@[15; 18) IDENT@[15; 18) "foo" - COLON@[18; 19) - WHITESPACE@[19; 20) + COLON@[18; 19) ":" + WHITESPACE@[19; 20) " " PATH_TYPE@[20; 23) PATH@[20; 23) PATH_SEGMENT@[20; 23) NAME_REF@[20; 23) IDENT@[20; 23) "u32" - WHITESPACE@[23; 24) - R_CURLY@[24; 25) + WHITESPACE@[23; 24) "\n" + R_CURLY@[24; 25) "}" diff --git a/crates/ra_syntax/tests/data/parser/ok/0004_file_shebang.txt b/crates/ra_syntax/tests/data/parser/ok/0004_file_shebang.txt index 31395ffc2..e3915c2df 100644 --- a/crates/ra_syntax/tests/data/parser/ok/0004_file_shebang.txt +++ b/crates/ra_syntax/tests/data/parser/ok/0004_file_shebang.txt @@ -1,2 +1,2 @@ SOURCE_FILE@[0; 20) - SHEBANG@[0; 20) + SHEBANG@[0; 20) "#!/use/bin/env rusti" diff --git a/crates/ra_syntax/tests/data/parser/ok/0005_fn_item.txt b/crates/ra_syntax/tests/data/parser/ok/0005_fn_item.txt index c5eb46888..9b63a24e4 100644 --- a/crates/ra_syntax/tests/data/parser/ok/0005_fn_item.txt +++ b/crates/ra_syntax/tests/data/parser/ok/0005_fn_item.txt @@ -1,15 +1,15 @@ SOURCE_FILE@[0; 13) FN_DEF@[0; 12) - FN_KW@[0; 2) - WHITESPACE@[2; 3) + FN_KW@[0; 2) "fn" + WHITESPACE@[2; 3) " " NAME@[3; 6) IDENT@[3; 6) "foo" PARAM_LIST@[6; 8) - L_PAREN@[6; 7) - R_PAREN@[7; 8) - WHITESPACE@[8; 9) + L_PAREN@[6; 7) "(" + R_PAREN@[7; 8) ")" + WHITESPACE@[8; 9) " " BLOCK@[9; 12) - L_CURLY@[9; 10) - WHITESPACE@[10; 11) - R_CURLY@[11; 12) - WHITESPACE@[12; 13) + L_CURLY@[9; 10) "{" + WHITESPACE@[10; 11) "\n" + R_CURLY@[11; 12) "}" + WHITESPACE@[12; 13) "\n" diff --git a/crates/ra_syntax/tests/data/parser/ok/0006_inner_attributes.txt b/crates/ra_syntax/tests/data/parser/ok/0006_inner_attributes.txt index 05b114b54..d8cabc9af 100644 --- a/crates/ra_syntax/tests/data/parser/ok/0006_inner_attributes.txt +++ b/crates/ra_syntax/tests/data/parser/ok/0006_inner_attributes.txt @@ -1,164 +1,164 @@ SOURCE_FILE@[0; 236) ATTR@[0; 8) - POUND@[0; 1) - EXCL@[1; 2) + POUND@[0; 1) "#" + EXCL@[1; 2) "!" TOKEN_TREE@[2; 8) - L_BRACK@[2; 3) + L_BRACK@[2; 3) "[" IDENT@[3; 7) "attr" - R_BRACK@[7; 8) - WHITESPACE@[8; 9) + R_BRACK@[7; 8) "]" + WHITESPACE@[8; 9) "\n" ATTR@[9; 23) - POUND@[9; 10) - EXCL@[10; 11) + POUND@[9; 10) "#" + EXCL@[10; 11) "!" TOKEN_TREE@[11; 23) - L_BRACK@[11; 12) + L_BRACK@[11; 12) "[" IDENT@[12; 16) "attr" TOKEN_TREE@[16; 22) - L_PAREN@[16; 17) - TRUE_KW@[17; 21) - R_PAREN@[21; 22) - R_BRACK@[22; 23) - WHITESPACE@[23; 24) + L_PAREN@[16; 17) "(" + TRUE_KW@[17; 21) "true" + R_PAREN@[21; 22) ")" + R_BRACK@[22; 23) "]" + WHITESPACE@[23; 24) "\n" ATTR@[24; 39) - POUND@[24; 25) - EXCL@[25; 26) + POUND@[24; 25) "#" + EXCL@[25; 26) "!" TOKEN_TREE@[26; 39) - L_BRACK@[26; 27) + L_BRACK@[26; 27) "[" IDENT@[27; 31) "attr" TOKEN_TREE@[31; 38) - L_PAREN@[31; 32) + L_PAREN@[31; 32) "(" IDENT@[32; 37) "ident" - R_PAREN@[37; 38) - R_BRACK@[38; 39) - WHITESPACE@[39; 40) + R_PAREN@[37; 38) ")" + R_BRACK@[38; 39) "]" + WHITESPACE@[39; 40) "\n" ATTR@[40; 116) - POUND@[40; 41) - EXCL@[41; 42) + POUND@[40; 41) "#" + EXCL@[41; 42) "!" TOKEN_TREE@[42; 116) - L_BRACK@[42; 43) + L_BRACK@[42; 43) "[" IDENT@[43; 47) "attr" TOKEN_TREE@[47; 115) - L_PAREN@[47; 48) + L_PAREN@[47; 48) "(" IDENT@[48; 53) "ident" - COMMA@[53; 54) - WHITESPACE@[54; 55) + COMMA@[53; 54) "," + WHITESPACE@[54; 55) " " INT_NUMBER@[55; 58) "100" - COMMA@[58; 59) - WHITESPACE@[59; 60) - TRUE_KW@[60; 64) - COMMA@[64; 65) - WHITESPACE@[65; 66) - STRING@[66; 72) - COMMA@[72; 73) - WHITESPACE@[73; 74) + COMMA@[58; 59) "," + WHITESPACE@[59; 60) " " + TRUE_KW@[60; 64) "true" + COMMA@[64; 65) "," + WHITESPACE@[65; 66) " " + STRING@[66; 72) "\"true\"" + COMMA@[72; 73) "," + WHITESPACE@[73; 74) " " IDENT@[74; 79) "ident" - WHITESPACE@[79; 80) - EQ@[80; 81) - WHITESPACE@[81; 82) + WHITESPACE@[79; 80) " " + EQ@[80; 81) "=" + WHITESPACE@[81; 82) " " INT_NUMBER@[82; 85) "100" - COMMA@[85; 86) - WHITESPACE@[86; 87) + COMMA@[85; 86) "," + WHITESPACE@[86; 87) " " IDENT@[87; 92) "ident" - WHITESPACE@[92; 93) - EQ@[93; 94) - WHITESPACE@[94; 95) - STRING@[95; 102) - COMMA@[102; 103) - WHITESPACE@[103; 104) + WHITESPACE@[92; 93) " " + EQ@[93; 94) "=" + WHITESPACE@[94; 95) " " + STRING@[95; 102) "\"hello\"" + COMMA@[102; 103) "," + WHITESPACE@[103; 104) " " IDENT@[104; 109) "ident" TOKEN_TREE@[109; 114) - L_PAREN@[109; 110) + L_PAREN@[109; 110) "(" INT_NUMBER@[110; 113) "100" - R_PAREN@[113; 114) - R_PAREN@[114; 115) - R_BRACK@[115; 116) - WHITESPACE@[116; 117) + R_PAREN@[113; 114) ")" + R_PAREN@[114; 115) ")" + R_BRACK@[115; 116) "]" + WHITESPACE@[116; 117) "\n" ATTR@[117; 130) - POUND@[117; 118) - EXCL@[118; 119) + POUND@[117; 118) "#" + EXCL@[118; 119) "!" TOKEN_TREE@[119; 130) - L_BRACK@[119; 120) + L_BRACK@[119; 120) "[" IDENT@[120; 124) "attr" TOKEN_TREE@[124; 129) - L_PAREN@[124; 125) + L_PAREN@[124; 125) "(" INT_NUMBER@[125; 128) "100" - R_PAREN@[128; 129) - R_BRACK@[129; 130) - WHITESPACE@[130; 131) + R_PAREN@[128; 129) ")" + R_BRACK@[129; 130) "]" + WHITESPACE@[130; 131) "\n" ATTR@[131; 155) - POUND@[131; 132) - EXCL@[132; 133) + POUND@[131; 132) "#" + EXCL@[132; 133) "!" TOKEN_TREE@[133; 155) - L_BRACK@[133; 134) + L_BRACK@[133; 134) "[" IDENT@[134; 138) "attr" TOKEN_TREE@[138; 154) - L_PAREN@[138; 139) + L_PAREN@[138; 139) "(" IDENT@[139; 146) "enabled" - WHITESPACE@[146; 147) - EQ@[147; 148) - WHITESPACE@[148; 149) - TRUE_KW@[149; 153) - R_PAREN@[153; 154) - R_BRACK@[154; 155) - WHITESPACE@[155; 156) + WHITESPACE@[146; 147) " " + EQ@[147; 148) "=" + WHITESPACE@[148; 149) " " + TRUE_KW@[149; 153) "true" + R_PAREN@[153; 154) ")" + R_BRACK@[154; 155) "]" + WHITESPACE@[155; 156) "\n" ATTR@[156; 173) - POUND@[156; 157) - EXCL@[157; 158) + POUND@[156; 157) "#" + EXCL@[157; 158) "!" TOKEN_TREE@[158; 173) - L_BRACK@[158; 159) + L_BRACK@[158; 159) "[" IDENT@[159; 166) "enabled" TOKEN_TREE@[166; 172) - L_PAREN@[166; 167) - TRUE_KW@[167; 171) - R_PAREN@[171; 172) - R_BRACK@[172; 173) - WHITESPACE@[173; 174) + L_PAREN@[166; 167) "(" + TRUE_KW@[167; 171) "true" + R_PAREN@[171; 172) ")" + R_BRACK@[172; 173) "]" + WHITESPACE@[173; 174) "\n" ATTR@[174; 191) - POUND@[174; 175) - EXCL@[175; 176) + POUND@[174; 175) "#" + EXCL@[175; 176) "!" TOKEN_TREE@[176; 191) - L_BRACK@[176; 177) + L_BRACK@[176; 177) "[" IDENT@[177; 181) "attr" TOKEN_TREE@[181; 190) - L_PAREN@[181; 182) - STRING@[182; 189) - R_PAREN@[189; 190) - R_BRACK@[190; 191) - WHITESPACE@[191; 192) + L_PAREN@[181; 182) "(" + STRING@[182; 189) "\"hello\"" + R_PAREN@[189; 190) ")" + R_BRACK@[190; 191) "]" + WHITESPACE@[191; 192) "\n" ATTR@[192; 214) - POUND@[192; 193) - EXCL@[193; 194) + POUND@[192; 193) "#" + EXCL@[193; 194) "!" TOKEN_TREE@[194; 214) - L_BRACK@[194; 195) + L_BRACK@[194; 195) "[" IDENT@[195; 199) "repr" TOKEN_TREE@[199; 213) - L_PAREN@[199; 200) + L_PAREN@[199; 200) "(" IDENT@[200; 201) "C" - COMMA@[201; 202) - WHITESPACE@[202; 203) + COMMA@[201; 202) "," + WHITESPACE@[202; 203) " " IDENT@[203; 208) "align" - WHITESPACE@[208; 209) - EQ@[209; 210) - WHITESPACE@[210; 211) + WHITESPACE@[208; 209) " " + EQ@[209; 210) "=" + WHITESPACE@[210; 211) " " INT_NUMBER@[211; 212) "4" - R_PAREN@[212; 213) - R_BRACK@[213; 214) - WHITESPACE@[214; 215) + R_PAREN@[212; 213) ")" + R_BRACK@[213; 214) "]" + WHITESPACE@[214; 215) "\n" ATTR@[215; 236) - POUND@[215; 216) - EXCL@[216; 217) + POUND@[215; 216) "#" + EXCL@[216; 217) "!" TOKEN_TREE@[217; 236) - L_BRACK@[217; 218) + L_BRACK@[217; 218) "[" IDENT@[218; 222) "repr" TOKEN_TREE@[222; 235) - L_PAREN@[222; 223) + L_PAREN@[222; 223) "(" IDENT@[223; 224) "C" - COMMA@[224; 225) - WHITESPACE@[225; 226) + COMMA@[224; 225) "," + WHITESPACE@[225; 226) " " IDENT@[226; 231) "align" TOKEN_TREE@[231; 234) - L_PAREN@[231; 232) + L_PAREN@[231; 232) "(" INT_NUMBER@[232; 233) "4" - R_PAREN@[233; 234) - R_PAREN@[234; 235) - R_BRACK@[235; 236) + R_PAREN@[233; 234) ")" + R_PAREN@[234; 235) ")" + R_BRACK@[235; 236) "]" diff --git a/crates/ra_syntax/tests/data/parser/ok/0007_extern_crate.txt b/crates/ra_syntax/tests/data/parser/ok/0007_extern_crate.txt index 0176260c1..1ffa36c7e 100644 --- a/crates/ra_syntax/tests/data/parser/ok/0007_extern_crate.txt +++ b/crates/ra_syntax/tests/data/parser/ok/0007_extern_crate.txt @@ -1,40 +1,40 @@ SOURCE_FILE@[0; 69) EXTERN_CRATE_ITEM@[0; 17) - EXTERN_KW@[0; 6) - WHITESPACE@[6; 7) - CRATE_KW@[7; 12) - WHITESPACE@[12; 13) + EXTERN_KW@[0; 6) "extern" + WHITESPACE@[6; 7) " " + CRATE_KW@[7; 12) "crate" + WHITESPACE@[12; 13) " " NAME_REF@[13; 16) IDENT@[13; 16) "foo" - SEMI@[16; 17) - WHITESPACE@[17; 18) + SEMI@[16; 17) ";" + WHITESPACE@[17; 18) "\n" EXTERN_CRATE_ITEM@[18; 42) - EXTERN_KW@[18; 24) - WHITESPACE@[24; 25) - CRATE_KW@[25; 30) - WHITESPACE@[30; 31) + EXTERN_KW@[18; 24) "extern" + WHITESPACE@[24; 25) " " + CRATE_KW@[25; 30) "crate" + WHITESPACE@[30; 31) " " NAME_REF@[31; 34) IDENT@[31; 34) "foo" - WHITESPACE@[34; 35) + WHITESPACE@[34; 35) " " ALIAS@[35; 41) - AS_KW@[35; 37) - WHITESPACE@[37; 38) + AS_KW@[35; 37) "as" + WHITESPACE@[37; 38) " " NAME@[38; 41) IDENT@[38; 41) "bar" - SEMI@[41; 42) - WHITESPACE@[42; 43) + SEMI@[41; 42) ";" + WHITESPACE@[42; 43) "\n" EXTERN_CRATE_ITEM@[43; 68) - EXTERN_KW@[43; 49) - WHITESPACE@[49; 50) - CRATE_KW@[50; 55) - WHITESPACE@[55; 56) + EXTERN_KW@[43; 49) "extern" + WHITESPACE@[49; 50) " " + CRATE_KW@[50; 55) "crate" + WHITESPACE@[55; 56) " " SELF_KW@[56; 60) - SELF_KW@[56; 60) - WHITESPACE@[60; 61) + SELF_KW@[56; 60) "self" + WHITESPACE@[60; 61) " " ALIAS@[61; 67) - AS_KW@[61; 63) - WHITESPACE@[63; 64) + AS_KW@[61; 63) "as" + WHITESPACE@[63; 64) " " NAME@[64; 67) IDENT@[64; 67) "baz" - SEMI@[67; 68) - WHITESPACE@[68; 69) + SEMI@[67; 68) ";" + WHITESPACE@[68; 69) "\n" diff --git a/crates/ra_syntax/tests/data/parser/ok/0008_mod_item.txt b/crates/ra_syntax/tests/data/parser/ok/0008_mod_item.txt index 139349fed..9152d6eb6 100644 --- a/crates/ra_syntax/tests/data/parser/ok/0008_mod_item.txt +++ b/crates/ra_syntax/tests/data/parser/ok/0008_mod_item.txt @@ -1,90 +1,90 @@ SOURCE_FILE@[0; 118) MODULE@[0; 6) - MOD_KW@[0; 3) - WHITESPACE@[3; 4) + MOD_KW@[0; 3) "mod" + WHITESPACE@[3; 4) " " NAME@[4; 5) IDENT@[4; 5) "a" - SEMI@[5; 6) - WHITESPACE@[6; 8) + SEMI@[5; 6) ";" + WHITESPACE@[6; 8) "\n\n" MODULE@[8; 17) - MOD_KW@[8; 11) - WHITESPACE@[11; 12) + MOD_KW@[8; 11) "mod" + WHITESPACE@[11; 12) " " NAME@[12; 13) IDENT@[12; 13) "b" - WHITESPACE@[13; 14) + WHITESPACE@[13; 14) " " ITEM_LIST@[14; 17) - L_CURLY@[14; 15) - WHITESPACE@[15; 16) - R_CURLY@[16; 17) - WHITESPACE@[17; 19) + L_CURLY@[14; 15) "{" + WHITESPACE@[15; 16) "\n" + R_CURLY@[16; 17) "}" + WHITESPACE@[17; 19) "\n\n" MODULE@[19; 65) - MOD_KW@[19; 22) - WHITESPACE@[22; 23) + MOD_KW@[19; 22) "mod" + WHITESPACE@[22; 23) " " NAME@[23; 24) IDENT@[23; 24) "c" - WHITESPACE@[24; 25) + WHITESPACE@[24; 25) " " ITEM_LIST@[25; 65) - L_CURLY@[25; 26) - WHITESPACE@[26; 31) + L_CURLY@[25; 26) "{" + WHITESPACE@[26; 31) "\n " FN_DEF@[31; 47) - FN_KW@[31; 33) - WHITESPACE@[33; 34) + FN_KW@[31; 33) "fn" + WHITESPACE@[33; 34) " " NAME@[34; 37) IDENT@[34; 37) "foo" PARAM_LIST@[37; 39) - L_PAREN@[37; 38) - R_PAREN@[38; 39) - WHITESPACE@[39; 40) + L_PAREN@[37; 38) "(" + R_PAREN@[38; 39) ")" + WHITESPACE@[39; 40) " " BLOCK@[40; 47) - L_CURLY@[40; 41) - WHITESPACE@[41; 46) - R_CURLY@[46; 47) - WHITESPACE@[47; 52) + L_CURLY@[40; 41) "{" + WHITESPACE@[41; 46) "\n " + R_CURLY@[46; 47) "}" + WHITESPACE@[47; 52) "\n " STRUCT_DEF@[52; 63) - STRUCT_KW@[52; 58) - WHITESPACE@[58; 59) + STRUCT_KW@[52; 58) "struct" + WHITESPACE@[58; 59) " " NAME@[59; 60) IDENT@[59; 60) "S" - WHITESPACE@[60; 61) + WHITESPACE@[60; 61) " " NAMED_FIELD_DEF_LIST@[61; 63) - L_CURLY@[61; 62) - R_CURLY@[62; 63) - WHITESPACE@[63; 64) - R_CURLY@[64; 65) - WHITESPACE@[65; 67) + L_CURLY@[61; 62) "{" + R_CURLY@[62; 63) "}" + WHITESPACE@[63; 64) "\n" + R_CURLY@[64; 65) "}" + WHITESPACE@[65; 67) "\n\n" MODULE@[67; 118) - MOD_KW@[67; 70) - WHITESPACE@[70; 71) + MOD_KW@[67; 70) "mod" + WHITESPACE@[70; 71) " " NAME@[71; 72) IDENT@[71; 72) "d" - WHITESPACE@[72; 73) + WHITESPACE@[72; 73) " " ITEM_LIST@[73; 118) - L_CURLY@[73; 74) - WHITESPACE@[74; 79) + L_CURLY@[73; 74) "{" + WHITESPACE@[74; 79) "\n " ATTR@[79; 87) - POUND@[79; 80) - EXCL@[80; 81) + POUND@[79; 80) "#" + EXCL@[80; 81) "!" TOKEN_TREE@[81; 87) - L_BRACK@[81; 82) + L_BRACK@[81; 82) "[" IDENT@[82; 86) "attr" - R_BRACK@[86; 87) - WHITESPACE@[87; 92) + R_BRACK@[86; 87) "]" + WHITESPACE@[87; 92) "\n " MODULE@[92; 98) - MOD_KW@[92; 95) - WHITESPACE@[95; 96) + MOD_KW@[92; 95) "mod" + WHITESPACE@[95; 96) " " NAME@[96; 97) IDENT@[96; 97) "e" - SEMI@[97; 98) - WHITESPACE@[98; 103) + SEMI@[97; 98) ";" + WHITESPACE@[98; 103) "\n " MODULE@[103; 116) - MOD_KW@[103; 106) - WHITESPACE@[106; 107) + MOD_KW@[103; 106) "mod" + WHITESPACE@[106; 107) " " NAME@[107; 108) IDENT@[107; 108) "f" - WHITESPACE@[108; 109) + WHITESPACE@[108; 109) " " ITEM_LIST@[109; 116) - L_CURLY@[109; 110) - WHITESPACE@[110; 115) - R_CURLY@[115; 116) - WHITESPACE@[116; 117) - R_CURLY@[117; 118) + L_CURLY@[109; 110) "{" + WHITESPACE@[110; 115) "\n " + R_CURLY@[115; 116) "}" + WHITESPACE@[116; 117) "\n" + R_CURLY@[117; 118) "}" diff --git a/crates/ra_syntax/tests/data/parser/ok/0009_use_item.txt b/crates/ra_syntax/tests/data/parser/ok/0009_use_item.txt index 9e67d176a..41db9dbb7 100644 --- a/crates/ra_syntax/tests/data/parser/ok/0009_use_item.txt +++ b/crates/ra_syntax/tests/data/parser/ok/0009_use_item.txt @@ -1,21 +1,21 @@ SOURCE_FILE@[0; 19) USE_ITEM@[0; 8) - USE_KW@[0; 3) - WHITESPACE@[3; 4) + USE_KW@[0; 3) "use" + WHITESPACE@[3; 4) " " USE_TREE@[4; 7) PATH@[4; 7) PATH_SEGMENT@[4; 7) NAME_REF@[4; 7) IDENT@[4; 7) "foo" - SEMI@[7; 8) - WHITESPACE@[8; 9) + SEMI@[7; 8) ";" + WHITESPACE@[8; 9) "\n" USE_ITEM@[9; 19) - USE_KW@[9; 12) - WHITESPACE@[12; 13) + USE_KW@[9; 12) "use" + WHITESPACE@[12; 13) " " USE_TREE@[13; 18) PATH@[13; 18) PATH_SEGMENT@[13; 18) - COLONCOLON@[13; 15) + COLONCOLON@[13; 15) "::" NAME_REF@[15; 18) IDENT@[15; 18) "bar" - SEMI@[18; 19) + SEMI@[18; 19) ";" diff --git a/crates/ra_syntax/tests/data/parser/ok/0010_use_path_segments.txt b/crates/ra_syntax/tests/data/parser/ok/0010_use_path_segments.txt index d0d2c17ed..09871b84d 100644 --- a/crates/ra_syntax/tests/data/parser/ok/0010_use_path_segments.txt +++ b/crates/ra_syntax/tests/data/parser/ok/0010_use_path_segments.txt @@ -1,28 +1,28 @@ SOURCE_FILE@[0; 40) USE_ITEM@[0; 20) - USE_KW@[0; 3) - WHITESPACE@[3; 4) + USE_KW@[0; 3) "use" + WHITESPACE@[3; 4) " " USE_TREE@[4; 19) PATH@[4; 19) PATH@[4; 14) PATH@[4; 9) PATH_SEGMENT@[4; 9) - COLONCOLON@[4; 6) + COLONCOLON@[4; 6) "::" NAME_REF@[6; 9) IDENT@[6; 9) "foo" - COLONCOLON@[9; 11) + COLONCOLON@[9; 11) "::" PATH_SEGMENT@[11; 14) NAME_REF@[11; 14) IDENT@[11; 14) "bar" - COLONCOLON@[14; 16) + COLONCOLON@[14; 16) "::" PATH_SEGMENT@[16; 19) NAME_REF@[16; 19) IDENT@[16; 19) "baz" - SEMI@[19; 20) - WHITESPACE@[20; 21) + SEMI@[19; 20) ";" + WHITESPACE@[20; 21) "\n" USE_ITEM@[21; 39) - USE_KW@[21; 24) - WHITESPACE@[24; 25) + USE_KW@[21; 24) "use" + WHITESPACE@[24; 25) " " USE_TREE@[25; 38) PATH@[25; 38) PATH@[25; 33) @@ -30,13 +30,13 @@ SOURCE_FILE@[0; 40) PATH_SEGMENT@[25; 28) NAME_REF@[25; 28) IDENT@[25; 28) "foo" - COLONCOLON@[28; 30) + COLONCOLON@[28; 30) "::" PATH_SEGMENT@[30; 33) NAME_REF@[30; 33) IDENT@[30; 33) "bar" - COLONCOLON@[33; 35) + COLONCOLON@[33; 35) "::" PATH_SEGMENT@[35; 38) NAME_REF@[35; 38) IDENT@[35; 38) "baz" - SEMI@[38; 39) - WHITESPACE@[39; 40) + SEMI@[38; 39) ";" + WHITESPACE@[39; 40) "\n" diff --git a/crates/ra_syntax/tests/data/parser/ok/0011_outer_attribute.txt b/crates/ra_syntax/tests/data/parser/ok/0011_outer_attribute.txt index 0f5f37474..2a0dc7bad 100644 --- a/crates/ra_syntax/tests/data/parser/ok/0011_outer_attribute.txt +++ b/crates/ra_syntax/tests/data/parser/ok/0011_outer_attribute.txt @@ -1,32 +1,32 @@ SOURCE_FILE@[0; 35) FN_DEF@[0; 34) ATTR@[0; 12) - POUND@[0; 1) + POUND@[0; 1) "#" TOKEN_TREE@[1; 12) - L_BRACK@[1; 2) + L_BRACK@[1; 2) "[" IDENT@[2; 5) "cfg" TOKEN_TREE@[5; 11) - L_PAREN@[5; 6) + L_PAREN@[5; 6) "(" IDENT@[6; 10) "test" - R_PAREN@[10; 11) - R_BRACK@[11; 12) - WHITESPACE@[12; 13) + R_PAREN@[10; 11) ")" + R_BRACK@[11; 12) "]" + WHITESPACE@[12; 13) "\n" ATTR@[13; 22) - POUND@[13; 14) + POUND@[13; 14) "#" TOKEN_TREE@[14; 22) - L_BRACK@[14; 15) + L_BRACK@[14; 15) "[" IDENT@[15; 21) "ignore" - R_BRACK@[21; 22) - WHITESPACE@[22; 23) - FN_KW@[23; 25) - WHITESPACE@[25; 26) + R_BRACK@[21; 22) "]" + WHITESPACE@[22; 23) "\n" + FN_KW@[23; 25) "fn" + WHITESPACE@[25; 26) " " NAME@[26; 29) IDENT@[26; 29) "foo" PARAM_LIST@[29; 31) - L_PAREN@[29; 30) - R_PAREN@[30; 31) - WHITESPACE@[31; 32) + L_PAREN@[29; 30) "(" + R_PAREN@[30; 31) ")" + WHITESPACE@[31; 32) " " BLOCK@[32; 34) - L_CURLY@[32; 33) - R_CURLY@[33; 34) - WHITESPACE@[34; 35) + L_CURLY@[32; 33) "{" + R_CURLY@[33; 34) "}" + WHITESPACE@[34; 35) "\n" diff --git a/crates/ra_syntax/tests/data/parser/ok/0012_visibility.txt b/crates/ra_syntax/tests/data/parser/ok/0012_visibility.txt index 15f547d29..c9d038c19 100644 --- a/crates/ra_syntax/tests/data/parser/ok/0012_visibility.txt +++ b/crates/ra_syntax/tests/data/parser/ok/0012_visibility.txt @@ -1,102 +1,102 @@ SOURCE_FILE@[0; 98) FN_DEF@[0; 9) - FN_KW@[0; 2) - WHITESPACE@[2; 3) + FN_KW@[0; 2) "fn" + WHITESPACE@[2; 3) " " NAME@[3; 4) IDENT@[3; 4) "a" PARAM_LIST@[4; 6) - L_PAREN@[4; 5) - R_PAREN@[5; 6) - WHITESPACE@[6; 7) + L_PAREN@[4; 5) "(" + R_PAREN@[5; 6) ")" + WHITESPACE@[6; 7) " " BLOCK@[7; 9) - L_CURLY@[7; 8) - R_CURLY@[8; 9) - WHITESPACE@[9; 10) + L_CURLY@[7; 8) "{" + R_CURLY@[8; 9) "}" + WHITESPACE@[9; 10) "\n" FN_DEF@[10; 23) VISIBILITY@[10; 13) - PUB_KW@[10; 13) - WHITESPACE@[13; 14) - FN_KW@[14; 16) - WHITESPACE@[16; 17) + PUB_KW@[10; 13) "pub" + WHITESPACE@[13; 14) " " + FN_KW@[14; 16) "fn" + WHITESPACE@[16; 17) " " NAME@[17; 18) IDENT@[17; 18) "b" PARAM_LIST@[18; 20) - L_PAREN@[18; 19) - R_PAREN@[19; 20) - WHITESPACE@[20; 21) + L_PAREN@[18; 19) "(" + R_PAREN@[19; 20) ")" + WHITESPACE@[20; 21) " " BLOCK@[21; 23) - L_CURLY@[21; 22) - R_CURLY@[22; 23) - WHITESPACE@[23; 24) + L_CURLY@[21; 22) "{" + R_CURLY@[22; 23) "}" + WHITESPACE@[23; 24) "\n" FN_DEF@[24; 44) VISIBILITY@[24; 34) - PUB_KW@[24; 27) - L_PAREN@[27; 28) - CRATE_KW@[28; 33) - R_PAREN@[33; 34) - WHITESPACE@[34; 35) - FN_KW@[35; 37) - WHITESPACE@[37; 38) + PUB_KW@[24; 27) "pub" + L_PAREN@[27; 28) "(" + CRATE_KW@[28; 33) "crate" + R_PAREN@[33; 34) ")" + WHITESPACE@[34; 35) " " + FN_KW@[35; 37) "fn" + WHITESPACE@[37; 38) " " NAME@[38; 39) IDENT@[38; 39) "c" PARAM_LIST@[39; 41) - L_PAREN@[39; 40) - R_PAREN@[40; 41) - WHITESPACE@[41; 42) + L_PAREN@[39; 40) "(" + R_PAREN@[40; 41) ")" + WHITESPACE@[41; 42) " " BLOCK@[42; 44) - L_CURLY@[42; 43) - R_CURLY@[43; 44) - WHITESPACE@[44; 45) + L_CURLY@[42; 43) "{" + R_CURLY@[43; 44) "}" + WHITESPACE@[44; 45) "\n" FN_DEF@[45; 65) VISIBILITY@[45; 55) - PUB_KW@[45; 48) - L_PAREN@[48; 49) - SUPER_KW@[49; 54) - R_PAREN@[54; 55) - WHITESPACE@[55; 56) - FN_KW@[56; 58) - WHITESPACE@[58; 59) + PUB_KW@[45; 48) "pub" + L_PAREN@[48; 49) "(" + SUPER_KW@[49; 54) "super" + R_PAREN@[54; 55) ")" + WHITESPACE@[55; 56) " " + FN_KW@[56; 58) "fn" + WHITESPACE@[58; 59) " " NAME@[59; 60) IDENT@[59; 60) "d" PARAM_LIST@[60; 62) - L_PAREN@[60; 61) - R_PAREN@[61; 62) - WHITESPACE@[62; 63) + L_PAREN@[60; 61) "(" + R_PAREN@[61; 62) ")" + WHITESPACE@[62; 63) " " BLOCK@[63; 65) - L_CURLY@[63; 64) - R_CURLY@[64; 65) - WHITESPACE@[65; 66) + L_CURLY@[63; 64) "{" + R_CURLY@[64; 65) "}" + WHITESPACE@[65; 66) "\n" FN_DEF@[66; 97) VISIBILITY@[66; 87) - PUB_KW@[66; 69) - L_PAREN@[69; 70) - IN_KW@[70; 72) - WHITESPACE@[72; 73) + PUB_KW@[66; 69) "pub" + L_PAREN@[69; 70) "(" + IN_KW@[70; 72) "in" + WHITESPACE@[72; 73) " " PATH@[73; 86) PATH@[73; 81) PATH@[73; 76) PATH_SEGMENT@[73; 76) NAME_REF@[73; 76) IDENT@[73; 76) "foo" - COLONCOLON@[76; 78) + COLONCOLON@[76; 78) "::" PATH_SEGMENT@[78; 81) NAME_REF@[78; 81) IDENT@[78; 81) "bar" - COLONCOLON@[81; 83) + COLONCOLON@[81; 83) "::" PATH_SEGMENT@[83; 86) NAME_REF@[83; 86) IDENT@[83; 86) "baz" - R_PAREN@[86; 87) - WHITESPACE@[87; 88) - FN_KW@[88; 90) - WHITESPACE@[90; 91) + R_PAREN@[86; 87) ")" + WHITESPACE@[87; 88) " " + FN_KW@[88; 90) "fn" + WHITESPACE@[90; 91) " " NAME@[91; 92) IDENT@[91; 92) "e" PARAM_LIST@[92; 94) - L_PAREN@[92; 93) - R_PAREN@[93; 94) - WHITESPACE@[94; 95) + L_PAREN@[92; 93) "(" + R_PAREN@[93; 94) ")" + WHITESPACE@[94; 95) " " BLOCK@[95; 97) - L_CURLY@[95; 96) - R_CURLY@[96; 97) - WHITESPACE@[97; 98) + L_CURLY@[95; 96) "{" + R_CURLY@[96; 97) "}" + WHITESPACE@[97; 98) "\n" diff --git a/crates/ra_syntax/tests/data/parser/ok/0013_use_path_self_super.txt b/crates/ra_syntax/tests/data/parser/ok/0013_use_path_self_super.txt index 1ed498f82..50730e958 100644 --- a/crates/ra_syntax/tests/data/parser/ok/0013_use_path_self_super.txt +++ b/crates/ra_syntax/tests/data/parser/ok/0013_use_path_self_super.txt @@ -1,57 +1,57 @@ SOURCE_FILE@[0; 65) USE_ITEM@[0; 14) - USE_KW@[0; 3) - WHITESPACE@[3; 4) + USE_KW@[0; 3) "use" + WHITESPACE@[3; 4) " " USE_TREE@[4; 13) PATH@[4; 13) PATH@[4; 8) PATH_SEGMENT@[4; 8) - SELF_KW@[4; 8) - COLONCOLON@[8; 10) + SELF_KW@[4; 8) "self" + COLONCOLON@[8; 10) "::" PATH_SEGMENT@[10; 13) NAME_REF@[10; 13) IDENT@[10; 13) "foo" - SEMI@[13; 14) - WHITESPACE@[14; 15) + SEMI@[13; 14) ";" + WHITESPACE@[14; 15) "\n" USE_ITEM@[15; 37) - USE_KW@[15; 18) - WHITESPACE@[18; 19) + USE_KW@[15; 18) "use" + WHITESPACE@[18; 19) " " USE_TREE@[19; 36) PATH@[19; 36) PATH@[19; 31) PATH@[19; 24) PATH_SEGMENT@[19; 24) - SUPER_KW@[19; 24) - COLONCOLON@[24; 26) + SUPER_KW@[19; 24) "super" + COLONCOLON@[24; 26) "::" PATH_SEGMENT@[26; 31) - SUPER_KW@[26; 31) - COLONCOLON@[31; 33) + SUPER_KW@[26; 31) "super" + COLONCOLON@[31; 33) "::" PATH_SEGMENT@[33; 36) NAME_REF@[33; 36) IDENT@[33; 36) "bar" - SEMI@[36; 37) - WHITESPACE@[37; 38) + SEMI@[36; 37) ";" + WHITESPACE@[37; 38) "\n" USE_ITEM@[38; 64) - USE_KW@[38; 41) - WHITESPACE@[41; 42) + USE_KW@[38; 41) "use" + WHITESPACE@[41; 42) " " USE_TREE@[42; 63) PATH@[42; 63) PATH@[42; 58) PATH@[42; 51) PATH@[42; 48) PATH_SEGMENT@[42; 48) - COLONCOLON@[42; 44) - SELF_KW@[44; 48) - COLONCOLON@[48; 50) + COLONCOLON@[42; 44) "::" + SELF_KW@[44; 48) "self" + COLONCOLON@[48; 50) "::" PATH_SEGMENT@[50; 51) NAME_REF@[50; 51) IDENT@[50; 51) "a" - COLONCOLON@[51; 53) + COLONCOLON@[51; 53) "::" PATH_SEGMENT@[53; 58) - SUPER_KW@[53; 58) - COLONCOLON@[58; 60) + SUPER_KW@[53; 58) "super" + COLONCOLON@[58; 60) "::" PATH_SEGMENT@[60; 63) NAME_REF@[60; 63) IDENT@[60; 63) "bar" - SEMI@[63; 64) - WHITESPACE@[64; 65) + SEMI@[63; 64) ";" + WHITESPACE@[64; 65) "\n" diff --git a/crates/ra_syntax/tests/data/parser/ok/0014_use_tree.txt b/crates/ra_syntax/tests/data/parser/ok/0014_use_tree.txt index 55eee5acc..3fe34d001 100644 --- a/crates/ra_syntax/tests/data/parser/ok/0014_use_tree.txt +++ b/crates/ra_syntax/tests/data/parser/ok/0014_use_tree.txt @@ -1,95 +1,95 @@ SOURCE_FILE@[0; 81) USE_ITEM@[0; 6) - USE_KW@[0; 3) - WHITESPACE@[3; 4) + USE_KW@[0; 3) "use" + WHITESPACE@[3; 4) " " USE_TREE@[4; 5) - STAR@[4; 5) - SEMI@[5; 6) - WHITESPACE@[6; 7) + STAR@[4; 5) "*" + SEMI@[5; 6) ";" + WHITESPACE@[6; 7) "\n" USE_ITEM@[7; 15) - USE_KW@[7; 10) - WHITESPACE@[10; 11) + USE_KW@[7; 10) "use" + WHITESPACE@[10; 11) " " USE_TREE@[11; 14) - COLONCOLON@[11; 13) - STAR@[13; 14) - SEMI@[14; 15) - WHITESPACE@[15; 16) + COLONCOLON@[11; 13) "::" + STAR@[13; 14) "*" + SEMI@[14; 15) ";" + WHITESPACE@[15; 16) "\n" USE_ITEM@[16; 25) - USE_KW@[16; 19) - WHITESPACE@[19; 20) + USE_KW@[16; 19) "use" + WHITESPACE@[19; 20) " " USE_TREE@[20; 24) - COLONCOLON@[20; 22) + COLONCOLON@[20; 22) "::" USE_TREE_LIST@[22; 24) - L_CURLY@[22; 23) - R_CURLY@[23; 24) - SEMI@[24; 25) - WHITESPACE@[25; 26) + L_CURLY@[22; 23) "{" + R_CURLY@[23; 24) "}" + SEMI@[24; 25) ";" + WHITESPACE@[25; 26) "\n" USE_ITEM@[26; 33) - USE_KW@[26; 29) - WHITESPACE@[29; 30) + USE_KW@[26; 29) "use" + WHITESPACE@[29; 30) " " USE_TREE@[30; 32) USE_TREE_LIST@[30; 32) - L_CURLY@[30; 31) - R_CURLY@[31; 32) - SEMI@[32; 33) - WHITESPACE@[33; 34) + L_CURLY@[30; 31) "{" + R_CURLY@[31; 32) "}" + SEMI@[32; 33) ";" + WHITESPACE@[33; 34) "\n" USE_ITEM@[34; 45) - USE_KW@[34; 37) - WHITESPACE@[37; 38) + USE_KW@[34; 37) "use" + WHITESPACE@[37; 38) " " USE_TREE@[38; 44) PATH@[38; 41) PATH_SEGMENT@[38; 41) NAME_REF@[38; 41) IDENT@[38; 41) "foo" - COLONCOLON@[41; 43) - STAR@[43; 44) - SEMI@[44; 45) - WHITESPACE@[45; 46) + COLONCOLON@[41; 43) "::" + STAR@[43; 44) "*" + SEMI@[44; 45) ";" + WHITESPACE@[45; 46) "\n" USE_ITEM@[46; 58) - USE_KW@[46; 49) - WHITESPACE@[49; 50) + USE_KW@[46; 49) "use" + WHITESPACE@[49; 50) " " USE_TREE@[50; 57) PATH@[50; 53) PATH_SEGMENT@[50; 53) NAME_REF@[50; 53) IDENT@[50; 53) "foo" - COLONCOLON@[53; 55) + COLONCOLON@[53; 55) "::" USE_TREE_LIST@[55; 57) - L_CURLY@[55; 56) - R_CURLY@[56; 57) - SEMI@[57; 58) - WHITESPACE@[58; 59) + L_CURLY@[55; 56) "{" + R_CURLY@[56; 57) "}" + SEMI@[57; 58) ";" + WHITESPACE@[58; 59) "\n" USE_ITEM@[59; 80) - USE_KW@[59; 62) - WHITESPACE@[62; 63) + USE_KW@[59; 62) "use" + WHITESPACE@[62; 63) " " USE_TREE@[63; 79) PATH@[63; 68) PATH_SEGMENT@[63; 68) - COLONCOLON@[63; 65) + COLONCOLON@[63; 65) "::" NAME_REF@[65; 68) IDENT@[65; 68) "foo" - COLONCOLON@[68; 70) + COLONCOLON@[68; 70) "::" USE_TREE_LIST@[70; 79) - L_CURLY@[70; 71) + L_CURLY@[70; 71) "{" USE_TREE@[71; 72) PATH@[71; 72) PATH_SEGMENT@[71; 72) NAME_REF@[71; 72) IDENT@[71; 72) "a" - COMMA@[72; 73) - WHITESPACE@[73; 74) + COMMA@[72; 73) "," + WHITESPACE@[73; 74) " " USE_TREE@[74; 75) PATH@[74; 75) PATH_SEGMENT@[74; 75) NAME_REF@[74; 75) IDENT@[74; 75) "b" - COMMA@[75; 76) - WHITESPACE@[76; 77) + COMMA@[75; 76) "," + WHITESPACE@[76; 77) " " USE_TREE@[77; 78) PATH@[77; 78) PATH_SEGMENT@[77; 78) NAME_REF@[77; 78) IDENT@[77; 78) "c" - R_CURLY@[78; 79) - SEMI@[79; 80) - WHITESPACE@[80; 81) + R_CURLY@[78; 79) "}" + SEMI@[79; 80) ";" + WHITESPACE@[80; 81) "\n" diff --git a/crates/ra_syntax/tests/data/parser/ok/0015_use_tree.txt b/crates/ra_syntax/tests/data/parser/ok/0015_use_tree.txt index 8a4117673..e63f14253 100644 --- a/crates/ra_syntax/tests/data/parser/ok/0015_use_tree.txt +++ b/crates/ra_syntax/tests/data/parser/ok/0015_use_tree.txt @@ -1,65 +1,65 @@ SOURCE_FILE@[0; 55) USE_ITEM@[0; 15) - USE_KW@[0; 3) - WHITESPACE@[3; 4) + USE_KW@[0; 3) "use" + WHITESPACE@[3; 4) " " USE_TREE@[4; 14) PATH@[4; 7) PATH_SEGMENT@[4; 7) NAME_REF@[4; 7) IDENT@[4; 7) "foo" - WHITESPACE@[7; 8) + WHITESPACE@[7; 8) " " ALIAS@[8; 14) - AS_KW@[8; 10) - WHITESPACE@[10; 11) + AS_KW@[8; 10) "as" + WHITESPACE@[10; 11) " " NAME@[11; 14) IDENT@[11; 14) "bar" - SEMI@[14; 15) - WHITESPACE@[15; 16) + SEMI@[14; 15) ";" + WHITESPACE@[15; 16) "\n" USE_ITEM@[16; 54) - USE_KW@[16; 19) - WHITESPACE@[19; 20) + USE_KW@[16; 19) "use" + WHITESPACE@[19; 20) " " USE_TREE@[20; 53) PATH@[20; 23) PATH_SEGMENT@[20; 23) NAME_REF@[20; 23) IDENT@[20; 23) "foo" - COLONCOLON@[23; 25) + COLONCOLON@[23; 25) "::" USE_TREE_LIST@[25; 53) - L_CURLY@[25; 26) + L_CURLY@[25; 26) "{" USE_TREE@[26; 32) PATH@[26; 27) PATH_SEGMENT@[26; 27) NAME_REF@[26; 27) IDENT@[26; 27) "a" - WHITESPACE@[27; 28) + WHITESPACE@[27; 28) " " ALIAS@[28; 32) - AS_KW@[28; 30) - WHITESPACE@[30; 31) + AS_KW@[28; 30) "as" + WHITESPACE@[30; 31) " " NAME@[31; 32) IDENT@[31; 32) "b" - COMMA@[32; 33) - WHITESPACE@[33; 34) + COMMA@[32; 33) "," + WHITESPACE@[33; 34) " " USE_TREE@[34; 35) - STAR@[34; 35) - COMMA@[35; 36) - WHITESPACE@[36; 37) + STAR@[34; 35) "*" + COMMA@[35; 36) "," + WHITESPACE@[36; 37) " " USE_TREE@[37; 40) - COLONCOLON@[37; 39) - STAR@[39; 40) - COMMA@[40; 41) - WHITESPACE@[41; 42) + COLONCOLON@[37; 39) "::" + STAR@[39; 40) "*" + COMMA@[40; 41) "," + WHITESPACE@[41; 42) " " USE_TREE@[42; 52) PATH@[42; 47) PATH_SEGMENT@[42; 47) - COLONCOLON@[42; 44) + COLONCOLON@[42; 44) "::" NAME_REF@[44; 47) IDENT@[44; 47) "foo" - WHITESPACE@[47; 48) + WHITESPACE@[47; 48) " " ALIAS@[48; 52) - AS_KW@[48; 50) - WHITESPACE@[50; 51) + AS_KW@[48; 50) "as" + WHITESPACE@[50; 51) " " NAME@[51; 52) IDENT@[51; 52) "x" - R_CURLY@[52; 53) - SEMI@[53; 54) - WHITESPACE@[54; 55) + R_CURLY@[52; 53) "}" + SEMI@[53; 54) ";" + WHITESPACE@[54; 55) "\n" diff --git a/crates/ra_syntax/tests/data/parser/ok/0016_struct_flavors.txt b/crates/ra_syntax/tests/data/parser/ok/0016_struct_flavors.txt index d021d6de6..ac44093e8 100644 --- a/crates/ra_syntax/tests/data/parser/ok/0016_struct_flavors.txt +++ b/crates/ra_syntax/tests/data/parser/ok/0016_struct_flavors.txt @@ -1,93 +1,93 @@ SOURCE_FILE@[0; 97) STRUCT_DEF@[0; 9) - STRUCT_KW@[0; 6) - WHITESPACE@[6; 7) + STRUCT_KW@[0; 6) "struct" + WHITESPACE@[6; 7) " " NAME@[7; 8) IDENT@[7; 8) "A" - SEMI@[8; 9) - WHITESPACE@[9; 10) + SEMI@[8; 9) ";" + WHITESPACE@[9; 10) "\n" STRUCT_DEF@[10; 21) - STRUCT_KW@[10; 16) - WHITESPACE@[16; 17) + STRUCT_KW@[10; 16) "struct" + WHITESPACE@[16; 17) " " NAME@[17; 18) IDENT@[17; 18) "B" - WHITESPACE@[18; 19) + WHITESPACE@[18; 19) " " NAMED_FIELD_DEF_LIST@[19; 21) - L_CURLY@[19; 20) - R_CURLY@[20; 21) - WHITESPACE@[21; 22) + L_CURLY@[19; 20) "{" + R_CURLY@[20; 21) "}" + WHITESPACE@[21; 22) "\n" STRUCT_DEF@[22; 33) - STRUCT_KW@[22; 28) - WHITESPACE@[28; 29) + STRUCT_KW@[22; 28) "struct" + WHITESPACE@[28; 29) " " NAME@[29; 30) IDENT@[29; 30) "C" POS_FIELD_DEF_LIST@[30; 32) - L_PAREN@[30; 31) - R_PAREN@[31; 32) - SEMI@[32; 33) - WHITESPACE@[33; 35) + L_PAREN@[30; 31) "(" + R_PAREN@[31; 32) ")" + SEMI@[32; 33) ";" + WHITESPACE@[33; 35) "\n\n" STRUCT_DEF@[35; 74) - STRUCT_KW@[35; 41) - WHITESPACE@[41; 42) + STRUCT_KW@[35; 41) "struct" + WHITESPACE@[41; 42) " " NAME@[42; 43) IDENT@[42; 43) "D" - WHITESPACE@[43; 44) + WHITESPACE@[43; 44) " " NAMED_FIELD_DEF_LIST@[44; 74) - L_CURLY@[44; 45) - WHITESPACE@[45; 50) + L_CURLY@[44; 45) "{" + WHITESPACE@[45; 50) "\n " NAMED_FIELD_DEF@[50; 56) NAME@[50; 51) IDENT@[50; 51) "a" - COLON@[51; 52) - WHITESPACE@[52; 53) + COLON@[51; 52) ":" + WHITESPACE@[52; 53) " " PATH_TYPE@[53; 56) PATH@[53; 56) PATH_SEGMENT@[53; 56) NAME_REF@[53; 56) IDENT@[53; 56) "u32" - COMMA@[56; 57) - WHITESPACE@[57; 62) + COMMA@[56; 57) "," + WHITESPACE@[57; 62) "\n " NAMED_FIELD_DEF@[62; 72) VISIBILITY@[62; 65) - PUB_KW@[62; 65) - WHITESPACE@[65; 66) + PUB_KW@[62; 65) "pub" + WHITESPACE@[65; 66) " " NAME@[66; 67) IDENT@[66; 67) "b" - COLON@[67; 68) - WHITESPACE@[68; 69) + COLON@[67; 68) ":" + WHITESPACE@[68; 69) " " PATH_TYPE@[69; 72) PATH@[69; 72) PATH_SEGMENT@[69; 72) NAME_REF@[69; 72) IDENT@[69; 72) "u32" - WHITESPACE@[72; 73) - R_CURLY@[73; 74) - WHITESPACE@[74; 76) + WHITESPACE@[72; 73) "\n" + R_CURLY@[73; 74) "}" + WHITESPACE@[74; 76) "\n\n" STRUCT_DEF@[76; 96) - STRUCT_KW@[76; 82) - WHITESPACE@[82; 83) + STRUCT_KW@[76; 82) "struct" + WHITESPACE@[82; 83) " " NAME@[83; 84) IDENT@[83; 84) "E" POS_FIELD_DEF_LIST@[84; 95) - L_PAREN@[84; 85) + L_PAREN@[84; 85) "(" POS_FIELD_DEF@[85; 90) VISIBILITY@[85; 88) - PUB_KW@[85; 88) - WHITESPACE@[88; 89) + PUB_KW@[85; 88) "pub" + WHITESPACE@[88; 89) " " PATH_TYPE@[89; 90) PATH@[89; 90) PATH_SEGMENT@[89; 90) NAME_REF@[89; 90) IDENT@[89; 90) "x" - COMMA@[90; 91) - WHITESPACE@[91; 92) + COMMA@[90; 91) "," + WHITESPACE@[91; 92) " " POS_FIELD_DEF@[92; 93) PATH_TYPE@[92; 93) PATH@[92; 93) PATH_SEGMENT@[92; 93) NAME_REF@[92; 93) IDENT@[92; 93) "y" - COMMA@[93; 94) - R_PAREN@[94; 95) - SEMI@[95; 96) - WHITESPACE@[96; 97) + COMMA@[93; 94) "," + R_PAREN@[94; 95) ")" + SEMI@[95; 96) ";" + WHITESPACE@[96; 97) "\n" diff --git a/crates/ra_syntax/tests/data/parser/ok/0017_attr_trailing_comma.txt b/crates/ra_syntax/tests/data/parser/ok/0017_attr_trailing_comma.txt index d49341bc5..cd8f038de 100644 --- a/crates/ra_syntax/tests/data/parser/ok/0017_attr_trailing_comma.txt +++ b/crates/ra_syntax/tests/data/parser/ok/0017_attr_trailing_comma.txt @@ -1,26 +1,26 @@ SOURCE_FILE@[0; 23) FN_DEF@[0; 22) ATTR@[0; 10) - POUND@[0; 1) + POUND@[0; 1) "#" TOKEN_TREE@[1; 10) - L_BRACK@[1; 2) + L_BRACK@[1; 2) "[" IDENT@[2; 5) "foo" TOKEN_TREE@[5; 9) - L_PAREN@[5; 6) + L_PAREN@[5; 6) "(" IDENT@[6; 7) "a" - COMMA@[7; 8) - R_PAREN@[8; 9) - R_BRACK@[9; 10) - WHITESPACE@[10; 11) - FN_KW@[11; 13) - WHITESPACE@[13; 14) + COMMA@[7; 8) "," + R_PAREN@[8; 9) ")" + R_BRACK@[9; 10) "]" + WHITESPACE@[10; 11) "\n" + FN_KW@[11; 13) "fn" + WHITESPACE@[13; 14) " " NAME@[14; 17) IDENT@[14; 17) "foo" PARAM_LIST@[17; 19) - L_PAREN@[17; 18) - R_PAREN@[18; 19) - WHITESPACE@[19; 20) + L_PAREN@[17; 18) "(" + R_PAREN@[18; 19) ")" + WHITESPACE@[19; 20) " " BLOCK@[20; 22) - L_CURLY@[20; 21) - R_CURLY@[21; 22) - WHITESPACE@[22; 23) + L_CURLY@[20; 21) "{" + R_CURLY@[21; 22) "}" + WHITESPACE@[22; 23) "\n" diff --git a/crates/ra_syntax/tests/data/parser/ok/0018_struct_type_params.txt b/crates/ra_syntax/tests/data/parser/ok/0018_struct_type_params.txt index 05480c81b..3f06f20f9 100644 --- a/crates/ra_syntax/tests/data/parser/ok/0018_struct_type_params.txt +++ b/crates/ra_syntax/tests/data/parser/ok/0018_struct_type_params.txt @@ -1,257 +1,257 @@ SOURCE_FILE@[0; 290) STRUCT_DEF@[0; 13) - STRUCT_KW@[0; 6) - WHITESPACE@[6; 7) + STRUCT_KW@[0; 6) "struct" + WHITESPACE@[6; 7) " " NAME@[7; 9) IDENT@[7; 9) "S1" TYPE_PARAM_LIST@[9; 12) - L_ANGLE@[9; 10) + L_ANGLE@[9; 10) "<" TYPE_PARAM@[10; 11) NAME@[10; 11) IDENT@[10; 11) "T" - R_ANGLE@[11; 12) - SEMI@[12; 13) - WHITESPACE@[13; 14) + R_ANGLE@[11; 12) ">" + SEMI@[12; 13) ";" + WHITESPACE@[13; 14) "\n" STRUCT_DEF@[14; 32) - STRUCT_KW@[14; 20) - WHITESPACE@[20; 21) + STRUCT_KW@[14; 20) "struct" + WHITESPACE@[20; 21) " " NAME@[21; 23) IDENT@[21; 23) "S2" TYPE_PARAM_LIST@[23; 26) - L_ANGLE@[23; 24) + L_ANGLE@[23; 24) "<" TYPE_PARAM@[24; 25) NAME@[24; 25) IDENT@[24; 25) "T" - R_ANGLE@[25; 26) + R_ANGLE@[25; 26) ">" POS_FIELD_DEF_LIST@[26; 31) - L_PAREN@[26; 27) + L_PAREN@[26; 27) "(" POS_FIELD_DEF@[27; 30) PATH_TYPE@[27; 30) PATH@[27; 30) PATH_SEGMENT@[27; 30) NAME_REF@[27; 30) IDENT@[27; 30) "u32" - R_PAREN@[30; 31) - SEMI@[31; 32) - WHITESPACE@[32; 33) + R_PAREN@[30; 31) ")" + SEMI@[31; 32) ";" + WHITESPACE@[32; 33) "\n" STRUCT_DEF@[33; 56) - STRUCT_KW@[33; 39) - WHITESPACE@[39; 40) + STRUCT_KW@[33; 39) "struct" + WHITESPACE@[39; 40) " " NAME@[40; 42) IDENT@[40; 42) "S3" TYPE_PARAM_LIST@[42; 45) - L_ANGLE@[42; 43) + L_ANGLE@[42; 43) "<" TYPE_PARAM@[43; 44) NAME@[43; 44) IDENT@[43; 44) "T" - R_ANGLE@[44; 45) - WHITESPACE@[45; 46) + R_ANGLE@[44; 45) ">" + WHITESPACE@[45; 46) " " NAMED_FIELD_DEF_LIST@[46; 56) - L_CURLY@[46; 47) - WHITESPACE@[47; 48) + L_CURLY@[46; 47) "{" + WHITESPACE@[47; 48) " " NAMED_FIELD_DEF@[48; 54) NAME@[48; 49) IDENT@[48; 49) "u" - COLON@[49; 50) - WHITESPACE@[50; 51) + COLON@[49; 50) ":" + WHITESPACE@[50; 51) " " PATH_TYPE@[51; 54) PATH@[51; 54) PATH_SEGMENT@[51; 54) NAME_REF@[51; 54) IDENT@[51; 54) "u32" - WHITESPACE@[54; 55) - R_CURLY@[55; 56) - WHITESPACE@[56; 58) + WHITESPACE@[54; 55) " " + R_CURLY@[55; 56) "}" + WHITESPACE@[56; 58) "\n\n" STRUCT_DEF@[58; 70) - STRUCT_KW@[58; 64) - WHITESPACE@[64; 65) + STRUCT_KW@[58; 64) "struct" + WHITESPACE@[64; 65) " " NAME@[65; 67) IDENT@[65; 67) "S4" TYPE_PARAM_LIST@[67; 69) - L_ANGLE@[67; 68) - R_ANGLE@[68; 69) - SEMI@[69; 70) - WHITESPACE@[70; 71) + L_ANGLE@[67; 68) "<" + R_ANGLE@[68; 69) ">" + SEMI@[69; 70) ";" + WHITESPACE@[70; 71) "\n" STRUCT_DEF@[71; 85) - STRUCT_KW@[71; 77) - WHITESPACE@[77; 78) + STRUCT_KW@[71; 77) "struct" + WHITESPACE@[77; 78) " " NAME@[78; 80) IDENT@[78; 80) "S5" TYPE_PARAM_LIST@[80; 84) - L_ANGLE@[80; 81) + L_ANGLE@[80; 81) "<" LIFETIME_PARAM@[81; 83) - LIFETIME@[81; 83) "'a" - R_ANGLE@[83; 84) - SEMI@[84; 85) - WHITESPACE@[85; 86) + LIFETIME@[81; 83) "\'a" + R_ANGLE@[83; 84) ">" + SEMI@[84; 85) ";" + WHITESPACE@[85; 86) "\n" STRUCT_DEF@[86; 101) - STRUCT_KW@[86; 92) - WHITESPACE@[92; 93) + STRUCT_KW@[86; 92) "struct" + WHITESPACE@[92; 93) " " NAME@[93; 95) IDENT@[93; 95) "S6" TYPE_PARAM_LIST@[95; 100) - L_ANGLE@[95; 96) + L_ANGLE@[95; 96) "<" LIFETIME_PARAM@[96; 99) - LIFETIME@[96; 98) "'a" - COLON@[98; 99) - R_ANGLE@[99; 100) - SEMI@[100; 101) - WHITESPACE@[101; 102) + LIFETIME@[96; 98) "\'a" + COLON@[98; 99) ":" + R_ANGLE@[99; 100) ">" + SEMI@[100; 101) ";" + WHITESPACE@[101; 102) "\n" STRUCT_DEF@[102; 120) - STRUCT_KW@[102; 108) - WHITESPACE@[108; 109) + STRUCT_KW@[102; 108) "struct" + WHITESPACE@[108; 109) " " NAME@[109; 111) IDENT@[109; 111) "S7" TYPE_PARAM_LIST@[111; 119) - L_ANGLE@[111; 112) + L_ANGLE@[111; 112) "<" LIFETIME_PARAM@[112; 118) - LIFETIME@[112; 114) "'a" - COLON@[114; 115) - WHITESPACE@[115; 116) - LIFETIME@[116; 118) "'b" - R_ANGLE@[118; 119) - SEMI@[119; 120) - WHITESPACE@[120; 121) + LIFETIME@[112; 114) "\'a" + COLON@[114; 115) ":" + WHITESPACE@[115; 116) " " + LIFETIME@[116; 118) "\'b" + R_ANGLE@[118; 119) ">" + SEMI@[119; 120) ";" + WHITESPACE@[120; 121) "\n" STRUCT_DEF@[121; 142) - STRUCT_KW@[121; 127) - WHITESPACE@[127; 128) + STRUCT_KW@[121; 127) "struct" + WHITESPACE@[127; 128) " " NAME@[128; 130) IDENT@[128; 130) "S8" TYPE_PARAM_LIST@[130; 141) - L_ANGLE@[130; 131) + L_ANGLE@[130; 131) "<" LIFETIME_PARAM@[131; 139) - LIFETIME@[131; 133) "'a" - COLON@[133; 134) - WHITESPACE@[134; 135) - LIFETIME@[135; 137) "'b" - WHITESPACE@[137; 138) - PLUS@[138; 139) - WHITESPACE@[139; 140) - R_ANGLE@[140; 141) - SEMI@[141; 142) - WHITESPACE@[142; 143) + LIFETIME@[131; 133) "\'a" + COLON@[133; 134) ":" + WHITESPACE@[134; 135) " " + LIFETIME@[135; 137) "\'b" + WHITESPACE@[137; 138) " " + PLUS@[138; 139) "+" + WHITESPACE@[139; 140) " " + R_ANGLE@[140; 141) ">" + SEMI@[141; 142) ";" + WHITESPACE@[142; 143) "\n" STRUCT_DEF@[143; 166) - STRUCT_KW@[143; 149) - WHITESPACE@[149; 150) + STRUCT_KW@[143; 149) "struct" + WHITESPACE@[149; 150) " " NAME@[150; 152) IDENT@[150; 152) "S9" TYPE_PARAM_LIST@[152; 165) - L_ANGLE@[152; 153) + L_ANGLE@[152; 153) "<" LIFETIME_PARAM@[153; 164) - LIFETIME@[153; 155) "'a" - COLON@[155; 156) - WHITESPACE@[156; 157) - LIFETIME@[157; 159) "'b" - WHITESPACE@[159; 160) - PLUS@[160; 161) - WHITESPACE@[161; 162) - LIFETIME@[162; 164) "'c" - R_ANGLE@[164; 165) - SEMI@[165; 166) - WHITESPACE@[166; 167) + LIFETIME@[153; 155) "\'a" + COLON@[155; 156) ":" + WHITESPACE@[156; 157) " " + LIFETIME@[157; 159) "\'b" + WHITESPACE@[159; 160) " " + PLUS@[160; 161) "+" + WHITESPACE@[161; 162) " " + LIFETIME@[162; 164) "\'c" + R_ANGLE@[164; 165) ">" + SEMI@[165; 166) ";" + WHITESPACE@[166; 167) "\n" STRUCT_DEF@[167; 183) - STRUCT_KW@[167; 173) - WHITESPACE@[173; 174) + STRUCT_KW@[167; 173) "struct" + WHITESPACE@[173; 174) " " NAME@[174; 177) IDENT@[174; 177) "S10" TYPE_PARAM_LIST@[177; 182) - L_ANGLE@[177; 178) + L_ANGLE@[177; 178) "<" LIFETIME_PARAM@[178; 180) - LIFETIME@[178; 180) "'a" - COMMA@[180; 181) - R_ANGLE@[181; 182) - SEMI@[182; 183) - WHITESPACE@[183; 184) + LIFETIME@[178; 180) "\'a" + COMMA@[180; 181) "," + R_ANGLE@[181; 182) ">" + SEMI@[182; 183) ";" + WHITESPACE@[183; 184) "\n" STRUCT_DEF@[184; 203) - STRUCT_KW@[184; 190) - WHITESPACE@[190; 191) + STRUCT_KW@[184; 190) "struct" + WHITESPACE@[190; 191) " " NAME@[191; 194) IDENT@[191; 194) "S11" TYPE_PARAM_LIST@[194; 202) - L_ANGLE@[194; 195) + L_ANGLE@[194; 195) "<" LIFETIME_PARAM@[195; 197) - LIFETIME@[195; 197) "'a" - COMMA@[197; 198) - WHITESPACE@[198; 199) + LIFETIME@[195; 197) "\'a" + COMMA@[197; 198) "," + WHITESPACE@[198; 199) " " LIFETIME_PARAM@[199; 201) - LIFETIME@[199; 201) "'b" - R_ANGLE@[201; 202) - SEMI@[202; 203) - WHITESPACE@[203; 204) + LIFETIME@[199; 201) "\'b" + R_ANGLE@[201; 202) ">" + SEMI@[202; 203) ";" + WHITESPACE@[203; 204) "\n" STRUCT_DEF@[204; 233) - STRUCT_KW@[204; 210) - WHITESPACE@[210; 211) + STRUCT_KW@[204; 210) "struct" + WHITESPACE@[210; 211) " " NAME@[211; 214) IDENT@[211; 214) "S12" TYPE_PARAM_LIST@[214; 232) - L_ANGLE@[214; 215) + L_ANGLE@[214; 215) "<" LIFETIME_PARAM@[215; 222) - LIFETIME@[215; 217) "'a" - COLON@[217; 218) - WHITESPACE@[218; 219) - LIFETIME@[219; 221) "'b" - PLUS@[221; 222) - COMMA@[222; 223) - WHITESPACE@[223; 224) + LIFETIME@[215; 217) "\'a" + COLON@[217; 218) ":" + WHITESPACE@[218; 219) " " + LIFETIME@[219; 221) "\'b" + PLUS@[221; 222) "+" + COMMA@[222; 223) "," + WHITESPACE@[223; 224) " " LIFETIME_PARAM@[224; 230) - LIFETIME@[224; 226) "'b" - COLON@[226; 227) - WHITESPACE@[227; 228) - LIFETIME@[228; 230) "'c" - COMMA@[230; 231) - R_ANGLE@[231; 232) - SEMI@[232; 233) - WHITESPACE@[233; 235) + LIFETIME@[224; 226) "\'b" + COLON@[226; 227) ":" + WHITESPACE@[227; 228) " " + LIFETIME@[228; 230) "\'c" + COMMA@[230; 231) "," + R_ANGLE@[231; 232) ">" + SEMI@[232; 233) ";" + WHITESPACE@[233; 235) "\n\n" STRUCT_DEF@[235; 249) - STRUCT_KW@[235; 241) - WHITESPACE@[241; 242) + STRUCT_KW@[235; 241) "struct" + WHITESPACE@[241; 242) " " NAME@[242; 245) IDENT@[242; 245) "S13" TYPE_PARAM_LIST@[245; 248) - L_ANGLE@[245; 246) + L_ANGLE@[245; 246) "<" TYPE_PARAM@[246; 247) NAME@[246; 247) IDENT@[246; 247) "T" - R_ANGLE@[247; 248) - SEMI@[248; 249) - WHITESPACE@[249; 250) + R_ANGLE@[247; 248) ">" + SEMI@[248; 249) ";" + WHITESPACE@[249; 250) "\n" STRUCT_DEF@[250; 267) - STRUCT_KW@[250; 256) - WHITESPACE@[256; 257) + STRUCT_KW@[250; 256) "struct" + WHITESPACE@[256; 257) " " NAME@[257; 260) IDENT@[257; 260) "S14" TYPE_PARAM_LIST@[260; 266) - L_ANGLE@[260; 261) + L_ANGLE@[260; 261) "<" TYPE_PARAM@[261; 262) NAME@[261; 262) IDENT@[261; 262) "T" - COMMA@[262; 263) - WHITESPACE@[263; 264) + COMMA@[262; 263) "," + WHITESPACE@[263; 264) " " TYPE_PARAM@[264; 265) NAME@[264; 265) IDENT@[264; 265) "U" - R_ANGLE@[265; 266) - SEMI@[266; 267) - WHITESPACE@[267; 268) + R_ANGLE@[265; 266) ">" + SEMI@[266; 267) ";" + WHITESPACE@[267; 268) "\n" STRUCT_DEF@[268; 289) - STRUCT_KW@[268; 274) - WHITESPACE@[274; 275) + STRUCT_KW@[268; 274) "struct" + WHITESPACE@[274; 275) " " NAME@[275; 278) IDENT@[275; 278) "S15" TYPE_PARAM_LIST@[278; 288) - L_ANGLE@[278; 279) + L_ANGLE@[278; 279) "<" LIFETIME_PARAM@[279; 281) - LIFETIME@[279; 281) "'a" - COMMA@[281; 282) - WHITESPACE@[282; 283) + LIFETIME@[279; 281) "\'a" + COMMA@[281; 282) "," + WHITESPACE@[282; 283) " " TYPE_PARAM@[283; 284) NAME@[283; 284) IDENT@[283; 284) "T" - COMMA@[284; 285) - WHITESPACE@[285; 286) + COMMA@[284; 285) "," + WHITESPACE@[285; 286) " " TYPE_PARAM@[286; 287) NAME@[286; 287) IDENT@[286; 287) "U" - R_ANGLE@[287; 288) - SEMI@[288; 289) - WHITESPACE@[289; 290) + R_ANGLE@[287; 288) ">" + SEMI@[288; 289) ";" + WHITESPACE@[289; 290) "\n" diff --git a/crates/ra_syntax/tests/data/parser/ok/0019_enums.txt b/crates/ra_syntax/tests/data/parser/ok/0019_enums.txt index 2ac55cfbc..37753a7d0 100644 --- a/crates/ra_syntax/tests/data/parser/ok/0019_enums.txt +++ b/crates/ra_syntax/tests/data/parser/ok/0019_enums.txt @@ -1,155 +1,155 @@ SOURCE_FILE@[0; 182) ENUM_DEF@[0; 11) - ENUM_KW@[0; 4) - WHITESPACE@[4; 5) + ENUM_KW@[0; 4) "enum" + WHITESPACE@[4; 5) " " NAME@[5; 7) IDENT@[5; 7) "E1" - WHITESPACE@[7; 8) + WHITESPACE@[7; 8) " " ENUM_VARIANT_LIST@[8; 11) - L_CURLY@[8; 9) - WHITESPACE@[9; 10) - R_CURLY@[10; 11) - WHITESPACE@[11; 13) + L_CURLY@[8; 9) "{" + WHITESPACE@[9; 10) "\n" + R_CURLY@[10; 11) "}" + WHITESPACE@[11; 13) "\n\n" ENUM_DEF@[13; 27) - ENUM_KW@[13; 17) - WHITESPACE@[17; 18) + ENUM_KW@[13; 17) "enum" + WHITESPACE@[17; 18) " " NAME@[18; 20) IDENT@[18; 20) "E2" TYPE_PARAM_LIST@[20; 23) - L_ANGLE@[20; 21) + L_ANGLE@[20; 21) "<" TYPE_PARAM@[21; 22) NAME@[21; 22) IDENT@[21; 22) "T" - R_ANGLE@[22; 23) - WHITESPACE@[23; 24) + R_ANGLE@[22; 23) ">" + WHITESPACE@[23; 24) " " ENUM_VARIANT_LIST@[24; 27) - L_CURLY@[24; 25) - WHITESPACE@[25; 26) - R_CURLY@[26; 27) - WHITESPACE@[27; 29) + L_CURLY@[24; 25) "{" + WHITESPACE@[25; 26) "\n" + R_CURLY@[26; 27) "}" + WHITESPACE@[27; 29) "\n\n" ENUM_DEF@[29; 46) - ENUM_KW@[29; 33) - WHITESPACE@[33; 34) + ENUM_KW@[29; 33) "enum" + WHITESPACE@[33; 34) " " NAME@[34; 36) IDENT@[34; 36) "E3" - WHITESPACE@[36; 37) + WHITESPACE@[36; 37) " " ENUM_VARIANT_LIST@[37; 46) - L_CURLY@[37; 38) - WHITESPACE@[38; 43) + L_CURLY@[37; 38) "{" + WHITESPACE@[38; 43) "\n " ENUM_VARIANT@[43; 44) NAME@[43; 44) IDENT@[43; 44) "X" - WHITESPACE@[44; 45) - R_CURLY@[45; 46) - WHITESPACE@[46; 48) + WHITESPACE@[44; 45) "\n" + R_CURLY@[45; 46) "}" + WHITESPACE@[46; 48) "\n\n" ENUM_DEF@[48; 66) - ENUM_KW@[48; 52) - WHITESPACE@[52; 53) + ENUM_KW@[48; 52) "enum" + WHITESPACE@[52; 53) " " NAME@[53; 55) IDENT@[53; 55) "E4" - WHITESPACE@[55; 56) + WHITESPACE@[55; 56) " " ENUM_VARIANT_LIST@[56; 66) - L_CURLY@[56; 57) - WHITESPACE@[57; 62) + L_CURLY@[56; 57) "{" + WHITESPACE@[57; 62) "\n " ENUM_VARIANT@[62; 63) NAME@[62; 63) IDENT@[62; 63) "X" - COMMA@[63; 64) - WHITESPACE@[64; 65) - R_CURLY@[65; 66) - WHITESPACE@[66; 68) + COMMA@[63; 64) "," + WHITESPACE@[64; 65) "\n" + R_CURLY@[65; 66) "}" + WHITESPACE@[66; 68) "\n\n" ENUM_DEF@[68; 181) - ENUM_KW@[68; 72) - WHITESPACE@[72; 73) + ENUM_KW@[68; 72) "enum" + WHITESPACE@[72; 73) " " NAME@[73; 75) IDENT@[73; 75) "E5" - WHITESPACE@[75; 76) + WHITESPACE@[75; 76) " " ENUM_VARIANT_LIST@[76; 181) - L_CURLY@[76; 77) - WHITESPACE@[77; 82) + L_CURLY@[76; 77) "{" + WHITESPACE@[77; 82) "\n " ENUM_VARIANT@[82; 83) NAME@[82; 83) IDENT@[82; 83) "A" - COMMA@[83; 84) - WHITESPACE@[84; 89) + COMMA@[83; 84) "," + WHITESPACE@[84; 89) "\n " ENUM_VARIANT@[89; 95) NAME@[89; 90) IDENT@[89; 90) "B" - WHITESPACE@[90; 91) - EQ@[91; 92) - WHITESPACE@[92; 93) + WHITESPACE@[90; 91) " " + EQ@[91; 92) "=" + WHITESPACE@[92; 93) " " LITERAL@[93; 95) INT_NUMBER@[93; 95) "92" - COMMA@[95; 96) - WHITESPACE@[96; 101) + COMMA@[95; 96) "," + WHITESPACE@[96; 101) "\n " ENUM_VARIANT@[101; 146) NAME@[101; 102) IDENT@[101; 102) "C" - WHITESPACE@[102; 103) + WHITESPACE@[102; 103) " " NAMED_FIELD_DEF_LIST@[103; 146) - L_CURLY@[103; 104) - WHITESPACE@[104; 113) + L_CURLY@[103; 104) "{" + WHITESPACE@[104; 113) "\n " NAMED_FIELD_DEF@[113; 119) NAME@[113; 114) IDENT@[113; 114) "a" - COLON@[114; 115) - WHITESPACE@[115; 116) + COLON@[114; 115) ":" + WHITESPACE@[115; 116) " " PATH_TYPE@[116; 119) PATH@[116; 119) PATH_SEGMENT@[116; 119) NAME_REF@[116; 119) IDENT@[116; 119) "u32" - COMMA@[119; 120) - WHITESPACE@[120; 129) + COMMA@[119; 120) "," + WHITESPACE@[120; 129) "\n " NAMED_FIELD_DEF@[129; 139) VISIBILITY@[129; 132) - PUB_KW@[129; 132) - WHITESPACE@[132; 133) + PUB_KW@[129; 132) "pub" + WHITESPACE@[132; 133) " " NAME@[133; 134) IDENT@[133; 134) "b" - COLON@[134; 135) - WHITESPACE@[135; 136) + COLON@[134; 135) ":" + WHITESPACE@[135; 136) " " PATH_TYPE@[136; 139) PATH@[136; 139) PATH_SEGMENT@[136; 139) NAME_REF@[136; 139) IDENT@[136; 139) "f64" - COMMA@[139; 140) - WHITESPACE@[140; 145) - R_CURLY@[145; 146) - COMMA@[146; 147) - WHITESPACE@[147; 152) + COMMA@[139; 140) "," + WHITESPACE@[140; 145) "\n " + R_CURLY@[145; 146) "}" + COMMA@[146; 147) "," + WHITESPACE@[147; 152) "\n " ENUM_VARIANT@[152; 156) NAME@[152; 153) IDENT@[152; 153) "F" - WHITESPACE@[153; 154) + WHITESPACE@[153; 154) " " NAMED_FIELD_DEF_LIST@[154; 156) - L_CURLY@[154; 155) - R_CURLY@[155; 156) - COMMA@[156; 157) - WHITESPACE@[157; 162) + L_CURLY@[154; 155) "{" + R_CURLY@[155; 156) "}" + COMMA@[156; 157) "," + WHITESPACE@[157; 162) "\n " ENUM_VARIANT@[162; 169) NAME@[162; 163) IDENT@[162; 163) "D" POS_FIELD_DEF_LIST@[163; 169) - L_PAREN@[163; 164) + L_PAREN@[163; 164) "(" POS_FIELD_DEF@[164; 167) PATH_TYPE@[164; 167) PATH@[164; 167) PATH_SEGMENT@[164; 167) NAME_REF@[164; 167) IDENT@[164; 167) "u32" - COMMA@[167; 168) - R_PAREN@[168; 169) - COMMA@[169; 170) - WHITESPACE@[170; 175) + COMMA@[167; 168) "," + R_PAREN@[168; 169) ")" + COMMA@[169; 170) "," + WHITESPACE@[170; 175) "\n " ENUM_VARIANT@[175; 178) NAME@[175; 176) IDENT@[175; 176) "E" POS_FIELD_DEF_LIST@[176; 178) - L_PAREN@[176; 177) - R_PAREN@[177; 178) - COMMA@[178; 179) - WHITESPACE@[179; 180) - R_CURLY@[180; 181) - WHITESPACE@[181; 182) + L_PAREN@[176; 177) "(" + R_PAREN@[177; 178) ")" + COMMA@[178; 179) "," + WHITESPACE@[179; 180) "\n" + R_CURLY@[180; 181) "}" + WHITESPACE@[181; 182) "\n" diff --git a/crates/ra_syntax/tests/data/parser/ok/0020_type_param_bounds.txt b/crates/ra_syntax/tests/data/parser/ok/0020_type_param_bounds.txt index 04aaca4c4..18a5fd784 100644 --- a/crates/ra_syntax/tests/data/parser/ok/0020_type_param_bounds.txt +++ b/crates/ra_syntax/tests/data/parser/ok/0020_type_param_bounds.txt @@ -1,139 +1,139 @@ SOURCE_FILE@[0; 250) STRUCT_DEF@[0; 12) - STRUCT_KW@[0; 6) - WHITESPACE@[6; 7) + STRUCT_KW@[0; 6) "struct" + WHITESPACE@[6; 7) " " NAME@[7; 8) IDENT@[7; 8) "A" TYPE_PARAM_LIST@[8; 11) - L_ANGLE@[8; 9) + L_ANGLE@[8; 9) "<" TYPE_PARAM@[9; 10) NAME@[9; 10) IDENT@[9; 10) "T" - R_ANGLE@[10; 11) - SEMI@[11; 12) - WHITESPACE@[12; 13) + R_ANGLE@[10; 11) ">" + SEMI@[11; 12) ";" + WHITESPACE@[12; 13) "\n" STRUCT_DEF@[13; 26) - STRUCT_KW@[13; 19) - WHITESPACE@[19; 20) + STRUCT_KW@[13; 19) "struct" + WHITESPACE@[19; 20) " " NAME@[20; 21) IDENT@[20; 21) "B" TYPE_PARAM_LIST@[21; 25) - L_ANGLE@[21; 22) + L_ANGLE@[21; 22) "<" TYPE_PARAM@[22; 24) NAME@[22; 23) IDENT@[22; 23) "T" - COLON@[23; 24) + COLON@[23; 24) ":" TYPE_BOUND_LIST@[24; 24) - R_ANGLE@[24; 25) - SEMI@[25; 26) - WHITESPACE@[26; 27) + R_ANGLE@[24; 25) ">" + SEMI@[25; 26) ";" + WHITESPACE@[26; 27) "\n" STRUCT_DEF@[27; 43) - STRUCT_KW@[27; 33) - WHITESPACE@[33; 34) + STRUCT_KW@[27; 33) "struct" + WHITESPACE@[33; 34) " " NAME@[34; 35) IDENT@[34; 35) "C" TYPE_PARAM_LIST@[35; 42) - L_ANGLE@[35; 36) + L_ANGLE@[35; 36) "<" TYPE_PARAM@[36; 41) NAME@[36; 37) IDENT@[36; 37) "T" - COLON@[37; 38) - WHITESPACE@[38; 39) + COLON@[37; 38) ":" + WHITESPACE@[38; 39) " " TYPE_BOUND_LIST@[39; 41) TYPE_BOUND@[39; 41) - LIFETIME@[39; 41) "'a" - R_ANGLE@[41; 42) - SEMI@[42; 43) - WHITESPACE@[43; 44) + LIFETIME@[39; 41) "\'a" + R_ANGLE@[41; 42) ">" + SEMI@[42; 43) ";" + WHITESPACE@[43; 44) "\n" STRUCT_DEF@[44; 63) - STRUCT_KW@[44; 50) - WHITESPACE@[50; 51) + STRUCT_KW@[44; 50) "struct" + WHITESPACE@[50; 51) " " NAME@[51; 52) IDENT@[51; 52) "D" TYPE_PARAM_LIST@[52; 62) - L_ANGLE@[52; 53) + L_ANGLE@[52; 53) "<" TYPE_PARAM@[53; 60) NAME@[53; 54) IDENT@[53; 54) "T" - COLON@[54; 55) - WHITESPACE@[55; 56) + COLON@[54; 55) ":" + WHITESPACE@[55; 56) " " TYPE_BOUND_LIST@[56; 60) TYPE_BOUND@[56; 58) - LIFETIME@[56; 58) "'a" - WHITESPACE@[58; 59) - PLUS@[59; 60) - WHITESPACE@[60; 61) - R_ANGLE@[61; 62) - SEMI@[62; 63) - WHITESPACE@[63; 64) + LIFETIME@[56; 58) "\'a" + WHITESPACE@[58; 59) " " + PLUS@[59; 60) "+" + WHITESPACE@[60; 61) " " + R_ANGLE@[61; 62) ">" + SEMI@[62; 63) ";" + WHITESPACE@[63; 64) "\n" STRUCT_DEF@[64; 86) - STRUCT_KW@[64; 70) - WHITESPACE@[70; 71) + STRUCT_KW@[64; 70) "struct" + WHITESPACE@[70; 71) " " NAME@[71; 72) IDENT@[71; 72) "E" TYPE_PARAM_LIST@[72; 85) - L_ANGLE@[72; 73) + L_ANGLE@[72; 73) "<" TYPE_PARAM@[73; 83) NAME@[73; 74) IDENT@[73; 74) "T" - COLON@[74; 75) - WHITESPACE@[75; 76) + COLON@[74; 75) ":" + WHITESPACE@[75; 76) " " TYPE_BOUND_LIST@[76; 83) TYPE_BOUND@[76; 78) - LIFETIME@[76; 78) "'a" - WHITESPACE@[78; 79) - PLUS@[79; 80) - WHITESPACE@[80; 81) + LIFETIME@[76; 78) "\'a" + WHITESPACE@[78; 79) " " + PLUS@[79; 80) "+" + WHITESPACE@[80; 81) " " TYPE_BOUND@[81; 83) - LIFETIME@[81; 83) "'d" - WHITESPACE@[83; 84) - R_ANGLE@[84; 85) - SEMI@[85; 86) - WHITESPACE@[86; 87) + LIFETIME@[81; 83) "\'d" + WHITESPACE@[83; 84) " " + R_ANGLE@[84; 85) ">" + SEMI@[85; 86) ";" + WHITESPACE@[86; 87) "\n" STRUCT_DEF@[87; 116) - STRUCT_KW@[87; 93) - WHITESPACE@[93; 94) + STRUCT_KW@[87; 93) "struct" + WHITESPACE@[93; 94) " " NAME@[94; 95) IDENT@[94; 95) "F" TYPE_PARAM_LIST@[95; 115) - L_ANGLE@[95; 96) + L_ANGLE@[95; 96) "<" TYPE_PARAM@[96; 114) NAME@[96; 97) IDENT@[96; 97) "T" - COLON@[97; 98) - WHITESPACE@[98; 99) + COLON@[97; 98) ":" + WHITESPACE@[98; 99) " " TYPE_BOUND_LIST@[99; 114) TYPE_BOUND@[99; 101) - LIFETIME@[99; 101) "'a" - WHITESPACE@[101; 102) - PLUS@[102; 103) - WHITESPACE@[103; 104) + LIFETIME@[99; 101) "\'a" + WHITESPACE@[101; 102) " " + PLUS@[102; 103) "+" + WHITESPACE@[103; 104) " " TYPE_BOUND@[104; 106) - LIFETIME@[104; 106) "'d" - WHITESPACE@[106; 107) - PLUS@[107; 108) - WHITESPACE@[108; 109) + LIFETIME@[104; 106) "\'d" + WHITESPACE@[106; 107) " " + PLUS@[107; 108) "+" + WHITESPACE@[108; 109) " " TYPE_BOUND@[109; 114) PATH_TYPE@[109; 114) PATH@[109; 114) PATH_SEGMENT@[109; 114) NAME_REF@[109; 114) IDENT@[109; 114) "Clone" - R_ANGLE@[114; 115) - SEMI@[115; 116) - WHITESPACE@[116; 117) + R_ANGLE@[114; 115) ">" + SEMI@[115; 116) ";" + WHITESPACE@[116; 117) "\n" STRUCT_DEF@[117; 143) - STRUCT_KW@[117; 123) - WHITESPACE@[123; 124) + STRUCT_KW@[117; 123) "struct" + WHITESPACE@[123; 124) " " NAME@[124; 125) IDENT@[124; 125) "G" TYPE_PARAM_LIST@[125; 142) - L_ANGLE@[125; 126) + L_ANGLE@[125; 126) "<" TYPE_PARAM@[126; 141) NAME@[126; 127) IDENT@[126; 127) "T" - COLON@[127; 128) - WHITESPACE@[128; 129) + COLON@[127; 128) ":" + WHITESPACE@[128; 129) " " TYPE_BOUND_LIST@[129; 141) TYPE_BOUND@[129; 134) PATH_TYPE@[129; 134) @@ -141,128 +141,128 @@ SOURCE_FILE@[0; 250) PATH_SEGMENT@[129; 134) NAME_REF@[129; 134) IDENT@[129; 134) "Clone" - WHITESPACE@[134; 135) - PLUS@[135; 136) - WHITESPACE@[136; 137) + WHITESPACE@[134; 135) " " + PLUS@[135; 136) "+" + WHITESPACE@[136; 137) " " TYPE_BOUND@[137; 141) PATH_TYPE@[137; 141) PATH@[137; 141) PATH_SEGMENT@[137; 141) NAME_REF@[137; 141) IDENT@[137; 141) "Copy" - R_ANGLE@[141; 142) - SEMI@[142; 143) - WHITESPACE@[143; 144) + R_ANGLE@[141; 142) ">" + SEMI@[142; 143) ";" + WHITESPACE@[143; 144) "\n" STRUCT_DEF@[144; 180) - STRUCT_KW@[144; 150) - WHITESPACE@[150; 151) + STRUCT_KW@[144; 150) "struct" + WHITESPACE@[150; 151) " " NAME@[151; 152) IDENT@[151; 152) "H" TYPE_PARAM_LIST@[152; 179) - L_ANGLE@[152; 153) + L_ANGLE@[152; 153) "<" TYPE_PARAM@[153; 178) NAME@[153; 154) IDENT@[153; 154) "T" - COLON@[154; 155) - WHITESPACE@[155; 156) + COLON@[154; 155) ":" + WHITESPACE@[155; 156) " " TYPE_BOUND_LIST@[156; 178) TYPE_BOUND@[156; 161) PATH_TYPE@[156; 161) PATH@[156; 161) PATH_SEGMENT@[156; 161) - COLONCOLON@[156; 158) + COLONCOLON@[156; 158) "::" NAME_REF@[158; 161) IDENT@[158; 161) "Foo" - WHITESPACE@[161; 162) - PLUS@[162; 163) - WHITESPACE@[163; 164) + WHITESPACE@[161; 162) " " + PLUS@[162; 163) "+" + WHITESPACE@[163; 164) " " TYPE_BOUND@[164; 173) PATH_TYPE@[164; 173) PATH@[164; 173) PATH@[164; 168) PATH_SEGMENT@[164; 168) - SELF_KW@[164; 168) - COLONCOLON@[168; 170) + SELF_KW@[164; 168) "self" + COLONCOLON@[168; 170) "::" PATH_SEGMENT@[170; 173) NAME_REF@[170; 173) IDENT@[170; 173) "Bar" - WHITESPACE@[173; 174) - PLUS@[174; 175) - WHITESPACE@[175; 176) + WHITESPACE@[173; 174) " " + PLUS@[174; 175) "+" + WHITESPACE@[175; 176) " " TYPE_BOUND@[176; 178) - LIFETIME@[176; 178) "'a" - R_ANGLE@[178; 179) - SEMI@[179; 180) - WHITESPACE@[180; 181) + LIFETIME@[176; 178) "\'a" + R_ANGLE@[178; 179) ">" + SEMI@[179; 180) ";" + WHITESPACE@[180; 181) "\n" STRUCT_DEF@[181; 199) - STRUCT_KW@[181; 187) - WHITESPACE@[187; 188) + STRUCT_KW@[181; 187) "struct" + WHITESPACE@[187; 188) " " NAME@[188; 189) IDENT@[188; 189) "I" TYPE_PARAM_LIST@[189; 198) - L_ANGLE@[189; 190) + L_ANGLE@[189; 190) "<" TYPE_PARAM@[190; 192) NAME@[190; 191) IDENT@[190; 191) "T" - COLON@[191; 192) + COLON@[191; 192) ":" TYPE_BOUND_LIST@[192; 192) - COMMA@[192; 193) - WHITESPACE@[193; 194) + COMMA@[192; 193) "," + WHITESPACE@[193; 194) " " TYPE_PARAM@[194; 196) NAME@[194; 195) IDENT@[194; 195) "U" - COLON@[195; 196) + COLON@[195; 196) ":" TYPE_BOUND_LIST@[196; 196) - COMMA@[196; 197) - R_ANGLE@[197; 198) - SEMI@[198; 199) - WHITESPACE@[199; 200) + COMMA@[196; 197) "," + R_ANGLE@[197; 198) ">" + SEMI@[198; 199) ";" + WHITESPACE@[199; 200) "\n" STRUCT_DEF@[200; 250) - STRUCT_KW@[200; 206) - WHITESPACE@[206; 207) + STRUCT_KW@[200; 206) "struct" + WHITESPACE@[206; 207) " " NAME@[207; 208) IDENT@[207; 208) "K" TYPE_PARAM_LIST@[208; 249) - L_ANGLE@[208; 209) + L_ANGLE@[208; 209) "<" LIFETIME_PARAM@[209; 215) - LIFETIME@[209; 211) "'a" - COLON@[211; 212) - WHITESPACE@[212; 213) - LIFETIME@[213; 215) "'d" - COMMA@[215; 216) - WHITESPACE@[216; 217) + LIFETIME@[209; 211) "\'a" + COLON@[211; 212) ":" + WHITESPACE@[212; 213) " " + LIFETIME@[213; 215) "\'d" + COMMA@[215; 216) "," + WHITESPACE@[216; 217) " " LIFETIME_PARAM@[217; 228) - LIFETIME@[217; 219) "'d" - COLON@[219; 220) - WHITESPACE@[220; 221) - LIFETIME@[221; 223) "'a" - WHITESPACE@[223; 224) - PLUS@[224; 225) - WHITESPACE@[225; 226) - LIFETIME@[226; 228) "'b" - COMMA@[228; 229) - WHITESPACE@[229; 230) + LIFETIME@[217; 219) "\'d" + COLON@[219; 220) ":" + WHITESPACE@[220; 221) " " + LIFETIME@[221; 223) "\'a" + WHITESPACE@[223; 224) " " + PLUS@[224; 225) "+" + WHITESPACE@[225; 226) " " + LIFETIME@[226; 228) "\'b" + COMMA@[228; 229) "," + WHITESPACE@[229; 230) " " TYPE_PARAM@[230; 248) NAME@[230; 231) IDENT@[230; 231) "T" - COLON@[231; 232) - WHITESPACE@[232; 233) + COLON@[231; 232) ":" + WHITESPACE@[232; 233) " " TYPE_BOUND_LIST@[233; 248) TYPE_BOUND@[233; 235) - LIFETIME@[233; 235) "'a" - WHITESPACE@[235; 236) - PLUS@[236; 237) - WHITESPACE@[237; 238) + LIFETIME@[233; 235) "\'a" + WHITESPACE@[235; 236) " " + PLUS@[236; 237) "+" + WHITESPACE@[237; 238) " " TYPE_BOUND@[238; 240) - LIFETIME@[238; 240) "'d" - WHITESPACE@[240; 241) - PLUS@[241; 242) - WHITESPACE@[242; 243) + LIFETIME@[238; 240) "\'d" + WHITESPACE@[240; 241) " " + PLUS@[241; 242) "+" + WHITESPACE@[242; 243) " " TYPE_BOUND@[243; 248) PATH_TYPE@[243; 248) PATH@[243; 248) PATH_SEGMENT@[243; 248) NAME_REF@[243; 248) IDENT@[243; 248) "Clone" - R_ANGLE@[248; 249) - SEMI@[249; 250) + R_ANGLE@[248; 249) ">" + SEMI@[249; 250) ";" diff --git a/crates/ra_syntax/tests/data/parser/ok/0021_extern_fn.txt b/crates/ra_syntax/tests/data/parser/ok/0021_extern_fn.txt index 6644d6ca2..a4e75ec75 100644 --- a/crates/ra_syntax/tests/data/parser/ok/0021_extern_fn.txt +++ b/crates/ra_syntax/tests/data/parser/ok/0021_extern_fn.txt @@ -1,56 +1,56 @@ SOURCE_FILE@[0; 71) FN_DEF@[0; 19) ABI@[0; 6) - EXTERN_KW@[0; 6) - WHITESPACE@[6; 7) - FN_KW@[7; 9) - WHITESPACE@[9; 10) + EXTERN_KW@[0; 6) "extern" + WHITESPACE@[6; 7) " " + FN_KW@[7; 9) "fn" + WHITESPACE@[9; 10) " " NAME@[10; 13) IDENT@[10; 13) "foo" PARAM_LIST@[13; 15) - L_PAREN@[13; 14) - R_PAREN@[14; 15) - WHITESPACE@[15; 16) + L_PAREN@[13; 14) "(" + R_PAREN@[14; 15) ")" + WHITESPACE@[15; 16) " " BLOCK@[16; 19) - L_CURLY@[16; 17) - WHITESPACE@[17; 18) - R_CURLY@[18; 19) - WHITESPACE@[19; 21) + L_CURLY@[16; 17) "{" + WHITESPACE@[17; 18) "\n" + R_CURLY@[18; 19) "}" + WHITESPACE@[19; 21) "\n\n" FN_DEF@[21; 44) ABI@[21; 31) - EXTERN_KW@[21; 27) - WHITESPACE@[27; 28) - STRING@[28; 31) - WHITESPACE@[31; 32) - FN_KW@[32; 34) - WHITESPACE@[34; 35) + EXTERN_KW@[21; 27) "extern" + WHITESPACE@[27; 28) " " + STRING@[28; 31) "\"C\"" + WHITESPACE@[31; 32) " " + FN_KW@[32; 34) "fn" + WHITESPACE@[34; 35) " " NAME@[35; 38) IDENT@[35; 38) "bar" PARAM_LIST@[38; 40) - L_PAREN@[38; 39) - R_PAREN@[39; 40) - WHITESPACE@[40; 41) + L_PAREN@[38; 39) "(" + R_PAREN@[39; 40) ")" + WHITESPACE@[40; 41) " " BLOCK@[41; 44) - L_CURLY@[41; 42) - WHITESPACE@[42; 43) - R_CURLY@[43; 44) - WHITESPACE@[44; 46) + L_CURLY@[41; 42) "{" + WHITESPACE@[42; 43) "\n" + R_CURLY@[43; 44) "}" + WHITESPACE@[44; 46) "\n\n" FN_DEF@[46; 70) ABI@[46; 57) - EXTERN_KW@[46; 52) - WHITESPACE@[52; 53) - RAW_STRING@[53; 57) - WHITESPACE@[57; 58) - FN_KW@[58; 60) - WHITESPACE@[60; 61) + EXTERN_KW@[46; 52) "extern" + WHITESPACE@[52; 53) " " + RAW_STRING@[53; 57) "r\"D\"" + WHITESPACE@[57; 58) " " + FN_KW@[58; 60) "fn" + WHITESPACE@[60; 61) " " NAME@[61; 64) IDENT@[61; 64) "baz" PARAM_LIST@[64; 66) - L_PAREN@[64; 65) - R_PAREN@[65; 66) - WHITESPACE@[66; 67) + L_PAREN@[64; 65) "(" + R_PAREN@[65; 66) ")" + WHITESPACE@[66; 67) " " BLOCK@[67; 70) - L_CURLY@[67; 68) - WHITESPACE@[68; 69) - R_CURLY@[69; 70) - WHITESPACE@[70; 71) + L_CURLY@[67; 68) "{" + WHITESPACE@[68; 69) "\n" + R_CURLY@[69; 70) "}" + WHITESPACE@[70; 71) "\n" diff --git a/crates/ra_syntax/tests/data/parser/ok/0022_empty_extern_block.txt b/crates/ra_syntax/tests/data/parser/ok/0022_empty_extern_block.txt index 8f044e0b1..bbbd95fd9 100644 --- a/crates/ra_syntax/tests/data/parser/ok/0022_empty_extern_block.txt +++ b/crates/ra_syntax/tests/data/parser/ok/0022_empty_extern_block.txt @@ -1,21 +1,21 @@ SOURCE_FILE@[0; 27) EXTERN_BLOCK@[0; 10) ABI@[0; 6) - EXTERN_KW@[0; 6) - WHITESPACE@[6; 7) + EXTERN_KW@[0; 6) "extern" + WHITESPACE@[6; 7) " " EXTERN_ITEM_LIST@[7; 10) - L_CURLY@[7; 8) - WHITESPACE@[8; 9) - R_CURLY@[9; 10) - WHITESPACE@[10; 12) + L_CURLY@[7; 8) "{" + WHITESPACE@[8; 9) "\n" + R_CURLY@[9; 10) "}" + WHITESPACE@[10; 12) "\n\n" EXTERN_BLOCK@[12; 26) ABI@[12; 22) - EXTERN_KW@[12; 18) - WHITESPACE@[18; 19) - STRING@[19; 22) - WHITESPACE@[22; 23) + EXTERN_KW@[12; 18) "extern" + WHITESPACE@[18; 19) " " + STRING@[19; 22) "\"C\"" + WHITESPACE@[22; 23) " " EXTERN_ITEM_LIST@[23; 26) - L_CURLY@[23; 24) - WHITESPACE@[24; 25) - R_CURLY@[25; 26) - WHITESPACE@[26; 27) + L_CURLY@[23; 24) "{" + WHITESPACE@[24; 25) "\n" + R_CURLY@[25; 26) "}" + WHITESPACE@[26; 27) "\n" diff --git a/crates/ra_syntax/tests/data/parser/ok/0023_static_items.txt b/crates/ra_syntax/tests/data/parser/ok/0023_static_items.txt index f7b107d1d..5591f95eb 100644 --- a/crates/ra_syntax/tests/data/parser/ok/0023_static_items.txt +++ b/crates/ra_syntax/tests/data/parser/ok/0023_static_items.txt @@ -1,41 +1,41 @@ SOURCE_FILE@[0; 47) STATIC_DEF@[0; 20) - STATIC_KW@[0; 6) - WHITESPACE@[6; 7) + STATIC_KW@[0; 6) "static" + WHITESPACE@[6; 7) " " NAME@[7; 10) IDENT@[7; 10) "FOO" - COLON@[10; 11) - WHITESPACE@[11; 12) + COLON@[10; 11) ":" + WHITESPACE@[11; 12) " " PATH_TYPE@[12; 15) PATH@[12; 15) PATH_SEGMENT@[12; 15) NAME_REF@[12; 15) IDENT@[12; 15) "u32" - WHITESPACE@[15; 16) - EQ@[16; 17) - WHITESPACE@[17; 18) + WHITESPACE@[15; 16) " " + EQ@[16; 17) "=" + WHITESPACE@[17; 18) " " LITERAL@[18; 19) INT_NUMBER@[18; 19) "1" - SEMI@[19; 20) - WHITESPACE@[20; 21) + SEMI@[19; 20) ";" + WHITESPACE@[20; 21) "\n" STATIC_DEF@[21; 46) - STATIC_KW@[21; 27) - WHITESPACE@[27; 28) - MUT_KW@[28; 31) - WHITESPACE@[31; 32) + STATIC_KW@[21; 27) "static" + WHITESPACE@[27; 28) " " + MUT_KW@[28; 31) "mut" + WHITESPACE@[31; 32) " " NAME@[32; 35) IDENT@[32; 35) "BAR" - COLON@[35; 36) - WHITESPACE@[36; 37) + COLON@[35; 36) ":" + WHITESPACE@[36; 37) " " PATH_TYPE@[37; 40) PATH@[37; 40) PATH_SEGMENT@[37; 40) NAME_REF@[37; 40) IDENT@[37; 40) "i32" - WHITESPACE@[40; 41) - EQ@[41; 42) - WHITESPACE@[42; 43) + WHITESPACE@[40; 41) " " + EQ@[41; 42) "=" + WHITESPACE@[42; 43) " " LITERAL@[43; 45) INT_NUMBER@[43; 45) "92" - SEMI@[45; 46) - WHITESPACE@[46; 47) + SEMI@[45; 46) ";" + WHITESPACE@[46; 47) "\n" diff --git a/crates/ra_syntax/tests/data/parser/ok/0024_const_item.txt b/crates/ra_syntax/tests/data/parser/ok/0024_const_item.txt index 9cebc4673..dea8a3a97 100644 --- a/crates/ra_syntax/tests/data/parser/ok/0024_const_item.txt +++ b/crates/ra_syntax/tests/data/parser/ok/0024_const_item.txt @@ -1,41 +1,41 @@ SOURCE_FILE@[0; 46) CONST_DEF@[0; 20) - CONST_KW@[0; 5) - WHITESPACE@[5; 6) + CONST_KW@[0; 5) "const" + WHITESPACE@[5; 6) " " NAME@[6; 9) IDENT@[6; 9) "FOO" - COLON@[9; 10) - WHITESPACE@[10; 11) + COLON@[9; 10) ":" + WHITESPACE@[10; 11) " " PATH_TYPE@[11; 14) PATH@[11; 14) PATH_SEGMENT@[11; 14) NAME_REF@[11; 14) IDENT@[11; 14) "u32" - WHITESPACE@[14; 15) - EQ@[15; 16) - WHITESPACE@[16; 17) + WHITESPACE@[14; 15) " " + EQ@[15; 16) "=" + WHITESPACE@[16; 17) " " LITERAL@[17; 19) INT_NUMBER@[17; 19) "92" - SEMI@[19; 20) - WHITESPACE@[20; 21) + SEMI@[19; 20) ";" + WHITESPACE@[20; 21) "\n" CONST_DEF@[21; 45) - CONST_KW@[21; 26) - WHITESPACE@[26; 27) - MUT_KW@[27; 30) - WHITESPACE@[30; 31) + CONST_KW@[21; 26) "const" + WHITESPACE@[26; 27) " " + MUT_KW@[27; 30) "mut" + WHITESPACE@[30; 31) " " NAME@[31; 34) IDENT@[31; 34) "BAR" - COLON@[34; 35) - WHITESPACE@[35; 36) + COLON@[34; 35) ":" + WHITESPACE@[35; 36) " " PATH_TYPE@[36; 39) PATH@[36; 39) PATH_SEGMENT@[36; 39) NAME_REF@[36; 39) IDENT@[36; 39) "u32" - WHITESPACE@[39; 40) - EQ@[40; 41) - WHITESPACE@[41; 42) + WHITESPACE@[39; 40) " " + EQ@[40; 41) "=" + WHITESPACE@[41; 42) " " LITERAL@[42; 44) INT_NUMBER@[42; 44) "62" - SEMI@[44; 45) - WHITESPACE@[45; 46) + SEMI@[44; 45) ";" + WHITESPACE@[45; 46) "\n" diff --git a/crates/ra_syntax/tests/data/parser/ok/0025_extern_fn_in_block.txt b/crates/ra_syntax/tests/data/parser/ok/0025_extern_fn_in_block.txt index e34ae9c65..a345f4bc2 100644 --- a/crates/ra_syntax/tests/data/parser/ok/0025_extern_fn_in_block.txt +++ b/crates/ra_syntax/tests/data/parser/ok/0025_extern_fn_in_block.txt @@ -1,31 +1,31 @@ SOURCE_FILE@[0; 35) FN_DEF@[0; 34) - FN_KW@[0; 2) - WHITESPACE@[2; 3) + FN_KW@[0; 2) "fn" + WHITESPACE@[2; 3) " " NAME@[3; 7) IDENT@[3; 7) "main" PARAM_LIST@[7; 9) - L_PAREN@[7; 8) - R_PAREN@[8; 9) - WHITESPACE@[9; 10) + L_PAREN@[7; 8) "(" + R_PAREN@[8; 9) ")" + WHITESPACE@[9; 10) " " BLOCK@[10; 34) - L_CURLY@[10; 11) - WHITESPACE@[11; 16) + L_CURLY@[10; 11) "{" + WHITESPACE@[11; 16) "\n " FN_DEF@[16; 32) ABI@[16; 22) - EXTERN_KW@[16; 22) - WHITESPACE@[22; 23) - FN_KW@[23; 25) - WHITESPACE@[25; 26) + 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) + L_PAREN@[27; 28) "(" + R_PAREN@[28; 29) ")" + WHITESPACE@[29; 30) " " BLOCK@[30; 32) - L_CURLY@[30; 31) - R_CURLY@[31; 32) - WHITESPACE@[32; 33) - R_CURLY@[33; 34) - WHITESPACE@[34; 35) + L_CURLY@[30; 31) "{" + R_CURLY@[31; 32) "}" + WHITESPACE@[32; 33) "\n" + R_CURLY@[33; 34) "}" + WHITESPACE@[34; 35) "\n" diff --git a/crates/ra_syntax/tests/data/parser/ok/0026_const_fn_in_block.txt b/crates/ra_syntax/tests/data/parser/ok/0026_const_fn_in_block.txt index 6837c05ff..cbcd15a00 100644 --- a/crates/ra_syntax/tests/data/parser/ok/0026_const_fn_in_block.txt +++ b/crates/ra_syntax/tests/data/parser/ok/0026_const_fn_in_block.txt @@ -1,30 +1,30 @@ SOURCE_FILE@[0; 34) FN_DEF@[0; 33) - FN_KW@[0; 2) - WHITESPACE@[2; 3) + FN_KW@[0; 2) "fn" + WHITESPACE@[2; 3) " " NAME@[3; 7) IDENT@[3; 7) "main" PARAM_LIST@[7; 9) - L_PAREN@[7; 8) - R_PAREN@[8; 9) - WHITESPACE@[9; 10) + L_PAREN@[7; 8) "(" + R_PAREN@[8; 9) ")" + WHITESPACE@[9; 10) " " BLOCK@[10; 33) - L_CURLY@[10; 11) - WHITESPACE@[11; 16) + L_CURLY@[10; 11) "{" + WHITESPACE@[11; 16) "\n " FN_DEF@[16; 31) - CONST_KW@[16; 21) - WHITESPACE@[21; 22) - FN_KW@[22; 24) - WHITESPACE@[24; 25) + 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) + L_PAREN@[26; 27) "(" + R_PAREN@[27; 28) ")" + WHITESPACE@[28; 29) " " BLOCK@[29; 31) - L_CURLY@[29; 30) - R_CURLY@[30; 31) - WHITESPACE@[31; 32) - R_CURLY@[32; 33) - WHITESPACE@[33; 34) + L_CURLY@[29; 30) "{" + R_CURLY@[30; 31) "}" + WHITESPACE@[31; 32) "\n" + R_CURLY@[32; 33) "}" + WHITESPACE@[33; 34) "\n" diff --git a/crates/ra_syntax/tests/data/parser/ok/0027_unsafe_fn_in_block.txt b/crates/ra_syntax/tests/data/parser/ok/0027_unsafe_fn_in_block.txt index fe1a1ccbf..f86375983 100644 --- a/crates/ra_syntax/tests/data/parser/ok/0027_unsafe_fn_in_block.txt +++ b/crates/ra_syntax/tests/data/parser/ok/0027_unsafe_fn_in_block.txt @@ -1,41 +1,41 @@ SOURCE_FILE@[0; 53) FN_DEF@[0; 52) - FN_KW@[0; 2) - WHITESPACE@[2; 3) + FN_KW@[0; 2) "fn" + WHITESPACE@[2; 3) " " NAME@[3; 7) IDENT@[3; 7) "main" PARAM_LIST@[7; 9) - L_PAREN@[7; 8) - R_PAREN@[8; 9) - WHITESPACE@[9; 10) + L_PAREN@[7; 8) "(" + R_PAREN@[8; 9) ")" + WHITESPACE@[9; 10) " " BLOCK@[10; 52) - L_CURLY@[10; 11) - WHITESPACE@[11; 16) + L_CURLY@[10; 11) "{" + WHITESPACE@[11; 16) "\n " FN_DEF@[16; 32) - UNSAFE_KW@[16; 22) - WHITESPACE@[22; 23) - FN_KW@[23; 25) - WHITESPACE@[25; 26) + 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) + L_PAREN@[27; 28) "(" + R_PAREN@[28; 29) ")" + WHITESPACE@[29; 30) " " BLOCK@[30; 32) - L_CURLY@[30; 31) - R_CURLY@[31; 32) - WHITESPACE@[32; 37) + L_CURLY@[30; 31) "{" + R_CURLY@[31; 32) "}" + WHITESPACE@[32; 37) "\n " BLOCK_EXPR@[37; 50) - UNSAFE_KW@[37; 43) - WHITESPACE@[43; 44) + UNSAFE_KW@[37; 43) "unsafe" + WHITESPACE@[43; 44) " " BLOCK@[44; 50) - L_CURLY@[44; 45) - WHITESPACE@[45; 46) + 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) - R_CURLY@[51; 52) - WHITESPACE@[52; 53) + WHITESPACE@[48; 49) " " + R_CURLY@[49; 50) "}" + WHITESPACE@[50; 51) "\n" + R_CURLY@[51; 52) "}" + WHITESPACE@[52; 53) "\n" diff --git a/crates/ra_syntax/tests/data/parser/ok/0028_operator_binding_power.txt b/crates/ra_syntax/tests/data/parser/ok/0028_operator_binding_power.txt index 1427e08fc..b0667643b 100644 --- a/crates/ra_syntax/tests/data/parser/ok/0028_operator_binding_power.txt +++ b/crates/ra_syntax/tests/data/parser/ok/0028_operator_binding_power.txt @@ -1,185 +1,185 @@ SOURCE_FILE@[0; 248) FN_DEF@[0; 247) - FN_KW@[0; 2) - WHITESPACE@[2; 3) + FN_KW@[0; 2) "fn" + WHITESPACE@[2; 3) " " NAME@[3; 16) IDENT@[3; 16) "binding_power" PARAM_LIST@[16; 18) - L_PAREN@[16; 17) - R_PAREN@[17; 18) - WHITESPACE@[18; 19) + L_PAREN@[16; 17) "(" + R_PAREN@[17; 18) ")" + WHITESPACE@[18; 19) " " BLOCK@[19; 247) - L_CURLY@[19; 20) - WHITESPACE@[20; 25) + L_CURLY@[19; 20) "{" + WHITESPACE@[20; 25) "\n " LET_STMT@[25; 55) - LET_KW@[25; 28) - WHITESPACE@[28; 29) + 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) + 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) + 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) + 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) + 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) + 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) + WHITESPACE@[50; 51) " " + SLASH@[51; 52) "/" + WHITESPACE@[52; 53) " " LITERAL@[53; 54) INT_NUMBER@[53; 54) "6" - SEMI@[54; 55) - WHITESPACE@[55; 60) + SEMI@[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) + 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) + WHITESPACE@[65; 66) " " + STAR@[66; 67) "*" + WHITESPACE@[67; 68) " " LITERAL@[68; 69) INT_NUMBER@[68; 69) "3" - SEMI@[69; 70) - WHITESPACE@[70; 75) + SEMI@[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) + 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) + WHITESPACE@[81; 82) " " + PLUS@[82; 83) "+" + WHITESPACE@[83; 84) " " LITERAL@[84; 85) INT_NUMBER@[84; 85) "3" - SEMI@[85; 86) - WHITESPACE@[86; 91) + SEMI@[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) + 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) + WHITESPACE@[96; 97) " " + SHR@[97; 99) ">>" + WHITESPACE@[99; 100) " " LITERAL@[100; 101) INT_NUMBER@[100; 101) "3" - SEMI@[101; 102) - WHITESPACE@[102; 107) + SEMI@[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) + 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) + WHITESPACE@[112; 113) " " + AMP@[113; 114) "&" + WHITESPACE@[114; 115) " " LITERAL@[115; 116) INT_NUMBER@[115; 116) "3" - SEMI@[116; 117) - WHITESPACE@[117; 122) + SEMI@[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) + 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) + WHITESPACE@[127; 128) " " + CARET@[128; 129) "^" + WHITESPACE@[129; 130) " " LITERAL@[130; 131) INT_NUMBER@[130; 131) "3" - SEMI@[131; 132) - WHITESPACE@[132; 137) + SEMI@[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) - EQEQ@[139; 141) - WHITESPACE@[141; 142) + WHITESPACE@[138; 139) " " + EQEQ@[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) + WHITESPACE@[143; 144) " " + PIPE@[144; 145) "|" + WHITESPACE@[145; 146) " " LITERAL@[146; 147) INT_NUMBER@[146; 147) "3" - SEMI@[147; 148) - WHITESPACE@[148; 153) + SEMI@[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) - AMPAMP@[155; 157) - WHITESPACE@[157; 158) + WHITESPACE@[154; 155) " " + AMPAMP@[155; 157) "&&" + WHITESPACE@[157; 158) " " BIN_EXPR@[158; 164) LITERAL@[158; 159) INT_NUMBER@[158; 159) "2" - WHITESPACE@[159; 160) - EQEQ@[160; 162) - WHITESPACE@[162; 163) + WHITESPACE@[159; 160) " " + EQEQ@[160; 162) "==" + WHITESPACE@[162; 163) " " LITERAL@[163; 164) INT_NUMBER@[163; 164) "3" - SEMI@[164; 165) - WHITESPACE@[165; 170) - COMMENT@[170; 184) - WHITESPACE@[184; 189) - COMMENT@[189; 203) - WHITESPACE@[203; 208) - COMMENT@[208; 221) - WHITESPACE@[221; 226) - COMMENT@[226; 245) - WHITESPACE@[245; 246) - R_CURLY@[246; 247) - WHITESPACE@[247; 248) + SEMI@[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" diff --git a/crates/ra_syntax/tests/data/parser/ok/0029_range_forms.txt b/crates/ra_syntax/tests/data/parser/ok/0029_range_forms.txt index e59542ba1..e4db98c88 100644 --- a/crates/ra_syntax/tests/data/parser/ok/0029_range_forms.txt +++ b/crates/ra_syntax/tests/data/parser/ok/0029_range_forms.txt @@ -1,45 +1,45 @@ SOURCE_FILE@[0; 153) FN_DEF@[0; 152) - FN_KW@[0; 2) - WHITESPACE@[2; 3) + FN_KW@[0; 2) "fn" + WHITESPACE@[2; 3) " " NAME@[3; 6) IDENT@[3; 6) "foo" PARAM_LIST@[6; 8) - L_PAREN@[6; 7) - R_PAREN@[7; 8) - WHITESPACE@[8; 9) + L_PAREN@[6; 7) "(" + R_PAREN@[7; 8) ")" + WHITESPACE@[8; 9) " " BLOCK@[9; 152) - L_CURLY@[9; 10) - WHITESPACE@[10; 15) + L_CURLY@[9; 10) "{" + WHITESPACE@[10; 15) "\n " EXPR_STMT@[15; 23) RANGE_EXPR@[15; 22) - DOTDOT@[15; 17) + DOTDOT@[15; 17) ".." BIN_EXPR@[17; 22) LITERAL@[17; 18) INT_NUMBER@[17; 18) "1" - WHITESPACE@[18; 19) - PLUS@[19; 20) - WHITESPACE@[20; 21) + WHITESPACE@[18; 19) " " + PLUS@[19; 20) "+" + WHITESPACE@[20; 21) " " LITERAL@[21; 22) INT_NUMBER@[21; 22) "1" - SEMI@[22; 23) - WHITESPACE@[23; 28) + SEMI@[22; 23) ";" + WHITESPACE@[23; 28) "\n " EXPR_STMT@[28; 36) BIN_EXPR@[28; 35) RANGE_EXPR@[28; 31) - DOTDOT@[28; 30) + DOTDOT@[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) + WHITESPACE@[31; 32) " " + EQ@[32; 33) "=" + WHITESPACE@[33; 34) " " LITERAL@[34; 35) INT_NUMBER@[34; 35) "2" - SEMI@[35; 36) - WHITESPACE@[36; 41) + SEMI@[35; 36) ";" + WHITESPACE@[36; 41) "\n " EXPR_STMT@[41; 59) BIN_EXPR@[41; 58) PATH_EXPR@[41; 42) @@ -47,67 +47,67 @@ SOURCE_FILE@[0; 153) PATH_SEGMENT@[41; 42) NAME_REF@[41; 42) IDENT@[41; 42) "x" - WHITESPACE@[42; 43) - EQ@[43; 44) - WHITESPACE@[44; 45) + WHITESPACE@[42; 43) " " + EQ@[43; 44) "=" + WHITESPACE@[44; 45) " " RANGE_EXPR@[45; 58) LITERAL@[45; 50) - FALSE_KW@[45; 50) - DOTDOT@[50; 52) + FALSE_KW@[45; 50) "false" + DOTDOT@[50; 52) ".." BIN_EXPR@[52; 58) LITERAL@[52; 53) INT_NUMBER@[52; 53) "1" - WHITESPACE@[53; 54) - EQEQ@[54; 56) - WHITESPACE@[56; 57) + WHITESPACE@[53; 54) " " + EQEQ@[54; 56) "==" + WHITESPACE@[56; 57) " " LITERAL@[57; 58) INT_NUMBER@[57; 58) "1" - SEMI@[58; 59) - WHITESPACE@[59; 64) + SEMI@[58; 59) ";" + WHITESPACE@[59; 64) "\n " LET_STMT@[64; 76) - LET_KW@[64; 67) - WHITESPACE@[67; 68) + 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) + WHITESPACE@[69; 70) " " + EQ@[70; 71) "=" + WHITESPACE@[71; 72) " " RANGE_EXPR@[72; 75) LITERAL@[72; 73) INT_NUMBER@[72; 73) "1" - DOTDOT@[73; 75) - SEMI@[75; 76) - WHITESPACE@[76; 86) + DOTDOT@[73; 75) ".." + SEMI@[75; 76) ";" + WHITESPACE@[76; 86) "\n \n " EXPR_STMT@[86; 95) RANGE_EXPR@[86; 94) - DOTDOTEQ@[86; 89) + DOTDOTEQ@[86; 89) "..=" BIN_EXPR@[89; 94) LITERAL@[89; 90) INT_NUMBER@[89; 90) "1" - WHITESPACE@[90; 91) - PLUS@[91; 92) - WHITESPACE@[92; 93) + WHITESPACE@[90; 91) " " + PLUS@[91; 92) "+" + WHITESPACE@[92; 93) " " LITERAL@[93; 94) INT_NUMBER@[93; 94) "1" - SEMI@[94; 95) - WHITESPACE@[95; 100) + SEMI@[94; 95) ";" + WHITESPACE@[95; 100) "\n " EXPR_STMT@[100; 109) BIN_EXPR@[100; 108) RANGE_EXPR@[100; 104) - DOTDOTEQ@[100; 103) + DOTDOTEQ@[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) + WHITESPACE@[104; 105) " " + EQ@[105; 106) "=" + WHITESPACE@[106; 107) " " LITERAL@[107; 108) INT_NUMBER@[107; 108) "2" - SEMI@[108; 109) - WHITESPACE@[109; 114) + SEMI@[108; 109) ";" + WHITESPACE@[109; 114) "\n " EXPR_STMT@[114; 133) BIN_EXPR@[114; 132) PATH_EXPR@[114; 115) @@ -115,37 +115,37 @@ SOURCE_FILE@[0; 153) PATH_SEGMENT@[114; 115) NAME_REF@[114; 115) IDENT@[114; 115) "x" - WHITESPACE@[115; 116) - EQ@[116; 117) - WHITESPACE@[117; 118) + WHITESPACE@[115; 116) " " + EQ@[116; 117) "=" + WHITESPACE@[117; 118) " " RANGE_EXPR@[118; 132) LITERAL@[118; 123) - FALSE_KW@[118; 123) - DOTDOTEQ@[123; 126) + FALSE_KW@[118; 123) "false" + DOTDOTEQ@[123; 126) "..=" BIN_EXPR@[126; 132) LITERAL@[126; 127) INT_NUMBER@[126; 127) "1" - WHITESPACE@[127; 128) - EQEQ@[128; 130) - WHITESPACE@[130; 131) + WHITESPACE@[127; 128) " " + EQEQ@[128; 130) "==" + WHITESPACE@[130; 131) " " LITERAL@[131; 132) INT_NUMBER@[131; 132) "1" - SEMI@[132; 133) - WHITESPACE@[133; 138) + SEMI@[132; 133) ";" + WHITESPACE@[133; 138) "\n " LET_STMT@[138; 150) - LET_KW@[138; 141) - WHITESPACE@[141; 142) + 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) + WHITESPACE@[143; 144) " " + EQ@[144; 145) "=" + WHITESPACE@[145; 146) " " RANGE_EXPR@[146; 149) LITERAL@[146; 147) INT_NUMBER@[146; 147) "1" - DOTDOT@[147; 149) - SEMI@[149; 150) - WHITESPACE@[150; 151) - R_CURLY@[151; 152) - WHITESPACE@[152; 153) + DOTDOT@[147; 149) ".." + SEMI@[149; 150) ";" + WHITESPACE@[150; 151) "\n" + R_CURLY@[151; 152) "}" + WHITESPACE@[152; 153) "\n" diff --git a/crates/ra_syntax/tests/data/parser/ok/0030_traits.txt b/crates/ra_syntax/tests/data/parser/ok/0030_traits.txt index b89f34884..b656c1a81 100644 --- a/crates/ra_syntax/tests/data/parser/ok/0030_traits.txt +++ b/crates/ra_syntax/tests/data/parser/ok/0030_traits.txt @@ -1,93 +1,93 @@ SOURCE_FILE@[0; 164) TRAIT_DEF@[0; 66) VISIBILITY@[0; 3) - PUB_KW@[0; 3) - WHITESPACE@[3; 4) - TRAIT_KW@[4; 9) - WHITESPACE@[9; 10) + PUB_KW@[0; 3) "pub" + WHITESPACE@[3; 4) " " + TRAIT_KW@[4; 9) "trait" + WHITESPACE@[9; 10) " " NAME@[10; 22) IDENT@[10; 22) "WriteMessage" - WHITESPACE@[22; 23) + WHITESPACE@[22; 23) " " ITEM_LIST@[23; 66) - L_CURLY@[23; 24) - WHITESPACE@[24; 29) + L_CURLY@[23; 24) "{" + WHITESPACE@[24; 29) "\n " FN_DEF@[29; 64) - FN_KW@[29; 31) - WHITESPACE@[31; 32) + FN_KW@[29; 31) "fn" + WHITESPACE@[31; 32) " " NAME@[32; 45) IDENT@[32; 45) "write_message" PARAM_LIST@[45; 63) - L_PAREN@[45; 46) + L_PAREN@[45; 46) "(" PARAM@[46; 62) REFERENCE_TYPE@[46; 62) - AMP@[46; 47) + AMP@[46; 47) "&" PATH_TYPE@[47; 62) PATH@[47; 62) PATH_SEGMENT@[47; 62) NAME_REF@[47; 62) IDENT@[47; 62) "FrontendMessage" - R_PAREN@[62; 63) - SEMI@[63; 64) - WHITESPACE@[64; 65) - R_CURLY@[65; 66) - WHITESPACE@[66; 68) + R_PAREN@[62; 63) ")" + SEMI@[63; 64) ";" + WHITESPACE@[64; 65) "\n" + R_CURLY@[65; 66) "}" + WHITESPACE@[66; 68) "\n\n" TRAIT_DEF@[68; 104) - TRAIT_KW@[68; 73) - WHITESPACE@[73; 74) + TRAIT_KW@[68; 73) "trait" + WHITESPACE@[73; 74) " " NAME@[74; 82) IDENT@[74; 82) "Runnable" - WHITESPACE@[82; 83) + WHITESPACE@[82; 83) " " ITEM_LIST@[83; 104) - L_CURLY@[83; 84) - WHITESPACE@[84; 89) + L_CURLY@[83; 84) "{" + WHITESPACE@[84; 89) "\n " FN_DEF@[89; 102) - FN_KW@[89; 91) - WHITESPACE@[91; 92) + FN_KW@[89; 91) "fn" + WHITESPACE@[91; 92) " " NAME@[92; 99) IDENT@[92; 99) "handler" PARAM_LIST@[99; 101) - L_PAREN@[99; 100) - R_PAREN@[100; 101) - SEMI@[101; 102) - WHITESPACE@[102; 103) - R_CURLY@[103; 104) - WHITESPACE@[104; 106) + L_PAREN@[99; 100) "(" + R_PAREN@[100; 101) ")" + SEMI@[101; 102) ";" + WHITESPACE@[102; 103) "\n" + R_CURLY@[103; 104) "}" + WHITESPACE@[104; 106) "\n\n" TRAIT_DEF@[106; 163) - TRAIT_KW@[106; 111) - WHITESPACE@[111; 112) + TRAIT_KW@[106; 111) "trait" + WHITESPACE@[111; 112) " " NAME@[112; 125) IDENT@[112; 125) "TraitWithExpr" - WHITESPACE@[125; 126) + WHITESPACE@[125; 126) " " ITEM_LIST@[126; 163) - L_CURLY@[126; 127) - WHITESPACE@[127; 132) + L_CURLY@[126; 127) "{" + WHITESPACE@[127; 132) "\n " FN_DEF@[132; 161) - FN_KW@[132; 134) - WHITESPACE@[134; 135) + FN_KW@[132; 134) "fn" + WHITESPACE@[134; 135) " " NAME@[135; 147) IDENT@[135; 147) "fn_with_expr" PARAM_LIST@[147; 160) - L_PAREN@[147; 148) + L_PAREN@[147; 148) "(" PARAM@[148; 159) BIND_PAT@[148; 149) NAME@[148; 149) IDENT@[148; 149) "x" - COLON@[149; 150) - WHITESPACE@[150; 151) + COLON@[149; 150) ":" + WHITESPACE@[150; 151) " " ARRAY_TYPE@[151; 159) - L_BRACK@[151; 152) + L_BRACK@[151; 152) "[" PATH_TYPE@[152; 155) PATH@[152; 155) PATH_SEGMENT@[152; 155) NAME_REF@[152; 155) IDENT@[152; 155) "i32" - SEMI@[155; 156) - WHITESPACE@[156; 157) + SEMI@[155; 156) ";" + WHITESPACE@[156; 157) " " LITERAL@[157; 158) INT_NUMBER@[157; 158) "1" - R_BRACK@[158; 159) - R_PAREN@[159; 160) - SEMI@[160; 161) - WHITESPACE@[161; 162) - R_CURLY@[162; 163) - WHITESPACE@[163; 164) + R_BRACK@[158; 159) "]" + R_PAREN@[159; 160) ")" + SEMI@[160; 161) ";" + WHITESPACE@[161; 162) "\n" + R_CURLY@[162; 163) "}" + WHITESPACE@[163; 164) "\n" diff --git a/crates/ra_syntax/tests/data/parser/ok/0031_extern.txt b/crates/ra_syntax/tests/data/parser/ok/0031_extern.txt index 9091c08e2..badbf76c5 100644 --- a/crates/ra_syntax/tests/data/parser/ok/0031_extern.txt +++ b/crates/ra_syntax/tests/data/parser/ok/0031_extern.txt @@ -1,973 +1,973 @@ SOURCE_FILE@[0; 1598) EXTERN_BLOCK@[0; 1597) ABI@[0; 6) - EXTERN_KW@[0; 6) - WHITESPACE@[6; 7) + EXTERN_KW@[0; 6) "extern" + WHITESPACE@[6; 7) " " EXTERN_ITEM_LIST@[7; 1597) - L_CURLY@[7; 8) - WHITESPACE@[8; 13) + L_CURLY@[7; 8) "{" + WHITESPACE@[8; 13) "\n " FN_DEF@[13; 87) VISIBILITY@[13; 16) - PUB_KW@[13; 16) - WHITESPACE@[16; 17) - FN_KW@[17; 19) - WHITESPACE@[19; 20) + PUB_KW@[13; 16) "pub" + WHITESPACE@[16; 17) " " + FN_KW@[17; 19) "fn" + WHITESPACE@[19; 20) " " NAME@[20; 26) IDENT@[20; 26) "socket" PARAM_LIST@[26; 75) - L_PAREN@[26; 27) + L_PAREN@[26; 27) "(" PARAM@[27; 42) BIND_PAT@[27; 33) NAME@[27; 33) IDENT@[27; 33) "domain" - COLON@[33; 34) - WHITESPACE@[34; 35) + COLON@[33; 34) ":" + WHITESPACE@[34; 35) " " PATH_TYPE@[35; 42) PATH@[35; 42) PATH_SEGMENT@[35; 42) - COLONCOLON@[35; 37) + COLONCOLON@[35; 37) "::" NAME_REF@[37; 42) IDENT@[37; 42) "c_int" - COMMA@[42; 43) - WHITESPACE@[43; 44) + COMMA@[42; 43) "," + WHITESPACE@[43; 44) " " PARAM@[44; 55) BIND_PAT@[44; 46) NAME@[44; 46) IDENT@[44; 46) "ty" - COLON@[46; 47) - WHITESPACE@[47; 48) + COLON@[46; 47) ":" + WHITESPACE@[47; 48) " " PATH_TYPE@[48; 55) PATH@[48; 55) PATH_SEGMENT@[48; 55) - COLONCOLON@[48; 50) + COLONCOLON@[48; 50) "::" NAME_REF@[50; 55) IDENT@[50; 55) "c_int" - COMMA@[55; 56) - WHITESPACE@[56; 57) + COMMA@[55; 56) "," + WHITESPACE@[56; 57) " " PARAM@[57; 74) BIND_PAT@[57; 65) NAME@[57; 65) IDENT@[57; 65) "protocol" - COLON@[65; 66) - WHITESPACE@[66; 67) + COLON@[65; 66) ":" + WHITESPACE@[66; 67) " " PATH_TYPE@[67; 74) PATH@[67; 74) PATH_SEGMENT@[67; 74) - COLONCOLON@[67; 69) + COLONCOLON@[67; 69) "::" NAME_REF@[69; 74) IDENT@[69; 74) "c_int" - R_PAREN@[74; 75) - WHITESPACE@[75; 76) + R_PAREN@[74; 75) ")" + WHITESPACE@[75; 76) " " RET_TYPE@[76; 86) - THIN_ARROW@[76; 78) - WHITESPACE@[78; 79) + THIN_ARROW@[76; 78) "->" + WHITESPACE@[78; 79) " " PATH_TYPE@[79; 86) PATH@[79; 86) PATH_SEGMENT@[79; 86) - COLONCOLON@[79; 81) + COLONCOLON@[79; 81) "::" NAME_REF@[81; 86) IDENT@[81; 86) "c_int" - SEMI@[86; 87) - WHITESPACE@[87; 92) + SEMI@[86; 87) ";" + WHITESPACE@[87; 92) "\n " FN_DEF@[92; 167) VISIBILITY@[92; 95) - PUB_KW@[92; 95) - WHITESPACE@[95; 96) - FN_KW@[96; 98) - WHITESPACE@[98; 99) + PUB_KW@[92; 95) "pub" + WHITESPACE@[95; 96) " " + FN_KW@[96; 98) "fn" + WHITESPACE@[98; 99) " " NAME@[99; 103) IDENT@[99; 103) "bind" PARAM_LIST@[103; 155) - L_PAREN@[103; 104) + L_PAREN@[103; 104) "(" PARAM@[104; 115) BIND_PAT@[104; 106) NAME@[104; 106) IDENT@[104; 106) "fd" - COLON@[106; 107) - WHITESPACE@[107; 108) + COLON@[106; 107) ":" + WHITESPACE@[107; 108) " " PATH_TYPE@[108; 115) PATH@[108; 115) PATH_SEGMENT@[108; 115) - COLONCOLON@[108; 110) + COLONCOLON@[108; 110) "::" NAME_REF@[110; 115) IDENT@[110; 115) "c_int" - COMMA@[115; 116) - WHITESPACE@[116; 117) + COMMA@[115; 116) "," + WHITESPACE@[116; 117) " " PARAM@[117; 138) BIND_PAT@[117; 121) NAME@[117; 121) IDENT@[117; 121) "addr" - COLON@[121; 122) - WHITESPACE@[122; 123) + COLON@[121; 122) ":" + WHITESPACE@[122; 123) " " POINTER_TYPE@[123; 138) - STAR@[123; 124) - CONST_KW@[124; 129) - WHITESPACE@[129; 130) + STAR@[123; 124) "*" + CONST_KW@[124; 129) "const" + WHITESPACE@[129; 130) " " PATH_TYPE@[130; 138) PATH@[130; 138) PATH_SEGMENT@[130; 138) NAME_REF@[130; 138) IDENT@[130; 138) "sockaddr" - COMMA@[138; 139) - WHITESPACE@[139; 140) + COMMA@[138; 139) "," + WHITESPACE@[139; 140) " " PARAM@[140; 154) BIND_PAT@[140; 143) NAME@[140; 143) IDENT@[140; 143) "len" - COLON@[143; 144) - WHITESPACE@[144; 145) + COLON@[143; 144) ":" + WHITESPACE@[144; 145) " " PATH_TYPE@[145; 154) PATH@[145; 154) PATH_SEGMENT@[145; 154) NAME_REF@[145; 154) IDENT@[145; 154) "socklen_t" - R_PAREN@[154; 155) - WHITESPACE@[155; 156) + R_PAREN@[154; 155) ")" + WHITESPACE@[155; 156) " " RET_TYPE@[156; 166) - THIN_ARROW@[156; 158) - WHITESPACE@[158; 159) + THIN_ARROW@[156; 158) "->" + WHITESPACE@[158; 159) " " PATH_TYPE@[159; 166) PATH@[159; 166) PATH_SEGMENT@[159; 166) - COLONCOLON@[159; 161) + COLONCOLON@[159; 161) "::" NAME_REF@[161; 166) IDENT@[161; 166) "c_int" - SEMI@[166; 167) - WHITESPACE@[167; 172) + SEMI@[166; 167) ";" + WHITESPACE@[167; 172) "\n " FN_DEF@[172; 276) VISIBILITY@[172; 175) - PUB_KW@[172; 175) - WHITESPACE@[175; 176) - FN_KW@[176; 178) - WHITESPACE@[178; 179) + PUB_KW@[172; 175) "pub" + WHITESPACE@[175; 176) " " + FN_KW@[176; 178) "fn" + WHITESPACE@[178; 179) " " NAME@[179; 186) IDENT@[179; 186) "connect" PARAM_LIST@[186; 264) - L_PAREN@[186; 187) + L_PAREN@[186; 187) "(" PARAM@[187; 202) BIND_PAT@[187; 193) NAME@[187; 193) IDENT@[187; 193) "socket" - COLON@[193; 194) - WHITESPACE@[194; 195) + COLON@[193; 194) ":" + WHITESPACE@[194; 195) " " PATH_TYPE@[195; 202) PATH@[195; 202) PATH_SEGMENT@[195; 202) - COLONCOLON@[195; 197) + COLONCOLON@[195; 197) "::" NAME_REF@[197; 202) IDENT@[197; 202) "c_int" - COMMA@[202; 203) - WHITESPACE@[203; 204) + COMMA@[202; 203) "," + WHITESPACE@[203; 204) " " PARAM@[204; 228) BIND_PAT@[204; 211) NAME@[204; 211) IDENT@[204; 211) "address" - COLON@[211; 212) - WHITESPACE@[212; 213) + COLON@[211; 212) ":" + WHITESPACE@[212; 213) " " POINTER_TYPE@[213; 228) - STAR@[213; 214) - CONST_KW@[214; 219) - WHITESPACE@[219; 220) + STAR@[213; 214) "*" + CONST_KW@[214; 219) "const" + WHITESPACE@[219; 220) " " PATH_TYPE@[220; 228) PATH@[220; 228) PATH_SEGMENT@[220; 228) NAME_REF@[220; 228) IDENT@[220; 228) "sockaddr" - COMMA@[228; 229) - WHITESPACE@[229; 249) + COMMA@[228; 229) "," + WHITESPACE@[229; 249) "\n " PARAM@[249; 263) BIND_PAT@[249; 252) NAME@[249; 252) IDENT@[249; 252) "len" - COLON@[252; 253) - WHITESPACE@[253; 254) + COLON@[252; 253) ":" + WHITESPACE@[253; 254) " " PATH_TYPE@[254; 263) PATH@[254; 263) PATH_SEGMENT@[254; 263) NAME_REF@[254; 263) IDENT@[254; 263) "socklen_t" - R_PAREN@[263; 264) - WHITESPACE@[264; 265) + R_PAREN@[263; 264) ")" + WHITESPACE@[264; 265) " " RET_TYPE@[265; 275) - THIN_ARROW@[265; 267) - WHITESPACE@[267; 268) + THIN_ARROW@[265; 267) "->" + WHITESPACE@[267; 268) " " PATH_TYPE@[268; 275) PATH@[268; 275) PATH_SEGMENT@[268; 275) - COLONCOLON@[268; 270) + COLONCOLON@[268; 270) "::" NAME_REF@[270; 275) IDENT@[270; 275) "c_int" - SEMI@[275; 276) - WHITESPACE@[276; 281) + SEMI@[275; 276) ";" + WHITESPACE@[276; 281) "\n " FN_DEF@[281; 341) VISIBILITY@[281; 284) - PUB_KW@[281; 284) - WHITESPACE@[284; 285) - FN_KW@[285; 287) - WHITESPACE@[287; 288) + PUB_KW@[281; 284) "pub" + WHITESPACE@[284; 285) " " + FN_KW@[285; 287) "fn" + WHITESPACE@[287; 288) " " NAME@[288; 294) IDENT@[288; 294) "listen" PARAM_LIST@[294; 329) - L_PAREN@[294; 295) + L_PAREN@[294; 295) "(" PARAM@[295; 310) BIND_PAT@[295; 301) NAME@[295; 301) IDENT@[295; 301) "socket" - COLON@[301; 302) - WHITESPACE@[302; 303) + COLON@[301; 302) ":" + WHITESPACE@[302; 303) " " PATH_TYPE@[303; 310) PATH@[303; 310) PATH_SEGMENT@[303; 310) - COLONCOLON@[303; 305) + COLONCOLON@[303; 305) "::" NAME_REF@[305; 310) IDENT@[305; 310) "c_int" - COMMA@[310; 311) - WHITESPACE@[311; 312) + COMMA@[310; 311) "," + WHITESPACE@[311; 312) " " PARAM@[312; 328) BIND_PAT@[312; 319) NAME@[312; 319) IDENT@[312; 319) "backlog" - COLON@[319; 320) - WHITESPACE@[320; 321) + COLON@[319; 320) ":" + WHITESPACE@[320; 321) " " PATH_TYPE@[321; 328) PATH@[321; 328) PATH_SEGMENT@[321; 328) - COLONCOLON@[321; 323) + COLONCOLON@[321; 323) "::" NAME_REF@[323; 328) IDENT@[323; 328) "c_int" - R_PAREN@[328; 329) - WHITESPACE@[329; 330) + R_PAREN@[328; 329) ")" + WHITESPACE@[329; 330) " " RET_TYPE@[330; 340) - THIN_ARROW@[330; 332) - WHITESPACE@[332; 333) + THIN_ARROW@[330; 332) "->" + WHITESPACE@[332; 333) " " PATH_TYPE@[333; 340) PATH@[333; 340) PATH_SEGMENT@[333; 340) - COLONCOLON@[333; 335) + COLONCOLON@[333; 335) "::" NAME_REF@[335; 340) IDENT@[335; 340) "c_int" - SEMI@[340; 341) - WHITESPACE@[341; 346) + SEMI@[340; 341) ";" + WHITESPACE@[341; 346) "\n " FN_DEF@[346; 469) VISIBILITY@[346; 349) - PUB_KW@[346; 349) - WHITESPACE@[349; 350) - FN_KW@[350; 352) - WHITESPACE@[352; 353) + PUB_KW@[346; 349) "pub" + WHITESPACE@[349; 350) " " + FN_KW@[350; 352) "fn" + WHITESPACE@[352; 353) " " NAME@[353; 364) IDENT@[353; 364) "getsockname" PARAM_LIST@[364; 457) - L_PAREN@[364; 365) + L_PAREN@[364; 365) "(" PARAM@[365; 380) BIND_PAT@[365; 371) NAME@[365; 371) IDENT@[365; 371) "socket" - COLON@[371; 372) - WHITESPACE@[372; 373) + COLON@[371; 372) ":" + WHITESPACE@[372; 373) " " PATH_TYPE@[373; 380) PATH@[373; 380) PATH_SEGMENT@[373; 380) - COLONCOLON@[373; 375) + COLONCOLON@[373; 375) "::" NAME_REF@[375; 380) IDENT@[375; 380) "c_int" - COMMA@[380; 381) - WHITESPACE@[381; 382) + COMMA@[380; 381) "," + WHITESPACE@[381; 382) " " PARAM@[382; 404) BIND_PAT@[382; 389) NAME@[382; 389) IDENT@[382; 389) "address" - COLON@[389; 390) - WHITESPACE@[390; 391) + COLON@[389; 390) ":" + WHITESPACE@[390; 391) " " POINTER_TYPE@[391; 404) - STAR@[391; 392) - MUT_KW@[392; 395) - WHITESPACE@[395; 396) + STAR@[391; 392) "*" + MUT_KW@[392; 395) "mut" + WHITESPACE@[395; 396) " " PATH_TYPE@[396; 404) PATH@[396; 404) PATH_SEGMENT@[396; 404) NAME_REF@[396; 404) IDENT@[396; 404) "sockaddr" - COMMA@[404; 405) - WHITESPACE@[405; 429) + COMMA@[404; 405) "," + WHITESPACE@[405; 429) "\n " PARAM@[429; 456) BIND_PAT@[429; 440) NAME@[429; 440) IDENT@[429; 440) "address_len" - COLON@[440; 441) - WHITESPACE@[441; 442) + COLON@[440; 441) ":" + WHITESPACE@[441; 442) " " POINTER_TYPE@[442; 456) - STAR@[442; 443) - MUT_KW@[443; 446) - WHITESPACE@[446; 447) + STAR@[442; 443) "*" + MUT_KW@[443; 446) "mut" + WHITESPACE@[446; 447) " " PATH_TYPE@[447; 456) PATH@[447; 456) PATH_SEGMENT@[447; 456) NAME_REF@[447; 456) IDENT@[447; 456) "socklen_t" - R_PAREN@[456; 457) - WHITESPACE@[457; 458) + R_PAREN@[456; 457) ")" + WHITESPACE@[457; 458) " " RET_TYPE@[458; 468) - THIN_ARROW@[458; 460) - WHITESPACE@[460; 461) + THIN_ARROW@[458; 460) "->" + WHITESPACE@[460; 461) " " PATH_TYPE@[461; 468) PATH@[461; 468) PATH_SEGMENT@[461; 468) - COLONCOLON@[461; 463) + COLONCOLON@[461; 463) "::" NAME_REF@[463; 468) IDENT@[463; 468) "c_int" - SEMI@[468; 469) - WHITESPACE@[469; 474) + SEMI@[468; 469) ";" + WHITESPACE@[469; 474) "\n " FN_DEF@[474; 691) VISIBILITY@[474; 477) - PUB_KW@[474; 477) - WHITESPACE@[477; 478) - FN_KW@[478; 480) - WHITESPACE@[480; 481) + PUB_KW@[474; 477) "pub" + WHITESPACE@[477; 478) " " + FN_KW@[478; 480) "fn" + WHITESPACE@[480; 481) " " NAME@[481; 491) IDENT@[481; 491) "getsockopt" PARAM_LIST@[491; 679) - L_PAREN@[491; 492) + L_PAREN@[491; 492) "(" PARAM@[492; 507) BIND_PAT@[492; 498) NAME@[492; 498) IDENT@[492; 498) "sockfd" - COLON@[498; 499) - WHITESPACE@[499; 500) + COLON@[498; 499) ":" + WHITESPACE@[499; 500) " " PATH_TYPE@[500; 507) PATH@[500; 507) PATH_SEGMENT@[500; 507) - COLONCOLON@[500; 502) + COLONCOLON@[500; 502) "::" NAME_REF@[502; 507) IDENT@[502; 507) "c_int" - COMMA@[507; 508) - WHITESPACE@[508; 531) + COMMA@[507; 508) "," + WHITESPACE@[508; 531) "\n " PARAM@[531; 545) BIND_PAT@[531; 536) NAME@[531; 536) IDENT@[531; 536) "level" - COLON@[536; 537) - WHITESPACE@[537; 538) + COLON@[536; 537) ":" + WHITESPACE@[537; 538) " " PATH_TYPE@[538; 545) PATH@[538; 545) PATH_SEGMENT@[538; 545) - COLONCOLON@[538; 540) + COLONCOLON@[538; 540) "::" NAME_REF@[540; 545) IDENT@[540; 545) "c_int" - COMMA@[545; 546) - WHITESPACE@[546; 569) + COMMA@[545; 546) "," + WHITESPACE@[546; 569) "\n " PARAM@[569; 585) BIND_PAT@[569; 576) NAME@[569; 576) IDENT@[569; 576) "optname" - COLON@[576; 577) - WHITESPACE@[577; 578) + COLON@[576; 577) ":" + WHITESPACE@[577; 578) " " PATH_TYPE@[578; 585) PATH@[578; 585) PATH_SEGMENT@[578; 585) - COLONCOLON@[578; 580) + COLONCOLON@[578; 580) "::" NAME_REF@[580; 585) IDENT@[580; 585) "c_int" - COMMA@[585; 586) - WHITESPACE@[586; 609) + COMMA@[585; 586) "," + WHITESPACE@[586; 609) "\n " PARAM@[609; 630) BIND_PAT@[609; 615) NAME@[609; 615) IDENT@[609; 615) "optval" - COLON@[615; 616) - WHITESPACE@[616; 617) + COLON@[615; 616) ":" + WHITESPACE@[616; 617) " " POINTER_TYPE@[617; 630) - STAR@[617; 618) - MUT_KW@[618; 621) - WHITESPACE@[621; 622) + STAR@[617; 618) "*" + MUT_KW@[618; 621) "mut" + WHITESPACE@[621; 622) " " PATH_TYPE@[622; 630) PATH@[622; 630) PATH_SEGMENT@[622; 630) - COLONCOLON@[622; 624) + COLONCOLON@[622; 624) "::" NAME_REF@[624; 630) IDENT@[624; 630) "c_void" - COMMA@[630; 631) - WHITESPACE@[631; 654) + COMMA@[630; 631) "," + WHITESPACE@[631; 654) "\n " PARAM@[654; 678) BIND_PAT@[654; 660) NAME@[654; 660) IDENT@[654; 660) "optlen" - COLON@[660; 661) - WHITESPACE@[661; 662) + COLON@[660; 661) ":" + WHITESPACE@[661; 662) " " POINTER_TYPE@[662; 678) - STAR@[662; 663) - MUT_KW@[663; 666) - WHITESPACE@[666; 667) + STAR@[662; 663) "*" + MUT_KW@[663; 666) "mut" + WHITESPACE@[666; 667) " " PATH_TYPE@[667; 678) PATH@[667; 678) PATH_SEGMENT@[667; 678) - COLONCOLON@[667; 669) + COLONCOLON@[667; 669) "::" NAME_REF@[669; 678) IDENT@[669; 678) "socklen_t" - R_PAREN@[678; 679) - WHITESPACE@[679; 680) + R_PAREN@[678; 679) ")" + WHITESPACE@[679; 680) " " RET_TYPE@[680; 690) - THIN_ARROW@[680; 682) - WHITESPACE@[682; 683) + THIN_ARROW@[680; 682) "->" + WHITESPACE@[682; 683) " " PATH_TYPE@[683; 690) PATH@[683; 690) PATH_SEGMENT@[683; 690) - COLONCOLON@[683; 685) + COLONCOLON@[683; 685) "::" NAME_REF@[685; 690) IDENT@[685; 690) "c_int" - SEMI@[690; 691) - WHITESPACE@[691; 696) + SEMI@[690; 691) ";" + WHITESPACE@[691; 696) "\n " FN_DEF@[696; 864) VISIBILITY@[696; 699) - PUB_KW@[696; 699) - WHITESPACE@[699; 700) - FN_KW@[700; 702) - WHITESPACE@[702; 703) + PUB_KW@[696; 699) "pub" + WHITESPACE@[699; 700) " " + FN_KW@[700; 702) "fn" + WHITESPACE@[702; 703) " " NAME@[703; 713) IDENT@[703; 713) "setsockopt" PARAM_LIST@[713; 852) - L_PAREN@[713; 714) + L_PAREN@[713; 714) "(" PARAM@[714; 729) BIND_PAT@[714; 720) NAME@[714; 720) IDENT@[714; 720) "socket" - COLON@[720; 721) - WHITESPACE@[721; 722) + COLON@[720; 721) ":" + WHITESPACE@[721; 722) " " PATH_TYPE@[722; 729) PATH@[722; 729) PATH_SEGMENT@[722; 729) - COLONCOLON@[722; 724) + COLONCOLON@[722; 724) "::" NAME_REF@[724; 729) IDENT@[724; 729) "c_int" - COMMA@[729; 730) - WHITESPACE@[730; 731) + COMMA@[729; 730) "," + WHITESPACE@[730; 731) " " PARAM@[731; 745) BIND_PAT@[731; 736) NAME@[731; 736) IDENT@[731; 736) "level" - COLON@[736; 737) - WHITESPACE@[737; 738) + COLON@[736; 737) ":" + WHITESPACE@[737; 738) " " PATH_TYPE@[738; 745) PATH@[738; 745) PATH_SEGMENT@[738; 745) - COLONCOLON@[738; 740) + COLONCOLON@[738; 740) "::" NAME_REF@[740; 745) IDENT@[740; 745) "c_int" - COMMA@[745; 746) - WHITESPACE@[746; 747) + COMMA@[745; 746) "," + WHITESPACE@[746; 747) " " PARAM@[747; 760) BIND_PAT@[747; 751) NAME@[747; 751) IDENT@[747; 751) "name" - COLON@[751; 752) - WHITESPACE@[752; 753) + COLON@[751; 752) ":" + WHITESPACE@[752; 753) " " PATH_TYPE@[753; 760) PATH@[753; 760) PATH_SEGMENT@[753; 760) - COLONCOLON@[753; 755) + COLONCOLON@[753; 755) "::" NAME_REF@[755; 760) IDENT@[755; 760) "c_int" - COMMA@[760; 761) - WHITESPACE@[761; 784) + COMMA@[760; 761) "," + WHITESPACE@[761; 784) "\n " PARAM@[784; 806) BIND_PAT@[784; 789) NAME@[784; 789) IDENT@[784; 789) "value" - COLON@[789; 790) - WHITESPACE@[790; 791) + COLON@[789; 790) ":" + WHITESPACE@[790; 791) " " POINTER_TYPE@[791; 806) - STAR@[791; 792) - CONST_KW@[792; 797) - WHITESPACE@[797; 798) + STAR@[791; 792) "*" + CONST_KW@[792; 797) "const" + WHITESPACE@[797; 798) " " PATH_TYPE@[798; 806) PATH@[798; 806) PATH_SEGMENT@[798; 806) - COLONCOLON@[798; 800) + COLONCOLON@[798; 800) "::" NAME_REF@[800; 806) IDENT@[800; 806) "c_void" - COMMA@[806; 807) - WHITESPACE@[807; 830) + COMMA@[806; 807) "," + WHITESPACE@[807; 830) "\n " PARAM@[830; 851) BIND_PAT@[830; 840) NAME@[830; 840) IDENT@[830; 840) "option_len" - COLON@[840; 841) - WHITESPACE@[841; 842) + COLON@[840; 841) ":" + WHITESPACE@[841; 842) " " PATH_TYPE@[842; 851) PATH@[842; 851) PATH_SEGMENT@[842; 851) NAME_REF@[842; 851) IDENT@[842; 851) "socklen_t" - R_PAREN@[851; 852) - WHITESPACE@[852; 853) + R_PAREN@[851; 852) ")" + WHITESPACE@[852; 853) " " RET_TYPE@[853; 863) - THIN_ARROW@[853; 855) - WHITESPACE@[855; 856) + THIN_ARROW@[853; 855) "->" + WHITESPACE@[855; 856) " " PATH_TYPE@[856; 863) PATH@[856; 863) PATH_SEGMENT@[856; 863) - COLONCOLON@[856; 858) + COLONCOLON@[856; 858) "::" NAME_REF@[858; 863) IDENT@[858; 863) "c_int" - SEMI@[863; 864) - WHITESPACE@[864; 869) + SEMI@[863; 864) ";" + WHITESPACE@[864; 869) "\n " FN_DEF@[869; 992) VISIBILITY@[869; 872) - PUB_KW@[869; 872) - WHITESPACE@[872; 873) - FN_KW@[873; 875) - WHITESPACE@[875; 876) + PUB_KW@[869; 872) "pub" + WHITESPACE@[872; 873) " " + FN_KW@[873; 875) "fn" + WHITESPACE@[875; 876) " " NAME@[876; 887) IDENT@[876; 887) "getpeername" PARAM_LIST@[887; 980) - L_PAREN@[887; 888) + L_PAREN@[887; 888) "(" PARAM@[888; 903) BIND_PAT@[888; 894) NAME@[888; 894) IDENT@[888; 894) "socket" - COLON@[894; 895) - WHITESPACE@[895; 896) + COLON@[894; 895) ":" + WHITESPACE@[895; 896) " " PATH_TYPE@[896; 903) PATH@[896; 903) PATH_SEGMENT@[896; 903) - COLONCOLON@[896; 898) + COLONCOLON@[896; 898) "::" NAME_REF@[898; 903) IDENT@[898; 903) "c_int" - COMMA@[903; 904) - WHITESPACE@[904; 905) + COMMA@[903; 904) "," + WHITESPACE@[904; 905) " " PARAM@[905; 927) BIND_PAT@[905; 912) NAME@[905; 912) IDENT@[905; 912) "address" - COLON@[912; 913) - WHITESPACE@[913; 914) + COLON@[912; 913) ":" + WHITESPACE@[913; 914) " " POINTER_TYPE@[914; 927) - STAR@[914; 915) - MUT_KW@[915; 918) - WHITESPACE@[918; 919) + STAR@[914; 915) "*" + MUT_KW@[915; 918) "mut" + WHITESPACE@[918; 919) " " PATH_TYPE@[919; 927) PATH@[919; 927) PATH_SEGMENT@[919; 927) NAME_REF@[919; 927) IDENT@[919; 927) "sockaddr" - COMMA@[927; 928) - WHITESPACE@[928; 952) + COMMA@[927; 928) "," + WHITESPACE@[928; 952) "\n " PARAM@[952; 979) BIND_PAT@[952; 963) NAME@[952; 963) IDENT@[952; 963) "address_len" - COLON@[963; 964) - WHITESPACE@[964; 965) + COLON@[963; 964) ":" + WHITESPACE@[964; 965) " " POINTER_TYPE@[965; 979) - STAR@[965; 966) - MUT_KW@[966; 969) - WHITESPACE@[969; 970) + STAR@[965; 966) "*" + MUT_KW@[966; 969) "mut" + WHITESPACE@[969; 970) " " PATH_TYPE@[970; 979) PATH@[970; 979) PATH_SEGMENT@[970; 979) NAME_REF@[970; 979) IDENT@[970; 979) "socklen_t" - R_PAREN@[979; 980) - WHITESPACE@[980; 981) + R_PAREN@[979; 980) ")" + WHITESPACE@[980; 981) " " RET_TYPE@[981; 991) - THIN_ARROW@[981; 983) - WHITESPACE@[983; 984) + THIN_ARROW@[981; 983) "->" + WHITESPACE@[983; 984) " " PATH_TYPE@[984; 991) PATH@[984; 991) PATH_SEGMENT@[984; 991) - COLONCOLON@[984; 986) + COLONCOLON@[984; 986) "::" NAME_REF@[986; 991) IDENT@[986; 991) "c_int" - SEMI@[991; 992) - WHITESPACE@[992; 997) + SEMI@[991; 992) ";" + WHITESPACE@[992; 997) "\n " FN_DEF@[997; 1173) VISIBILITY@[997; 1000) - PUB_KW@[997; 1000) - WHITESPACE@[1000; 1001) - FN_KW@[1001; 1003) - WHITESPACE@[1003; 1004) + PUB_KW@[997; 1000) "pub" + WHITESPACE@[1000; 1001) " " + FN_KW@[1001; 1003) "fn" + WHITESPACE@[1003; 1004) " " NAME@[1004; 1010) IDENT@[1004; 1010) "sendto" PARAM_LIST@[1010; 1159) - L_PAREN@[1010; 1011) + L_PAREN@[1010; 1011) "(" PARAM@[1011; 1026) BIND_PAT@[1011; 1017) NAME@[1011; 1017) IDENT@[1011; 1017) "socket" - COLON@[1017; 1018) - WHITESPACE@[1018; 1019) + COLON@[1017; 1018) ":" + WHITESPACE@[1018; 1019) " " PATH_TYPE@[1019; 1026) PATH@[1019; 1026) PATH_SEGMENT@[1019; 1026) - COLONCOLON@[1019; 1021) + COLONCOLON@[1019; 1021) "::" NAME_REF@[1021; 1026) IDENT@[1021; 1026) "c_int" - COMMA@[1026; 1027) - WHITESPACE@[1027; 1028) + COMMA@[1026; 1027) "," + WHITESPACE@[1027; 1028) " " PARAM@[1028; 1048) BIND_PAT@[1028; 1031) NAME@[1028; 1031) IDENT@[1028; 1031) "buf" - COLON@[1031; 1032) - WHITESPACE@[1032; 1033) + COLON@[1031; 1032) ":" + WHITESPACE@[1032; 1033) " " POINTER_TYPE@[1033; 1048) - STAR@[1033; 1034) - CONST_KW@[1034; 1039) - WHITESPACE@[1039; 1040) + STAR@[1033; 1034) "*" + CONST_KW@[1034; 1039) "const" + WHITESPACE@[1039; 1040) " " PATH_TYPE@[1040; 1048) PATH@[1040; 1048) PATH_SEGMENT@[1040; 1048) - COLONCOLON@[1040; 1042) + COLONCOLON@[1040; 1042) "::" NAME_REF@[1042; 1048) IDENT@[1042; 1048) "c_void" - COMMA@[1048; 1049) - WHITESPACE@[1049; 1050) + COMMA@[1048; 1049) "," + WHITESPACE@[1049; 1050) " " PARAM@[1050; 1063) BIND_PAT@[1050; 1053) NAME@[1050; 1053) IDENT@[1050; 1053) "len" - COLON@[1053; 1054) - WHITESPACE@[1054; 1055) + COLON@[1053; 1054) ":" + WHITESPACE@[1054; 1055) " " PATH_TYPE@[1055; 1063) PATH@[1055; 1063) PATH_SEGMENT@[1055; 1063) - COLONCOLON@[1055; 1057) + COLONCOLON@[1055; 1057) "::" NAME_REF@[1057; 1063) IDENT@[1057; 1063) "size_t" - COMMA@[1063; 1064) - WHITESPACE@[1064; 1083) + COMMA@[1063; 1064) "," + WHITESPACE@[1064; 1083) "\n " PARAM@[1083; 1097) BIND_PAT@[1083; 1088) NAME@[1083; 1088) IDENT@[1083; 1088) "flags" - COLON@[1088; 1089) - WHITESPACE@[1089; 1090) + COLON@[1088; 1089) ":" + WHITESPACE@[1089; 1090) " " PATH_TYPE@[1090; 1097) PATH@[1090; 1097) PATH_SEGMENT@[1090; 1097) - COLONCOLON@[1090; 1092) + COLONCOLON@[1090; 1092) "::" NAME_REF@[1092; 1097) IDENT@[1092; 1097) "c_int" - COMMA@[1097; 1098) - WHITESPACE@[1098; 1099) + COMMA@[1097; 1098) "," + WHITESPACE@[1098; 1099) " " PARAM@[1099; 1120) BIND_PAT@[1099; 1103) NAME@[1099; 1103) IDENT@[1099; 1103) "addr" - COLON@[1103; 1104) - WHITESPACE@[1104; 1105) + COLON@[1103; 1104) ":" + WHITESPACE@[1104; 1105) " " POINTER_TYPE@[1105; 1120) - STAR@[1105; 1106) - CONST_KW@[1106; 1111) - WHITESPACE@[1111; 1112) + STAR@[1105; 1106) "*" + CONST_KW@[1106; 1111) "const" + WHITESPACE@[1111; 1112) " " PATH_TYPE@[1112; 1120) PATH@[1112; 1120) PATH_SEGMENT@[1112; 1120) NAME_REF@[1112; 1120) IDENT@[1112; 1120) "sockaddr" - COMMA@[1120; 1121) - WHITESPACE@[1121; 1140) + COMMA@[1120; 1121) "," + WHITESPACE@[1121; 1140) "\n " PARAM@[1140; 1158) BIND_PAT@[1140; 1147) NAME@[1140; 1147) IDENT@[1140; 1147) "addrlen" - COLON@[1147; 1148) - WHITESPACE@[1148; 1149) + COLON@[1147; 1148) ":" + WHITESPACE@[1148; 1149) " " PATH_TYPE@[1149; 1158) PATH@[1149; 1158) PATH_SEGMENT@[1149; 1158) NAME_REF@[1149; 1158) IDENT@[1149; 1158) "socklen_t" - R_PAREN@[1158; 1159) - WHITESPACE@[1159; 1160) + R_PAREN@[1158; 1159) ")" + WHITESPACE@[1159; 1160) " " RET_TYPE@[1160; 1172) - THIN_ARROW@[1160; 1162) - WHITESPACE@[1162; 1163) + THIN_ARROW@[1160; 1162) "->" + WHITESPACE@[1162; 1163) " " PATH_TYPE@[1163; 1172) PATH@[1163; 1172) PATH_SEGMENT@[1163; 1172) - COLONCOLON@[1163; 1165) + COLONCOLON@[1163; 1165) "::" NAME_REF@[1165; 1172) IDENT@[1165; 1172) "ssize_t" - SEMI@[1172; 1173) - WHITESPACE@[1173; 1178) + SEMI@[1172; 1173) ";" + WHITESPACE@[1173; 1178) "\n " FN_DEF@[1178; 1289) VISIBILITY@[1178; 1181) - PUB_KW@[1178; 1181) - WHITESPACE@[1181; 1182) - FN_KW@[1182; 1184) - WHITESPACE@[1184; 1185) + PUB_KW@[1178; 1181) "pub" + WHITESPACE@[1181; 1182) " " + FN_KW@[1182; 1184) "fn" + WHITESPACE@[1184; 1185) " " NAME@[1185; 1189) IDENT@[1185; 1189) "send" PARAM_LIST@[1189; 1275) - L_PAREN@[1189; 1190) + L_PAREN@[1189; 1190) "(" PARAM@[1190; 1205) BIND_PAT@[1190; 1196) NAME@[1190; 1196) IDENT@[1190; 1196) "socket" - COLON@[1196; 1197) - WHITESPACE@[1197; 1198) + COLON@[1196; 1197) ":" + WHITESPACE@[1197; 1198) " " PATH_TYPE@[1198; 1205) PATH@[1198; 1205) PATH_SEGMENT@[1198; 1205) - COLONCOLON@[1198; 1200) + COLONCOLON@[1198; 1200) "::" NAME_REF@[1200; 1205) IDENT@[1200; 1205) "c_int" - COMMA@[1205; 1206) - WHITESPACE@[1206; 1207) + COMMA@[1205; 1206) "," + WHITESPACE@[1206; 1207) " " PARAM@[1207; 1227) BIND_PAT@[1207; 1210) NAME@[1207; 1210) IDENT@[1207; 1210) "buf" - COLON@[1210; 1211) - WHITESPACE@[1211; 1212) + COLON@[1210; 1211) ":" + WHITESPACE@[1211; 1212) " " POINTER_TYPE@[1212; 1227) - STAR@[1212; 1213) - CONST_KW@[1213; 1218) - WHITESPACE@[1218; 1219) + STAR@[1212; 1213) "*" + CONST_KW@[1213; 1218) "const" + WHITESPACE@[1218; 1219) " " PATH_TYPE@[1219; 1227) PATH@[1219; 1227) PATH_SEGMENT@[1219; 1227) - COLONCOLON@[1219; 1221) + COLONCOLON@[1219; 1221) "::" NAME_REF@[1221; 1227) IDENT@[1221; 1227) "c_void" - COMMA@[1227; 1228) - WHITESPACE@[1228; 1229) + COMMA@[1227; 1228) "," + WHITESPACE@[1228; 1229) " " PARAM@[1229; 1242) BIND_PAT@[1229; 1232) NAME@[1229; 1232) IDENT@[1229; 1232) "len" - COLON@[1232; 1233) - WHITESPACE@[1233; 1234) + COLON@[1232; 1233) ":" + WHITESPACE@[1233; 1234) " " PATH_TYPE@[1234; 1242) PATH@[1234; 1242) PATH_SEGMENT@[1234; 1242) - COLONCOLON@[1234; 1236) + COLONCOLON@[1234; 1236) "::" NAME_REF@[1236; 1242) IDENT@[1236; 1242) "size_t" - COMMA@[1242; 1243) - WHITESPACE@[1243; 1260) + COMMA@[1242; 1243) "," + WHITESPACE@[1243; 1260) "\n " PARAM@[1260; 1274) BIND_PAT@[1260; 1265) NAME@[1260; 1265) IDENT@[1260; 1265) "flags" - COLON@[1265; 1266) - WHITESPACE@[1266; 1267) + COLON@[1265; 1266) ":" + WHITESPACE@[1266; 1267) " " PATH_TYPE@[1267; 1274) PATH@[1267; 1274) PATH_SEGMENT@[1267; 1274) - COLONCOLON@[1267; 1269) + COLONCOLON@[1267; 1269) "::" NAME_REF@[1269; 1274) IDENT@[1269; 1274) "c_int" - R_PAREN@[1274; 1275) - WHITESPACE@[1275; 1276) + R_PAREN@[1274; 1275) ")" + WHITESPACE@[1275; 1276) " " RET_TYPE@[1276; 1288) - THIN_ARROW@[1276; 1278) - WHITESPACE@[1278; 1279) + THIN_ARROW@[1276; 1278) "->" + WHITESPACE@[1278; 1279) " " PATH_TYPE@[1279; 1288) PATH@[1279; 1288) PATH_SEGMENT@[1279; 1288) - COLONCOLON@[1279; 1281) + COLONCOLON@[1279; 1281) "::" NAME_REF@[1281; 1288) IDENT@[1281; 1288) "ssize_t" - SEMI@[1288; 1289) - WHITESPACE@[1289; 1294) + SEMI@[1288; 1289) ";" + WHITESPACE@[1289; 1294) "\n " FN_DEF@[1294; 1481) VISIBILITY@[1294; 1297) - PUB_KW@[1294; 1297) - WHITESPACE@[1297; 1298) - FN_KW@[1298; 1300) - WHITESPACE@[1300; 1301) + PUB_KW@[1294; 1297) "pub" + WHITESPACE@[1297; 1298) " " + FN_KW@[1298; 1300) "fn" + WHITESPACE@[1300; 1301) " " NAME@[1301; 1309) IDENT@[1301; 1309) "recvfrom" PARAM_LIST@[1309; 1467) - L_PAREN@[1309; 1310) + L_PAREN@[1309; 1310) "(" PARAM@[1310; 1325) BIND_PAT@[1310; 1316) NAME@[1310; 1316) IDENT@[1310; 1316) "socket" - COLON@[1316; 1317) - WHITESPACE@[1317; 1318) + COLON@[1316; 1317) ":" + WHITESPACE@[1317; 1318) " " PATH_TYPE@[1318; 1325) PATH@[1318; 1325) PATH_SEGMENT@[1318; 1325) - COLONCOLON@[1318; 1320) + COLONCOLON@[1318; 1320) "::" NAME_REF@[1320; 1325) IDENT@[1320; 1325) "c_int" - COMMA@[1325; 1326) - WHITESPACE@[1326; 1327) + COMMA@[1325; 1326) "," + WHITESPACE@[1326; 1327) " " PARAM@[1327; 1345) BIND_PAT@[1327; 1330) NAME@[1327; 1330) IDENT@[1327; 1330) "buf" - COLON@[1330; 1331) - WHITESPACE@[1331; 1332) + COLON@[1330; 1331) ":" + WHITESPACE@[1331; 1332) " " POINTER_TYPE@[1332; 1345) - STAR@[1332; 1333) - MUT_KW@[1333; 1336) - WHITESPACE@[1336; 1337) + STAR@[1332; 1333) "*" + MUT_KW@[1333; 1336) "mut" + WHITESPACE@[1336; 1337) " " PATH_TYPE@[1337; 1345) PATH@[1337; 1345) PATH_SEGMENT@[1337; 1345) - COLONCOLON@[1337; 1339) + COLONCOLON@[1337; 1339) "::" NAME_REF@[1339; 1345) IDENT@[1339; 1345) "c_void" - COMMA@[1345; 1346) - WHITESPACE@[1346; 1347) + COMMA@[1345; 1346) "," + WHITESPACE@[1346; 1347) " " PARAM@[1347; 1360) BIND_PAT@[1347; 1350) NAME@[1347; 1350) IDENT@[1347; 1350) "len" - COLON@[1350; 1351) - WHITESPACE@[1351; 1352) + COLON@[1350; 1351) ":" + WHITESPACE@[1351; 1352) " " PATH_TYPE@[1352; 1360) PATH@[1352; 1360) PATH_SEGMENT@[1352; 1360) - COLONCOLON@[1352; 1354) + COLONCOLON@[1352; 1354) "::" NAME_REF@[1354; 1360) IDENT@[1354; 1360) "size_t" - COMMA@[1360; 1361) - WHITESPACE@[1361; 1382) + COMMA@[1360; 1361) "," + WHITESPACE@[1361; 1382) "\n " PARAM@[1382; 1396) BIND_PAT@[1382; 1387) NAME@[1382; 1387) IDENT@[1382; 1387) "flags" - COLON@[1387; 1388) - WHITESPACE@[1388; 1389) + COLON@[1387; 1388) ":" + WHITESPACE@[1388; 1389) " " PATH_TYPE@[1389; 1396) PATH@[1389; 1396) PATH_SEGMENT@[1389; 1396) - COLONCOLON@[1389; 1391) + COLONCOLON@[1389; 1391) "::" NAME_REF@[1391; 1396) IDENT@[1391; 1396) "c_int" - COMMA@[1396; 1397) - WHITESPACE@[1397; 1398) + COMMA@[1396; 1397) "," + WHITESPACE@[1397; 1398) " " PARAM@[1398; 1419) BIND_PAT@[1398; 1402) NAME@[1398; 1402) IDENT@[1398; 1402) "addr" - COLON@[1402; 1403) - WHITESPACE@[1403; 1404) + COLON@[1402; 1403) ":" + WHITESPACE@[1403; 1404) " " POINTER_TYPE@[1404; 1419) - STAR@[1404; 1405) - MUT_KW@[1405; 1408) - WHITESPACE@[1408; 1409) + STAR@[1404; 1405) "*" + MUT_KW@[1405; 1408) "mut" + WHITESPACE@[1408; 1409) " " PATH_TYPE@[1409; 1419) PATH@[1409; 1419) PATH_SEGMENT@[1409; 1419) - COLONCOLON@[1409; 1411) + COLONCOLON@[1409; 1411) "::" NAME_REF@[1411; 1419) IDENT@[1411; 1419) "sockaddr" - COMMA@[1419; 1420) - WHITESPACE@[1420; 1441) + COMMA@[1419; 1420) "," + WHITESPACE@[1420; 1441) "\n " PARAM@[1441; 1466) BIND_PAT@[1441; 1448) NAME@[1441; 1448) IDENT@[1441; 1448) "addrlen" - COLON@[1448; 1449) - WHITESPACE@[1449; 1450) + COLON@[1448; 1449) ":" + WHITESPACE@[1449; 1450) " " POINTER_TYPE@[1450; 1466) - STAR@[1450; 1451) - MUT_KW@[1451; 1454) - WHITESPACE@[1454; 1455) + STAR@[1450; 1451) "*" + MUT_KW@[1451; 1454) "mut" + WHITESPACE@[1454; 1455) " " PATH_TYPE@[1455; 1466) PATH@[1455; 1466) PATH_SEGMENT@[1455; 1466) - COLONCOLON@[1455; 1457) + COLONCOLON@[1455; 1457) "::" NAME_REF@[1457; 1466) IDENT@[1457; 1466) "socklen_t" - R_PAREN@[1466; 1467) - WHITESPACE@[1467; 1468) + R_PAREN@[1466; 1467) ")" + WHITESPACE@[1467; 1468) " " RET_TYPE@[1468; 1480) - THIN_ARROW@[1468; 1470) - WHITESPACE@[1470; 1471) + THIN_ARROW@[1468; 1470) "->" + WHITESPACE@[1470; 1471) " " PATH_TYPE@[1471; 1480) PATH@[1471; 1480) PATH_SEGMENT@[1471; 1480) - COLONCOLON@[1471; 1473) + COLONCOLON@[1471; 1473) "::" NAME_REF@[1473; 1480) IDENT@[1473; 1480) "ssize_t" - SEMI@[1480; 1481) - WHITESPACE@[1481; 1486) + SEMI@[1480; 1481) ";" + WHITESPACE@[1481; 1486) "\n " FN_DEF@[1486; 1595) VISIBILITY@[1486; 1489) - PUB_KW@[1486; 1489) - WHITESPACE@[1489; 1490) - FN_KW@[1490; 1492) - WHITESPACE@[1492; 1493) + PUB_KW@[1486; 1489) "pub" + WHITESPACE@[1489; 1490) " " + FN_KW@[1490; 1492) "fn" + WHITESPACE@[1492; 1493) " " NAME@[1493; 1497) IDENT@[1493; 1497) "recv" PARAM_LIST@[1497; 1581) - L_PAREN@[1497; 1498) + L_PAREN@[1497; 1498) "(" PARAM@[1498; 1513) BIND_PAT@[1498; 1504) NAME@[1498; 1504) IDENT@[1498; 1504) "socket" - COLON@[1504; 1505) - WHITESPACE@[1505; 1506) + COLON@[1504; 1505) ":" + WHITESPACE@[1505; 1506) " " PATH_TYPE@[1506; 1513) PATH@[1506; 1513) PATH_SEGMENT@[1506; 1513) - COLONCOLON@[1506; 1508) + COLONCOLON@[1506; 1508) "::" NAME_REF@[1508; 1513) IDENT@[1508; 1513) "c_int" - COMMA@[1513; 1514) - WHITESPACE@[1514; 1515) + COMMA@[1513; 1514) "," + WHITESPACE@[1514; 1515) " " PARAM@[1515; 1533) BIND_PAT@[1515; 1518) NAME@[1515; 1518) IDENT@[1515; 1518) "buf" - COLON@[1518; 1519) - WHITESPACE@[1519; 1520) + COLON@[1518; 1519) ":" + WHITESPACE@[1519; 1520) " " POINTER_TYPE@[1520; 1533) - STAR@[1520; 1521) - MUT_KW@[1521; 1524) - WHITESPACE@[1524; 1525) + STAR@[1520; 1521) "*" + MUT_KW@[1521; 1524) "mut" + WHITESPACE@[1524; 1525) " " PATH_TYPE@[1525; 1533) PATH@[1525; 1533) PATH_SEGMENT@[1525; 1533) - COLONCOLON@[1525; 1527) + COLONCOLON@[1525; 1527) "::" NAME_REF@[1527; 1533) IDENT@[1527; 1533) "c_void" - COMMA@[1533; 1534) - WHITESPACE@[1534; 1535) + COMMA@[1533; 1534) "," + WHITESPACE@[1534; 1535) " " PARAM@[1535; 1548) BIND_PAT@[1535; 1538) NAME@[1535; 1538) IDENT@[1535; 1538) "len" - COLON@[1538; 1539) - WHITESPACE@[1539; 1540) + COLON@[1538; 1539) ":" + WHITESPACE@[1539; 1540) " " PATH_TYPE@[1540; 1548) PATH@[1540; 1548) PATH_SEGMENT@[1540; 1548) - COLONCOLON@[1540; 1542) + COLONCOLON@[1540; 1542) "::" NAME_REF@[1542; 1548) IDENT@[1542; 1548) "size_t" - COMMA@[1548; 1549) - WHITESPACE@[1549; 1566) + COMMA@[1548; 1549) "," + WHITESPACE@[1549; 1566) "\n " PARAM@[1566; 1580) BIND_PAT@[1566; 1571) NAME@[1566; 1571) IDENT@[1566; 1571) "flags" - COLON@[1571; 1572) - WHITESPACE@[1572; 1573) + COLON@[1571; 1572) ":" + WHITESPACE@[1572; 1573) " " PATH_TYPE@[1573; 1580) PATH@[1573; 1580) PATH_SEGMENT@[1573; 1580) - COLONCOLON@[1573; 1575) + COLONCOLON@[1573; 1575) "::" NAME_REF@[1575; 1580) IDENT@[1575; 1580) "c_int" - R_PAREN@[1580; 1581) - WHITESPACE@[1581; 1582) + R_PAREN@[1580; 1581) ")" + WHITESPACE@[1581; 1582) " " RET_TYPE@[1582; 1594) - THIN_ARROW@[1582; 1584) - WHITESPACE@[1584; 1585) + THIN_ARROW@[1582; 1584) "->" + WHITESPACE@[1584; 1585) " " PATH_TYPE@[1585; 1594) PATH@[1585; 1594) PATH_SEGMENT@[1585; 1594) - COLONCOLON@[1585; 1587) + COLONCOLON@[1585; 1587) "::" NAME_REF@[1587; 1594) IDENT@[1587; 1594) "ssize_t" - SEMI@[1594; 1595) - WHITESPACE@[1595; 1596) - R_CURLY@[1596; 1597) - WHITESPACE@[1597; 1598) + SEMI@[1594; 1595) ";" + WHITESPACE@[1595; 1596) "\n" + R_CURLY@[1596; 1597) "}" + WHITESPACE@[1597; 1598) "\n" diff --git a/crates/ra_syntax/tests/data/parser/ok/0032_where_for.txt b/crates/ra_syntax/tests/data/parser/ok/0032_where_for.txt index 7236d9e62..9b1d0e84a 100644 --- a/crates/ra_syntax/tests/data/parser/ok/0032_where_for.txt +++ b/crates/ra_syntax/tests/data/parser/ok/0032_where_for.txt @@ -1,30 +1,30 @@ SOURCE_FILE@[0; 116) FN_DEF@[0; 115) - FN_KW@[0; 2) - WHITESPACE@[2; 3) + FN_KW@[0; 2) "fn" + WHITESPACE@[2; 3) " " NAME@[3; 21) IDENT@[3; 21) "test_serialization" TYPE_PARAM_LIST@[21; 26) - L_ANGLE@[21; 22) + L_ANGLE@[21; 22) "<" TYPE_PARAM@[22; 25) NAME@[22; 25) IDENT@[22; 25) "SER" - R_ANGLE@[25; 26) + R_ANGLE@[25; 26) ">" PARAM_LIST@[26; 28) - L_PAREN@[26; 27) - R_PAREN@[27; 28) - WHITESPACE@[28; 29) + L_PAREN@[26; 27) "(" + R_PAREN@[27; 28) ")" + WHITESPACE@[28; 29) "\n" WHERE_CLAUSE@[29; 112) - WHERE_KW@[29; 34) - WHITESPACE@[34; 39) + WHERE_KW@[29; 34) "where" + WHITESPACE@[34; 39) "\n " WHERE_PRED@[39; 111) PATH_TYPE@[39; 42) PATH@[39; 42) PATH_SEGMENT@[39; 42) NAME_REF@[39; 42) IDENT@[39; 42) "SER" - COLON@[42; 43) - WHITESPACE@[43; 44) + COLON@[42; 43) ":" + WHITESPACE@[43; 44) " " TYPE_BOUND_LIST@[44; 111) TYPE_BOUND@[44; 53) PATH_TYPE@[44; 53) @@ -32,40 +32,40 @@ SOURCE_FILE@[0; 116) PATH_SEGMENT@[44; 53) NAME_REF@[44; 53) IDENT@[44; 53) "Serialize" - WHITESPACE@[53; 54) - PLUS@[54; 55) - WHITESPACE@[55; 56) + WHITESPACE@[53; 54) " " + PLUS@[54; 55) "+" + WHITESPACE@[55; 56) " " TYPE_BOUND@[56; 81) FOR_TYPE@[56; 81) - FOR_KW@[56; 59) + FOR_KW@[56; 59) "for" TYPE_PARAM_LIST@[59; 64) - L_ANGLE@[59; 60) + L_ANGLE@[59; 60) "<" LIFETIME_PARAM@[60; 63) - LIFETIME@[60; 63) "'de" - R_ANGLE@[63; 64) - WHITESPACE@[64; 65) + LIFETIME@[60; 63) "\'de" + R_ANGLE@[63; 64) ">" + WHITESPACE@[64; 65) " " PATH_TYPE@[65; 81) PATH@[65; 81) PATH_SEGMENT@[65; 81) NAME_REF@[65; 76) IDENT@[65; 76) "Deserialize" TYPE_ARG_LIST@[76; 81) - L_ANGLE@[76; 77) + L_ANGLE@[76; 77) "<" LIFETIME_ARG@[77; 80) - LIFETIME@[77; 80) "'de" - R_ANGLE@[80; 81) - WHITESPACE@[81; 82) - PLUS@[82; 83) - WHITESPACE@[83; 84) + LIFETIME@[77; 80) "\'de" + R_ANGLE@[80; 81) ">" + WHITESPACE@[81; 82) " " + PLUS@[82; 83) "+" + WHITESPACE@[83; 84) " " TYPE_BOUND@[84; 93) PATH_TYPE@[84; 93) PATH@[84; 93) PATH_SEGMENT@[84; 93) NAME_REF@[84; 93) IDENT@[84; 93) "PartialEq" - WHITESPACE@[93; 94) - PLUS@[94; 95) - WHITESPACE@[95; 96) + WHITESPACE@[93; 94) " " + PLUS@[94; 95) "+" + WHITESPACE@[95; 96) " " TYPE_BOUND@[96; 111) PATH_TYPE@[96; 111) PATH@[96; 111) @@ -74,17 +74,17 @@ SOURCE_FILE@[0; 116) PATH_SEGMENT@[96; 99) NAME_REF@[96; 99) IDENT@[96; 99) "std" - COLONCOLON@[99; 101) + COLONCOLON@[99; 101) "::" PATH_SEGMENT@[101; 104) NAME_REF@[101; 104) IDENT@[101; 104) "fmt" - COLONCOLON@[104; 106) + COLONCOLON@[104; 106) "::" PATH_SEGMENT@[106; 111) NAME_REF@[106; 111) IDENT@[106; 111) "Debug" - COMMA@[111; 112) - WHITESPACE@[112; 113) + COMMA@[111; 112) "," + WHITESPACE@[112; 113) "\n" BLOCK@[113; 115) - L_CURLY@[113; 114) - R_CURLY@[114; 115) - WHITESPACE@[115; 116) + L_CURLY@[113; 114) "{" + R_CURLY@[114; 115) "}" + WHITESPACE@[115; 116) "\n" diff --git a/crates/ra_syntax/tests/data/parser/ok/0033_label_break.txt b/crates/ra_syntax/tests/data/parser/ok/0033_label_break.txt index 1c2bf82c9..845a8d7af 100644 --- a/crates/ra_syntax/tests/data/parser/ok/0033_label_break.txt +++ b/crates/ra_syntax/tests/data/parser/ok/0033_label_break.txt @@ -1,37 +1,37 @@ SOURCE_FILE@[0; 506) FN_DEF@[0; 505) - COMMENT@[0; 33) - WHITESPACE@[33; 34) - FN_KW@[34; 36) - WHITESPACE@[36; 37) + COMMENT@[0; 33) "// format with label ..." + WHITESPACE@[33; 34) "\n" + FN_KW@[34; 36) "fn" + WHITESPACE@[36; 37) " " NAME@[37; 41) IDENT@[37; 41) "main" PARAM_LIST@[41; 43) - L_PAREN@[41; 42) - R_PAREN@[42; 43) - WHITESPACE@[43; 44) + L_PAREN@[41; 42) "(" + R_PAREN@[42; 43) ")" + WHITESPACE@[43; 44) " " BLOCK@[44; 505) - L_CURLY@[44; 45) - WHITESPACE@[45; 50) + 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) + 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) + 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) + LIFETIME@[72; 78) "\'block" + COLON@[78; 79) ":" + WHITESPACE@[79; 80) " " BLOCK@[80; 295) - L_CURLY@[80; 81) - WHITESPACE@[81; 90) + L_CURLY@[80; 81) "{" + WHITESPACE@[81; 90) "\n " EXPR_STMT@[90; 101) CALL_EXPR@[90; 100) PATH_EXPR@[90; 98) @@ -40,14 +40,14 @@ SOURCE_FILE@[0; 506) NAME_REF@[90; 98) IDENT@[90; 98) "do_thing" ARG_LIST@[98; 100) - L_PAREN@[98; 99) - R_PAREN@[99; 100) - SEMI@[100; 101) - WHITESPACE@[101; 110) + L_PAREN@[98; 99) "(" + R_PAREN@[99; 100) ")" + SEMI@[100; 101) ";" + WHITESPACE@[101; 110) "\n " EXPR_STMT@[110; 170) IF_EXPR@[110; 170) - IF_KW@[110; 112) - WHITESPACE@[112; 113) + IF_KW@[110; 112) "if" + WHITESPACE@[112; 113) " " CONDITION@[113; 132) CALL_EXPR@[113; 132) PATH_EXPR@[113; 130) @@ -56,21 +56,21 @@ SOURCE_FILE@[0; 506) 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) + L_PAREN@[130; 131) "(" + R_PAREN@[131; 132) ")" + WHITESPACE@[132; 133) " " BLOCK@[133; 170) - L_CURLY@[133; 134) - WHITESPACE@[134; 147) + L_CURLY@[133; 134) "{" + WHITESPACE@[134; 147) "\n " EXPR_STMT@[147; 160) BREAK_EXPR@[147; 159) - BREAK_KW@[147; 152) - WHITESPACE@[152; 153) - LIFETIME@[153; 159) "'block" - SEMI@[159; 160) - WHITESPACE@[160; 169) - R_CURLY@[169; 170) - WHITESPACE@[170; 179) + BREAK_KW@[147; 152) "break" + WHITESPACE@[152; 153) " " + LIFETIME@[153; 159) "\'block" + SEMI@[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) @@ -79,14 +79,14 @@ SOURCE_FILE@[0; 506) NAME_REF@[179; 192) IDENT@[179; 192) "do_next_thing" ARG_LIST@[192; 194) - L_PAREN@[192; 193) - R_PAREN@[193; 194) - SEMI@[194; 195) - WHITESPACE@[195; 204) + L_PAREN@[192; 193) "(" + R_PAREN@[193; 194) ")" + SEMI@[194; 195) ";" + WHITESPACE@[195; 204) "\n " EXPR_STMT@[204; 264) IF_EXPR@[204; 264) - IF_KW@[204; 206) - WHITESPACE@[206; 207) + IF_KW@[204; 206) "if" + WHITESPACE@[206; 207) " " CONDITION@[207; 226) CALL_EXPR@[207; 226) PATH_EXPR@[207; 224) @@ -95,21 +95,21 @@ SOURCE_FILE@[0; 506) 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) + L_PAREN@[224; 225) "(" + R_PAREN@[225; 226) ")" + WHITESPACE@[226; 227) " " BLOCK@[227; 264) - L_CURLY@[227; 228) - WHITESPACE@[228; 241) + L_CURLY@[227; 228) "{" + WHITESPACE@[228; 241) "\n " EXPR_STMT@[241; 254) BREAK_EXPR@[241; 253) - BREAK_KW@[241; 246) - WHITESPACE@[246; 247) - LIFETIME@[247; 253) "'block" - SEMI@[253; 254) - WHITESPACE@[254; 263) - R_CURLY@[263; 264) - WHITESPACE@[264; 273) + BREAK_KW@[241; 246) "break" + WHITESPACE@[246; 247) " " + LIFETIME@[247; 253) "\'block" + SEMI@[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) @@ -118,33 +118,33 @@ SOURCE_FILE@[0; 506) NAME_REF@[273; 286) IDENT@[273; 286) "do_last_thing" ARG_LIST@[286; 288) - L_PAREN@[286; 287) - R_PAREN@[287; 288) - SEMI@[288; 289) - WHITESPACE@[289; 294) - R_CURLY@[294; 295) - WHITESPACE@[295; 301) + L_PAREN@[286; 287) "(" + R_PAREN@[287; 288) ")" + SEMI@[288; 289) ";" + WHITESPACE@[289; 294) "\n " + R_CURLY@[294; 295) "}" + WHITESPACE@[295; 301) "\n\n " LET_STMT@[301; 503) - LET_KW@[301; 304) - WHITESPACE@[304; 305) + 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) + 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) + LIFETIME@[314; 320) "\'block" + COLON@[320; 321) ":" + WHITESPACE@[321; 322) " " BLOCK@[322; 502) - L_CURLY@[322; 323) - WHITESPACE@[323; 332) + L_CURLY@[322; 323) "{" + WHITESPACE@[323; 332) "\n " EXPR_STMT@[332; 403) IF_EXPR@[332; 403) - IF_KW@[332; 334) - WHITESPACE@[334; 335) + IF_KW@[332; 334) "if" + WHITESPACE@[334; 335) " " CONDITION@[335; 340) CALL_EXPR@[335; 340) PATH_EXPR@[335; 338) @@ -153,30 +153,30 @@ SOURCE_FILE@[0; 506) NAME_REF@[335; 338) IDENT@[335; 338) "foo" ARG_LIST@[338; 340) - L_PAREN@[338; 339) - R_PAREN@[339; 340) - WHITESPACE@[340; 341) + L_PAREN@[338; 339) "(" + R_PAREN@[339; 340) ")" + WHITESPACE@[340; 341) " " BLOCK@[341; 403) - L_CURLY@[341; 342) - WHITESPACE@[342; 355) - COMMENT@[355; 365) - WHITESPACE@[365; 378) + 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) - WHITESPACE@[383; 384) - LIFETIME@[384; 390) "'block" - WHITESPACE@[390; 391) + BREAK_KW@[378; 383) "break" + WHITESPACE@[383; 384) " " + LIFETIME@[384; 390) "\'block" + WHITESPACE@[390; 391) " " LITERAL@[391; 392) INT_NUMBER@[391; 392) "1" - SEMI@[392; 393) - WHITESPACE@[393; 402) - R_CURLY@[402; 403) - WHITESPACE@[403; 412) + SEMI@[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) - WHITESPACE@[414; 415) + IF_KW@[412; 414) "if" + WHITESPACE@[414; 415) " " CONDITION@[415; 420) CALL_EXPR@[415; 420) PATH_EXPR@[415; 418) @@ -185,31 +185,31 @@ SOURCE_FILE@[0; 506) NAME_REF@[415; 418) IDENT@[415; 418) "bar" ARG_LIST@[418; 420) - L_PAREN@[418; 419) - R_PAREN@[419; 420) - WHITESPACE@[420; 421) + L_PAREN@[418; 419) "(" + R_PAREN@[419; 420) ")" + WHITESPACE@[420; 421) " " BLOCK@[421; 486) - L_CURLY@[421; 422) - WHITESPACE@[422; 435) - COMMENT@[435; 448) - WHITESPACE@[448; 461) + 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) - WHITESPACE@[466; 467) - LIFETIME@[467; 473) "'block" - WHITESPACE@[473; 474) + BREAK_KW@[461; 466) "break" + WHITESPACE@[466; 467) " " + LIFETIME@[467; 473) "\'block" + WHITESPACE@[473; 474) " " LITERAL@[474; 475) INT_NUMBER@[474; 475) "2" - SEMI@[475; 476) - WHITESPACE@[476; 485) - R_CURLY@[485; 486) - WHITESPACE@[486; 495) + SEMI@[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) - R_CURLY@[501; 502) - SEMI@[502; 503) - WHITESPACE@[503; 504) - R_CURLY@[504; 505) - WHITESPACE@[505; 506) + WHITESPACE@[496; 501) "\n " + R_CURLY@[501; 502) "}" + SEMI@[502; 503) ";" + WHITESPACE@[503; 504) "\n" + R_CURLY@[504; 505) "}" + WHITESPACE@[505; 506) "\n" diff --git a/crates/ra_syntax/tests/data/parser/ok/0034_crate_path_in_call.txt b/crates/ra_syntax/tests/data/parser/ok/0034_crate_path_in_call.txt index 3995f476c..a77d4aabe 100644 --- a/crates/ra_syntax/tests/data/parser/ok/0034_crate_path_in_call.txt +++ b/crates/ra_syntax/tests/data/parser/ok/0034_crate_path_in_call.txt @@ -1,16 +1,16 @@ SOURCE_FILE@[0; 62) FN_DEF@[0; 61) - FN_KW@[0; 2) - WHITESPACE@[2; 3) + FN_KW@[0; 2) "fn" + WHITESPACE@[2; 3) " " NAME@[3; 7) IDENT@[3; 7) "main" PARAM_LIST@[7; 9) - L_PAREN@[7; 8) - R_PAREN@[8; 9) - WHITESPACE@[9; 10) + L_PAREN@[7; 8) "(" + R_PAREN@[8; 9) ")" + WHITESPACE@[9; 10) " " BLOCK@[10; 61) - L_CURLY@[10; 11) - WHITESPACE@[11; 16) + L_CURLY@[10; 11) "{" + WHITESPACE@[11; 16) "\n " EXPR_STMT@[16; 59) CALL_EXPR@[16; 58) PATH_EXPR@[16; 26) @@ -19,23 +19,23 @@ SOURCE_FILE@[0; 62) NAME_REF@[16; 26) IDENT@[16; 26) "make_query" ARG_LIST@[26; 58) - L_PAREN@[26; 27) + 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) - COLONCOLON@[32; 34) + CRATE_KW@[27; 32) "crate" + COLONCOLON@[32; 34) "::" PATH_SEGMENT@[34; 44) NAME_REF@[34; 44) IDENT@[34; 44) "module_map" - COLONCOLON@[44; 46) + COLONCOLON@[44; 46) "::" PATH_SEGMENT@[46; 57) NAME_REF@[46; 57) IDENT@[46; 57) "module_tree" - R_PAREN@[57; 58) - SEMI@[58; 59) - WHITESPACE@[59; 60) - R_CURLY@[60; 61) - WHITESPACE@[61; 62) + R_PAREN@[57; 58) ")" + SEMI@[58; 59) ";" + WHITESPACE@[59; 60) "\n" + R_CURLY@[60; 61) "}" + WHITESPACE@[61; 62) "\n" diff --git a/crates/ra_syntax/tests/data/parser/ok/0035_weird_exprs.txt b/crates/ra_syntax/tests/data/parser/ok/0035_weird_exprs.txt index 580baaac5..960d332e4 100644 --- a/crates/ra_syntax/tests/data/parser/ok/0035_weird_exprs.txt +++ b/crates/ra_syntax/tests/data/parser/ok/0035_weird_exprs.txt @@ -1,75 +1,75 @@ SOURCE_FILE@[0; 3813) - COMMENT@[0; 55) - WHITESPACE@[55; 56) - COMMENT@[56; 173) - WHITESPACE@[173; 174) - COMMENT@[174; 178) - WHITESPACE@[178; 179) - COMMENT@[179; 269) - WHITESPACE@[269; 271) + COMMENT@[0; 55) "//! Adapted from a `r ..." + WHITESPACE@[55; 56) "\n" + COMMENT@[56; 173) "//! https://github.co ..." + WHITESPACE@[173; 174) "\n" + COMMENT@[174; 178) "//! " + WHITESPACE@[178; 179) "\n" + COMMENT@[179; 269) "//! Reported to rust- ..." + WHITESPACE@[269; 271) "\n\n" ATTR@[271; 302) - POUND@[271; 272) - EXCL@[272; 273) + POUND@[271; 272) "#" + EXCL@[272; 273) "!" TOKEN_TREE@[273; 302) - L_BRACK@[273; 274) + L_BRACK@[273; 274) "[" IDENT@[274; 279) "allow" TOKEN_TREE@[279; 301) - L_PAREN@[279; 280) + L_PAREN@[279; 280) "(" IDENT@[280; 300) "non_camel_case_types" - R_PAREN@[300; 301) - R_BRACK@[301; 302) - WHITESPACE@[302; 303) + R_PAREN@[300; 301) ")" + R_BRACK@[301; 302) "]" + WHITESPACE@[302; 303) "\n" ATTR@[303; 323) - POUND@[303; 304) - EXCL@[304; 305) + POUND@[303; 304) "#" + EXCL@[304; 305) "!" TOKEN_TREE@[305; 323) - L_BRACK@[305; 306) + L_BRACK@[305; 306) "[" IDENT@[306; 311) "allow" TOKEN_TREE@[311; 322) - L_PAREN@[311; 312) + L_PAREN@[311; 312) "(" IDENT@[312; 321) "dead_code" - R_PAREN@[321; 322) - R_BRACK@[322; 323) - WHITESPACE@[323; 324) + R_PAREN@[321; 322) ")" + R_BRACK@[322; 323) "]" + WHITESPACE@[323; 324) "\n" ATTR@[324; 351) - POUND@[324; 325) - EXCL@[325; 326) + POUND@[324; 325) "#" + EXCL@[325; 326) "!" TOKEN_TREE@[326; 351) - L_BRACK@[326; 327) + L_BRACK@[326; 327) "[" IDENT@[327; 332) "allow" TOKEN_TREE@[332; 350) - L_PAREN@[332; 333) + L_PAREN@[332; 333) "(" IDENT@[333; 349) "unreachable_code" - R_PAREN@[349; 350) - R_BRACK@[350; 351) - WHITESPACE@[351; 352) + R_PAREN@[349; 350) ")" + R_BRACK@[350; 351) "]" + WHITESPACE@[351; 352) "\n" ATTR@[352; 376) - POUND@[352; 353) - EXCL@[353; 354) + POUND@[352; 353) "#" + EXCL@[353; 354) "!" TOKEN_TREE@[354; 376) - L_BRACK@[354; 355) + L_BRACK@[354; 355) "[" IDENT@[355; 360) "allow" TOKEN_TREE@[360; 375) - L_PAREN@[360; 361) + L_PAREN@[360; 361) "(" IDENT@[361; 374) "unused_parens" - R_PAREN@[374; 375) - R_BRACK@[375; 376) - WHITESPACE@[376; 378) + R_PAREN@[374; 375) ")" + R_BRACK@[375; 376) "]" + WHITESPACE@[376; 378) "\n\n" ATTR@[378; 405) - POUND@[378; 379) - EXCL@[379; 380) + POUND@[378; 379) "#" + EXCL@[379; 380) "!" TOKEN_TREE@[380; 405) - L_BRACK@[380; 381) + L_BRACK@[380; 381) "[" IDENT@[381; 396) "recursion_limit" - WHITESPACE@[396; 397) - EQ@[397; 398) - WHITESPACE@[398; 399) - STRING@[399; 404) - R_BRACK@[404; 405) - WHITESPACE@[405; 407) + WHITESPACE@[396; 397) " " + EQ@[397; 398) "=" + WHITESPACE@[398; 399) " " + STRING@[399; 404) "\"128\"" + R_BRACK@[404; 405) "]" + WHITESPACE@[405; 407) "\n\n" USE_ITEM@[407; 427) - USE_KW@[407; 410) - WHITESPACE@[410; 411) + USE_KW@[407; 410) "use" + WHITESPACE@[410; 411) " " USE_TREE@[411; 426) PATH@[411; 426) PATH@[411; 420) @@ -77,19 +77,19 @@ SOURCE_FILE@[0; 3813) PATH_SEGMENT@[411; 414) NAME_REF@[411; 414) IDENT@[411; 414) "std" - COLONCOLON@[414; 416) + COLONCOLON@[414; 416) "::" PATH_SEGMENT@[416; 420) NAME_REF@[416; 420) IDENT@[416; 420) "cell" - COLONCOLON@[420; 422) + COLONCOLON@[420; 422) "::" PATH_SEGMENT@[422; 426) NAME_REF@[422; 426) IDENT@[422; 426) "Cell" - SEMI@[426; 427) - WHITESPACE@[427; 428) + SEMI@[426; 427) ";" + WHITESPACE@[427; 428) "\n" USE_ITEM@[428; 447) - USE_KW@[428; 431) - WHITESPACE@[431; 432) + USE_KW@[428; 431) "use" + WHITESPACE@[431; 432) " " USE_TREE@[432; 446) PATH@[432; 446) PATH@[432; 440) @@ -97,99 +97,99 @@ SOURCE_FILE@[0; 3813) PATH_SEGMENT@[432; 435) NAME_REF@[432; 435) IDENT@[432; 435) "std" - COLONCOLON@[435; 437) + COLONCOLON@[435; 437) "::" PATH_SEGMENT@[437; 440) NAME_REF@[437; 440) IDENT@[437; 440) "mem" - COLONCOLON@[440; 442) + COLONCOLON@[440; 442) "::" PATH_SEGMENT@[442; 446) NAME_REF@[442; 446) IDENT@[442; 446) "swap" - SEMI@[446; 447) - WHITESPACE@[447; 449) - COMMENT@[449; 518) - WHITESPACE@[518; 520) + SEMI@[446; 447) ";" + WHITESPACE@[447; 449) "\n\n" + COMMENT@[449; 518) "// Just a grab bag of ..." + WHITESPACE@[518; 520) "\n\n" FN_DEF@[520; 572) - FN_KW@[520; 522) - WHITESPACE@[522; 523) + FN_KW@[520; 522) "fn" + WHITESPACE@[522; 523) " " NAME@[523; 530) IDENT@[523; 530) "strange" PARAM_LIST@[530; 532) - L_PAREN@[530; 531) - R_PAREN@[531; 532) - WHITESPACE@[532; 533) + L_PAREN@[530; 531) "(" + R_PAREN@[531; 532) ")" + WHITESPACE@[532; 533) " " RET_TYPE@[533; 540) - THIN_ARROW@[533; 535) - WHITESPACE@[535; 536) + THIN_ARROW@[533; 535) "->" + WHITESPACE@[535; 536) " " PATH_TYPE@[536; 540) PATH@[536; 540) PATH_SEGMENT@[536; 540) NAME_REF@[536; 540) IDENT@[536; 540) "bool" - WHITESPACE@[540; 541) + WHITESPACE@[540; 541) " " BLOCK@[541; 572) - L_CURLY@[541; 542) - WHITESPACE@[542; 543) + L_CURLY@[541; 542) "{" + WHITESPACE@[542; 543) " " LET_STMT@[543; 570) - LET_KW@[543; 546) - WHITESPACE@[546; 547) + 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) + 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) + WHITESPACE@[555; 556) " " + EQ@[556; 557) "=" + WHITESPACE@[557; 558) " " RETURN_EXPR@[558; 569) - RETURN_KW@[558; 564) - WHITESPACE@[564; 565) + RETURN_KW@[558; 564) "return" + WHITESPACE@[564; 565) " " LITERAL@[565; 569) - TRUE_KW@[565; 569) - SEMI@[569; 570) - WHITESPACE@[570; 571) - R_CURLY@[571; 572) - WHITESPACE@[572; 574) + TRUE_KW@[565; 569) "true" + SEMI@[569; 570) ";" + WHITESPACE@[570; 571) " " + R_CURLY@[571; 572) "}" + WHITESPACE@[572; 574) "\n\n" FN_DEF@[574; 624) - FN_KW@[574; 576) - WHITESPACE@[576; 577) + FN_KW@[574; 576) "fn" + WHITESPACE@[576; 577) " " NAME@[577; 582) IDENT@[577; 582) "funny" PARAM_LIST@[582; 584) - L_PAREN@[582; 583) - R_PAREN@[583; 584) - WHITESPACE@[584; 585) + L_PAREN@[582; 583) "(" + R_PAREN@[583; 584) ")" + WHITESPACE@[584; 585) " " BLOCK@[585; 624) - L_CURLY@[585; 586) - WHITESPACE@[586; 591) + L_CURLY@[585; 586) "{" + WHITESPACE@[586; 591) "\n " FN_DEF@[591; 607) - FN_KW@[591; 593) - WHITESPACE@[593; 594) + FN_KW@[591; 593) "fn" + WHITESPACE@[593; 594) " " NAME@[594; 595) IDENT@[594; 595) "f" PARAM_LIST@[595; 603) - L_PAREN@[595; 596) + L_PAREN@[595; 596) "(" PARAM@[596; 602) BIND_PAT@[596; 598) NAME@[596; 598) IDENT@[596; 598) "_x" - COLON@[598; 599) - WHITESPACE@[599; 600) + 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) + L_PAREN@[600; 601) "(" + R_PAREN@[601; 602) ")" + R_PAREN@[602; 603) ")" + WHITESPACE@[603; 604) " " BLOCK@[604; 607) - L_CURLY@[604; 605) - WHITESPACE@[605; 606) - R_CURLY@[606; 607) - WHITESPACE@[607; 612) + 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) @@ -198,86 +198,86 @@ SOURCE_FILE@[0; 3813) NAME_REF@[612; 613) IDENT@[612; 613) "f" ARG_LIST@[613; 621) - L_PAREN@[613; 614) + L_PAREN@[613; 614) "(" RETURN_EXPR@[614; 620) - RETURN_KW@[614; 620) - R_PAREN@[620; 621) - SEMI@[621; 622) - WHITESPACE@[622; 623) - R_CURLY@[623; 624) - WHITESPACE@[624; 626) + RETURN_KW@[614; 620) "return" + R_PAREN@[620; 621) ")" + SEMI@[621; 622) ";" + WHITESPACE@[622; 623) "\n" + R_CURLY@[623; 624) "}" + WHITESPACE@[624; 626) "\n\n" FN_DEF@[626; 816) - FN_KW@[626; 628) - WHITESPACE@[628; 629) + FN_KW@[626; 628) "fn" + WHITESPACE@[628; 629) " " NAME@[629; 633) IDENT@[629; 633) "what" PARAM_LIST@[633; 635) - L_PAREN@[633; 634) - R_PAREN@[634; 635) - WHITESPACE@[635; 636) + L_PAREN@[633; 634) "(" + R_PAREN@[634; 635) ")" + WHITESPACE@[635; 636) " " BLOCK@[636; 816) - L_CURLY@[636; 637) - WHITESPACE@[637; 642) + L_CURLY@[636; 637) "{" + WHITESPACE@[637; 642) "\n " FN_DEF@[642; 720) - FN_KW@[642; 644) - WHITESPACE@[644; 645) + FN_KW@[642; 644) "fn" + WHITESPACE@[644; 645) " " NAME@[645; 648) IDENT@[645; 648) "the" PARAM_LIST@[648; 664) - L_PAREN@[648; 649) + L_PAREN@[648; 649) "(" PARAM@[649; 663) BIND_PAT@[649; 650) NAME@[649; 650) IDENT@[649; 650) "x" - COLON@[650; 651) - WHITESPACE@[651; 652) + COLON@[650; 651) ":" + WHITESPACE@[651; 652) " " REFERENCE_TYPE@[652; 663) - AMP@[652; 653) + 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) + 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) + R_ANGLE@[662; 663) ">" + R_PAREN@[663; 664) ")" + WHITESPACE@[664; 665) " " BLOCK@[665; 720) - L_CURLY@[665; 666) - WHITESPACE@[666; 675) + L_CURLY@[665; 666) "{" + WHITESPACE@[666; 675) "\n " EXPR_STMT@[675; 714) RETURN_EXPR@[675; 713) - RETURN_KW@[675; 681) - WHITESPACE@[681; 682) + RETURN_KW@[675; 681) "return" + WHITESPACE@[681; 682) " " WHILE_EXPR@[682; 713) - WHILE_KW@[682; 687) - WHITESPACE@[687; 688) + WHILE_KW@[682; 687) "while" + WHITESPACE@[687; 688) " " CONDITION@[688; 696) PREFIX_EXPR@[688; 696) - EXCL@[688; 689) + EXCL@[688; 689) "!" METHOD_CALL_EXPR@[689; 696) PATH_EXPR@[689; 690) PATH@[689; 690) PATH_SEGMENT@[689; 690) NAME_REF@[689; 690) IDENT@[689; 690) "x" - DOT@[690; 691) + 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) + L_PAREN@[694; 695) "(" + R_PAREN@[695; 696) ")" + WHITESPACE@[696; 697) " " BLOCK@[697; 713) - L_CURLY@[697; 698) - WHITESPACE@[698; 699) + L_CURLY@[697; 698) "{" + WHITESPACE@[698; 699) " " EXPR_STMT@[699; 711) METHOD_CALL_EXPR@[699; 710) PATH_EXPR@[699; 700) @@ -285,32 +285,32 @@ SOURCE_FILE@[0; 3813) PATH_SEGMENT@[699; 700) NAME_REF@[699; 700) IDENT@[699; 700) "x" - DOT@[700; 701) + DOT@[700; 701) "." NAME_REF@[701; 704) IDENT@[701; 704) "set" ARG_LIST@[704; 710) - L_PAREN@[704; 705) + L_PAREN@[704; 705) "(" LITERAL@[705; 709) - TRUE_KW@[705; 709) - R_PAREN@[709; 710) - SEMI@[710; 711) - WHITESPACE@[711; 712) - R_CURLY@[712; 713) - SEMI@[713; 714) - WHITESPACE@[714; 719) - R_CURLY@[719; 720) - WHITESPACE@[720; 725) + TRUE_KW@[705; 709) "true" + R_PAREN@[709; 710) ")" + SEMI@[710; 711) ";" + WHITESPACE@[711; 712) " " + R_CURLY@[712; 713) "}" + SEMI@[713; 714) ";" + WHITESPACE@[714; 719) "\n " + R_CURLY@[719; 720) "}" + WHITESPACE@[720; 725) "\n " LET_STMT@[725; 751) - LET_KW@[725; 728) - WHITESPACE@[728; 729) + 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) + WHITESPACE@[730; 731) " " + EQ@[731; 732) "=" + WHITESPACE@[732; 733) " " REF_EXPR@[733; 750) - AMP@[733; 734) + AMP@[733; 734) "&" CALL_EXPR@[734; 750) PATH_EXPR@[734; 743) PATH@[734; 743) @@ -318,33 +318,33 @@ SOURCE_FILE@[0; 3813) PATH_SEGMENT@[734; 738) NAME_REF@[734; 738) IDENT@[734; 738) "Cell" - COLONCOLON@[738; 740) + COLONCOLON@[738; 740) "::" PATH_SEGMENT@[740; 743) NAME_REF@[740; 743) IDENT@[740; 743) "new" ARG_LIST@[743; 750) - L_PAREN@[743; 744) + L_PAREN@[743; 744) "(" LITERAL@[744; 749) - FALSE_KW@[744; 749) - R_PAREN@[749; 750) - SEMI@[750; 751) - WHITESPACE@[751; 756) + FALSE_KW@[744; 749) "false" + R_PAREN@[749; 750) ")" + SEMI@[750; 751) ";" + WHITESPACE@[751; 756) "\n " LET_STMT@[756; 778) - LET_KW@[756; 759) - WHITESPACE@[759; 760) + 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) + WHITESPACE@[764; 765) " " + EQ@[765; 766) "=" + WHITESPACE@[766; 767) " " BLOCK_EXPR@[767; 777) BLOCK@[767; 777) - L_CURLY@[767; 768) + L_CURLY@[767; 768) "{" LAMBDA_EXPR@[768; 776) PARAM_LIST@[768; 770) - PIPE@[768; 769) - PIPE@[769; 770) + PIPE@[768; 769) "|" + PIPE@[769; 770) "|" CALL_EXPR@[770; 776) PATH_EXPR@[770; 773) PATH@[770; 773) @@ -352,16 +352,16 @@ SOURCE_FILE@[0; 3813) NAME_REF@[770; 773) IDENT@[770; 773) "the" ARG_LIST@[773; 776) - L_PAREN@[773; 774) + L_PAREN@[773; 774) "(" PATH_EXPR@[774; 775) PATH@[774; 775) PATH_SEGMENT@[774; 775) NAME_REF@[774; 775) IDENT@[774; 775) "i" - R_PAREN@[775; 776) - R_CURLY@[776; 777) - SEMI@[777; 778) - WHITESPACE@[778; 783) + R_PAREN@[775; 776) ")" + R_CURLY@[776; 777) "}" + SEMI@[777; 778) ";" + WHITESPACE@[778; 783) "\n " EXPR_STMT@[783; 790) CALL_EXPR@[783; 789) PATH_EXPR@[783; 787) @@ -370,371 +370,371 @@ SOURCE_FILE@[0; 3813) NAME_REF@[783; 787) IDENT@[783; 787) "dont" ARG_LIST@[787; 789) - L_PAREN@[787; 788) - R_PAREN@[788; 789) - SEMI@[789; 790) - WHITESPACE@[790; 795) + L_PAREN@[787; 788) "(" + R_PAREN@[788; 789) ")" + SEMI@[789; 790) ";" + WHITESPACE@[790; 795) "\n " EXPR_STMT@[795; 814) MACRO_CALL@[795; 813) PATH@[795; 801) PATH_SEGMENT@[795; 801) NAME_REF@[795; 801) IDENT@[795; 801) "assert" - EXCL@[801; 802) + EXCL@[801; 802) "!" TOKEN_TREE@[802; 813) - L_PAREN@[802; 803) + L_PAREN@[802; 803) "(" TOKEN_TREE@[803; 812) - L_PAREN@[803; 804) + L_PAREN@[803; 804) "(" IDENT@[804; 805) "i" - DOT@[805; 806) + DOT@[805; 806) "." IDENT@[806; 809) "get" TOKEN_TREE@[809; 811) - L_PAREN@[809; 810) - R_PAREN@[810; 811) - R_PAREN@[811; 812) - R_PAREN@[812; 813) - SEMI@[813; 814) - WHITESPACE@[814; 815) - R_CURLY@[815; 816) - WHITESPACE@[816; 818) + L_PAREN@[809; 810) "(" + R_PAREN@[810; 811) ")" + R_PAREN@[811; 812) ")" + R_PAREN@[812; 813) ")" + SEMI@[813; 814) ";" + WHITESPACE@[814; 815) "\n" + R_CURLY@[815; 816) "}" + WHITESPACE@[816; 818) "\n\n" FN_DEF@[818; 1322) - FN_KW@[818; 820) - WHITESPACE@[820; 821) + FN_KW@[818; 820) "fn" + WHITESPACE@[820; 821) " " NAME@[821; 832) IDENT@[821; 832) "zombiejesus" PARAM_LIST@[832; 834) - L_PAREN@[832; 833) - R_PAREN@[833; 834) - WHITESPACE@[834; 835) + L_PAREN@[832; 833) "(" + R_PAREN@[833; 834) ")" + WHITESPACE@[834; 835) " " BLOCK@[835; 1322) - L_CURLY@[835; 836) - WHITESPACE@[836; 841) + L_CURLY@[835; 836) "{" + WHITESPACE@[836; 841) "\n " LOOP_EXPR@[841; 1320) - LOOP_KW@[841; 845) - WHITESPACE@[845; 846) + LOOP_KW@[841; 845) "loop" + WHITESPACE@[845; 846) " " BLOCK@[846; 1320) - L_CURLY@[846; 847) - WHITESPACE@[847; 856) + L_CURLY@[846; 847) "{" + WHITESPACE@[847; 856) "\n " EXPR_STMT@[856; 1283) WHILE_EXPR@[856; 1283) - WHILE_KW@[856; 861) - WHITESPACE@[861; 862) + WHILE_KW@[856; 861) "while" + WHITESPACE@[861; 862) " " CONDITION@[862; 870) PAREN_EXPR@[862; 870) - L_PAREN@[862; 863) + L_PAREN@[862; 863) "(" RETURN_EXPR@[863; 869) - RETURN_KW@[863; 869) - R_PAREN@[869; 870) - WHITESPACE@[870; 871) + RETURN_KW@[863; 869) "return" + R_PAREN@[869; 870) ")" + WHITESPACE@[870; 871) " " BLOCK@[871; 1283) - L_CURLY@[871; 872) - WHITESPACE@[872; 885) + L_CURLY@[871; 872) "{" + WHITESPACE@[872; 885) "\n " IF_EXPR@[885; 1273) - IF_KW@[885; 887) - WHITESPACE@[887; 888) + IF_KW@[885; 887) "if" + WHITESPACE@[887; 888) " " CONDITION@[888; 896) PAREN_EXPR@[888; 896) - L_PAREN@[888; 889) + L_PAREN@[888; 889) "(" RETURN_EXPR@[889; 895) - RETURN_KW@[889; 895) - R_PAREN@[895; 896) - WHITESPACE@[896; 897) + RETURN_KW@[889; 895) "return" + R_PAREN@[895; 896) ")" + WHITESPACE@[896; 897) " " BLOCK@[897; 1216) - L_CURLY@[897; 898) - WHITESPACE@[898; 915) + L_CURLY@[897; 898) "{" + WHITESPACE@[898; 915) "\n " EXPR_STMT@[915; 1202) MATCH_EXPR@[915; 1201) - MATCH_KW@[915; 920) - WHITESPACE@[920; 921) + MATCH_KW@[915; 920) "match" + WHITESPACE@[920; 921) " " PAREN_EXPR@[921; 929) - L_PAREN@[921; 922) + L_PAREN@[921; 922) "(" RETURN_EXPR@[922; 928) - RETURN_KW@[922; 928) - R_PAREN@[928; 929) - WHITESPACE@[929; 930) + RETURN_KW@[922; 928) "return" + R_PAREN@[928; 929) ")" + WHITESPACE@[929; 930) " " MATCH_ARM_LIST@[930; 1201) - L_CURLY@[930; 931) - WHITESPACE@[931; 952) + 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) + WHITESPACE@[953; 954) " " + FAT_ARROW@[954; 956) "=>" + WHITESPACE@[956; 957) " " BLOCK_EXPR@[957; 1147) BLOCK@[957; 1147) - L_CURLY@[957; 958) - WHITESPACE@[958; 983) + L_CURLY@[957; 958) "{" + WHITESPACE@[958; 983) "\n ..." IF_EXPR@[983; 1125) - IF_KW@[983; 985) - WHITESPACE@[985; 986) + IF_KW@[983; 985) "if" + WHITESPACE@[985; 986) " " CONDITION@[986; 994) PAREN_EXPR@[986; 994) - L_PAREN@[986; 987) + L_PAREN@[986; 987) "(" RETURN_EXPR@[987; 993) - RETURN_KW@[987; 993) - R_PAREN@[993; 994) - WHITESPACE@[994; 995) + RETURN_KW@[987; 993) "return" + R_PAREN@[993; 994) ")" + WHITESPACE@[994; 995) " " BLOCK@[995; 1057) - L_CURLY@[995; 996) - WHITESPACE@[996; 1025) + L_CURLY@[995; 996) "{" + WHITESPACE@[996; 1025) "\n ..." RETURN_EXPR@[1025; 1031) - RETURN_KW@[1025; 1031) - WHITESPACE@[1031; 1056) - R_CURLY@[1056; 1057) - WHITESPACE@[1057; 1058) - ELSE_KW@[1058; 1062) - WHITESPACE@[1062; 1063) + RETURN_KW@[1025; 1031) "return" + WHITESPACE@[1031; 1056) "\n ..." + R_CURLY@[1056; 1057) "}" + WHITESPACE@[1057; 1058) " " + ELSE_KW@[1058; 1062) "else" + WHITESPACE@[1062; 1063) " " BLOCK@[1063; 1125) - L_CURLY@[1063; 1064) - WHITESPACE@[1064; 1093) + L_CURLY@[1063; 1064) "{" + WHITESPACE@[1064; 1093) "\n ..." RETURN_EXPR@[1093; 1099) - RETURN_KW@[1093; 1099) - WHITESPACE@[1099; 1124) - R_CURLY@[1124; 1125) - WHITESPACE@[1125; 1146) - R_CURLY@[1146; 1147) - WHITESPACE@[1147; 1168) + 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) + 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) + L_CURLY@[1173; 1174) "{" + WHITESPACE@[1174; 1175) " " RETURN_EXPR@[1175; 1181) - RETURN_KW@[1175; 1181) - WHITESPACE@[1181; 1182) - R_CURLY@[1182; 1183) - WHITESPACE@[1183; 1200) - R_CURLY@[1200; 1201) - SEMI@[1201; 1202) - WHITESPACE@[1202; 1215) - R_CURLY@[1215; 1216) - WHITESPACE@[1216; 1217) - ELSE_KW@[1217; 1221) - WHITESPACE@[1221; 1222) + RETURN_KW@[1175; 1181) "return" + WHITESPACE@[1181; 1182) " " + R_CURLY@[1182; 1183) "}" + WHITESPACE@[1183; 1200) "\n " + R_CURLY@[1200; 1201) "}" + SEMI@[1201; 1202) ";" + WHITESPACE@[1202; 1215) "\n " + R_CURLY@[1215; 1216) "}" + WHITESPACE@[1216; 1217) " " + ELSE_KW@[1217; 1221) "else" + WHITESPACE@[1221; 1222) " " IF_EXPR@[1222; 1273) - IF_KW@[1222; 1224) - WHITESPACE@[1224; 1225) + IF_KW@[1222; 1224) "if" + WHITESPACE@[1224; 1225) " " CONDITION@[1225; 1233) PAREN_EXPR@[1225; 1233) - L_PAREN@[1225; 1226) + L_PAREN@[1225; 1226) "(" RETURN_EXPR@[1226; 1232) - RETURN_KW@[1226; 1232) - R_PAREN@[1232; 1233) - WHITESPACE@[1233; 1234) + RETURN_KW@[1226; 1232) "return" + R_PAREN@[1232; 1233) ")" + WHITESPACE@[1233; 1234) " " BLOCK@[1234; 1273) - L_CURLY@[1234; 1235) - WHITESPACE@[1235; 1252) + L_CURLY@[1234; 1235) "{" + WHITESPACE@[1235; 1252) "\n " EXPR_STMT@[1252; 1259) RETURN_EXPR@[1252; 1258) - RETURN_KW@[1252; 1258) - SEMI@[1258; 1259) - WHITESPACE@[1259; 1272) - R_CURLY@[1272; 1273) - WHITESPACE@[1273; 1282) - R_CURLY@[1282; 1283) - WHITESPACE@[1283; 1292) + RETURN_KW@[1252; 1258) "return" + SEMI@[1258; 1259) ";" + WHITESPACE@[1259; 1272) "\n " + R_CURLY@[1272; 1273) "}" + WHITESPACE@[1273; 1282) "\n " + R_CURLY@[1282; 1283) "}" + WHITESPACE@[1283; 1292) "\n " IF_EXPR@[1292; 1314) - IF_KW@[1292; 1294) - WHITESPACE@[1294; 1295) + IF_KW@[1292; 1294) "if" + WHITESPACE@[1294; 1295) " " CONDITION@[1295; 1303) PAREN_EXPR@[1295; 1303) - L_PAREN@[1295; 1296) + L_PAREN@[1295; 1296) "(" RETURN_EXPR@[1296; 1302) - RETURN_KW@[1296; 1302) - R_PAREN@[1302; 1303) - WHITESPACE@[1303; 1304) + RETURN_KW@[1296; 1302) "return" + R_PAREN@[1302; 1303) ")" + WHITESPACE@[1303; 1304) " " BLOCK@[1304; 1314) - L_CURLY@[1304; 1305) - WHITESPACE@[1305; 1306) + L_CURLY@[1304; 1305) "{" + WHITESPACE@[1305; 1306) " " EXPR_STMT@[1306; 1312) BREAK_EXPR@[1306; 1311) - BREAK_KW@[1306; 1311) - SEMI@[1311; 1312) - WHITESPACE@[1312; 1313) - R_CURLY@[1313; 1314) - WHITESPACE@[1314; 1319) - R_CURLY@[1319; 1320) - WHITESPACE@[1320; 1321) - R_CURLY@[1321; 1322) - WHITESPACE@[1322; 1324) + BREAK_KW@[1306; 1311) "break" + SEMI@[1311; 1312) ";" + WHITESPACE@[1312; 1313) " " + R_CURLY@[1313; 1314) "}" + WHITESPACE@[1314; 1319) "\n " + R_CURLY@[1319; 1320) "}" + WHITESPACE@[1320; 1321) "\n" + R_CURLY@[1321; 1322) "}" + WHITESPACE@[1322; 1324) "\n\n" FN_DEF@[1324; 1539) - FN_KW@[1324; 1326) - WHITESPACE@[1326; 1327) + FN_KW@[1324; 1326) "fn" + WHITESPACE@[1326; 1327) " " NAME@[1327; 1334) IDENT@[1327; 1334) "notsure" PARAM_LIST@[1334; 1336) - L_PAREN@[1334; 1335) - R_PAREN@[1335; 1336) - WHITESPACE@[1336; 1337) + L_PAREN@[1334; 1335) "(" + R_PAREN@[1335; 1336) ")" + WHITESPACE@[1336; 1337) " " BLOCK@[1337; 1539) - L_CURLY@[1337; 1338) - WHITESPACE@[1338; 1343) + L_CURLY@[1337; 1338) "{" + WHITESPACE@[1338; 1343) "\n " LET_STMT@[1343; 1361) - LET_KW@[1343; 1346) - WHITESPACE@[1346; 1347) + LET_KW@[1343; 1346) "let" + WHITESPACE@[1346; 1347) " " BIND_PAT@[1347; 1353) - MUT_KW@[1347; 1350) - WHITESPACE@[1350; 1351) + MUT_KW@[1347; 1350) "mut" + WHITESPACE@[1350; 1351) " " NAME@[1351; 1353) IDENT@[1351; 1353) "_x" - COLON@[1353; 1354) - WHITESPACE@[1354; 1355) + COLON@[1353; 1354) ":" + WHITESPACE@[1354; 1355) " " PATH_TYPE@[1355; 1360) PATH@[1355; 1360) PATH_SEGMENT@[1355; 1360) NAME_REF@[1355; 1360) IDENT@[1355; 1360) "isize" - SEMI@[1360; 1361) - WHITESPACE@[1361; 1366) + SEMI@[1360; 1361) ";" + WHITESPACE@[1361; 1366) "\n " LET_STMT@[1366; 1400) - LET_KW@[1366; 1369) - WHITESPACE@[1369; 1370) + LET_KW@[1366; 1369) "let" + WHITESPACE@[1369; 1370) " " BIND_PAT@[1370; 1376) - MUT_KW@[1370; 1373) - WHITESPACE@[1373; 1374) + MUT_KW@[1370; 1373) "mut" + WHITESPACE@[1373; 1374) " " NAME@[1374; 1376) IDENT@[1374; 1376) "_y" - WHITESPACE@[1376; 1377) - EQ@[1377; 1378) - WHITESPACE@[1378; 1379) + WHITESPACE@[1376; 1377) " " + EQ@[1377; 1378) "=" + WHITESPACE@[1378; 1379) " " BIN_EXPR@[1379; 1399) PAREN_EXPR@[1379; 1387) - L_PAREN@[1379; 1380) + 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) + WHITESPACE@[1382; 1383) " " + EQ@[1383; 1384) "=" + WHITESPACE@[1384; 1385) " " LITERAL@[1385; 1386) INT_NUMBER@[1385; 1386) "0" - R_PAREN@[1386; 1387) - WHITESPACE@[1387; 1388) - EQEQ@[1388; 1390) - WHITESPACE@[1390; 1391) + R_PAREN@[1386; 1387) ")" + WHITESPACE@[1387; 1388) " " + EQEQ@[1388; 1390) "==" + WHITESPACE@[1390; 1391) " " PAREN_EXPR@[1391; 1399) - L_PAREN@[1391; 1392) + 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) + WHITESPACE@[1394; 1395) " " + EQ@[1395; 1396) "=" + WHITESPACE@[1396; 1397) " " LITERAL@[1397; 1398) INT_NUMBER@[1397; 1398) "0" - R_PAREN@[1398; 1399) - SEMI@[1399; 1400) - WHITESPACE@[1400; 1405) + R_PAREN@[1398; 1399) ")" + SEMI@[1399; 1400) ";" + WHITESPACE@[1400; 1405) "\n " LET_STMT@[1405; 1438) - LET_KW@[1405; 1408) - WHITESPACE@[1408; 1409) + LET_KW@[1405; 1408) "let" + WHITESPACE@[1408; 1409) " " BIND_PAT@[1409; 1415) - MUT_KW@[1409; 1412) - WHITESPACE@[1412; 1413) + MUT_KW@[1409; 1412) "mut" + WHITESPACE@[1412; 1413) " " NAME@[1413; 1415) IDENT@[1413; 1415) "_z" - WHITESPACE@[1415; 1416) - EQ@[1416; 1417) - WHITESPACE@[1417; 1418) + WHITESPACE@[1415; 1416) " " + EQ@[1416; 1417) "=" + WHITESPACE@[1417; 1418) " " BIN_EXPR@[1418; 1437) PAREN_EXPR@[1418; 1426) - L_PAREN@[1418; 1419) + 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) + 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) + R_PAREN@[1425; 1426) ")" + WHITESPACE@[1426; 1427) " " + L_ANGLE@[1427; 1428) "<" + WHITESPACE@[1428; 1429) " " PAREN_EXPR@[1429; 1437) - L_PAREN@[1429; 1430) + 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) + WHITESPACE@[1432; 1433) " " + EQ@[1433; 1434) "=" + WHITESPACE@[1434; 1435) " " LITERAL@[1435; 1436) INT_NUMBER@[1435; 1436) "0" - R_PAREN@[1436; 1437) - SEMI@[1437; 1438) - WHITESPACE@[1438; 1443) + R_PAREN@[1436; 1437) ")" + SEMI@[1437; 1438) ";" + WHITESPACE@[1438; 1443) "\n " LET_STMT@[1443; 1474) - LET_KW@[1443; 1446) - WHITESPACE@[1446; 1447) + 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) + WHITESPACE@[1449; 1450) " " + EQ@[1450; 1451) "=" + WHITESPACE@[1451; 1452) " " BIN_EXPR@[1452; 1473) PAREN_EXPR@[1452; 1461) - L_PAREN@[1452; 1453) + 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) + WHITESPACE@[1455; 1456) " " + PLUSEQ@[1456; 1458) "+=" + WHITESPACE@[1458; 1459) " " LITERAL@[1459; 1460) INT_NUMBER@[1459; 1460) "0" - R_PAREN@[1460; 1461) - WHITESPACE@[1461; 1462) - EQEQ@[1462; 1464) - WHITESPACE@[1464; 1465) + R_PAREN@[1460; 1461) ")" + WHITESPACE@[1461; 1462) " " + EQEQ@[1462; 1464) "==" + WHITESPACE@[1464; 1465) " " PAREN_EXPR@[1465; 1473) - L_PAREN@[1465; 1466) + 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) + WHITESPACE@[1468; 1469) " " + EQ@[1469; 1470) "=" + WHITESPACE@[1470; 1471) " " LITERAL@[1471; 1472) INT_NUMBER@[1471; 1472) "0" - R_PAREN@[1472; 1473) - SEMI@[1473; 1474) - WHITESPACE@[1474; 1479) + R_PAREN@[1472; 1473) ")" + SEMI@[1473; 1474) ";" + WHITESPACE@[1474; 1479) "\n " LET_STMT@[1479; 1537) - LET_KW@[1479; 1482) - WHITESPACE@[1482; 1483) + 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) + WHITESPACE@[1485; 1486) " " + EQ@[1486; 1487) "=" + WHITESPACE@[1487; 1488) " " BIN_EXPR@[1488; 1536) CALL_EXPR@[1488; 1510) PATH_EXPR@[1488; 1492) @@ -743,31 +743,31 @@ SOURCE_FILE@[0; 3813) NAME_REF@[1488; 1492) IDENT@[1488; 1492) "swap" ARG_LIST@[1492; 1510) - L_PAREN@[1492; 1493) + L_PAREN@[1492; 1493) "(" REF_EXPR@[1493; 1500) - AMP@[1493; 1494) - MUT_KW@[1494; 1497) - WHITESPACE@[1497; 1498) + 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) + COMMA@[1500; 1501) "," + WHITESPACE@[1501; 1502) " " REF_EXPR@[1502; 1509) - AMP@[1502; 1503) - MUT_KW@[1503; 1506) - WHITESPACE@[1506; 1507) + AMP@[1502; 1503) "&" + MUT_KW@[1503; 1506) "mut" + WHITESPACE@[1506; 1507) " " PATH_EXPR@[1507; 1509) PATH@[1507; 1509) PATH_SEGMENT@[1507; 1509) NAME_REF@[1507; 1509) IDENT@[1507; 1509) "_z" - R_PAREN@[1509; 1510) - WHITESPACE@[1510; 1511) - EQEQ@[1511; 1513) - WHITESPACE@[1513; 1514) + R_PAREN@[1509; 1510) ")" + WHITESPACE@[1510; 1511) " " + EQEQ@[1511; 1513) "==" + WHITESPACE@[1513; 1514) " " CALL_EXPR@[1514; 1536) PATH_EXPR@[1514; 1518) PATH@[1514; 1518) @@ -775,265 +775,265 @@ SOURCE_FILE@[0; 3813) NAME_REF@[1514; 1518) IDENT@[1514; 1518) "swap" ARG_LIST@[1518; 1536) - L_PAREN@[1518; 1519) + L_PAREN@[1518; 1519) "(" REF_EXPR@[1519; 1526) - AMP@[1519; 1520) - MUT_KW@[1520; 1523) - WHITESPACE@[1523; 1524) + 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) + COMMA@[1526; 1527) "," + WHITESPACE@[1527; 1528) " " REF_EXPR@[1528; 1535) - AMP@[1528; 1529) - MUT_KW@[1529; 1532) - WHITESPACE@[1532; 1533) + AMP@[1528; 1529) "&" + MUT_KW@[1529; 1532) "mut" + WHITESPACE@[1532; 1533) " " PATH_EXPR@[1533; 1535) PATH@[1533; 1535) PATH_SEGMENT@[1533; 1535) NAME_REF@[1533; 1535) IDENT@[1533; 1535) "_z" - R_PAREN@[1535; 1536) - SEMI@[1536; 1537) - WHITESPACE@[1537; 1538) - R_CURLY@[1538; 1539) - WHITESPACE@[1539; 1541) + R_PAREN@[1535; 1536) ")" + SEMI@[1536; 1537) ";" + WHITESPACE@[1537; 1538) "\n" + R_CURLY@[1538; 1539) "}" + WHITESPACE@[1539; 1541) "\n\n" FN_DEF@[1541; 1741) - FN_KW@[1541; 1543) - WHITESPACE@[1543; 1544) + FN_KW@[1541; 1543) "fn" + WHITESPACE@[1543; 1544) " " NAME@[1544; 1557) IDENT@[1544; 1557) "canttouchthis" PARAM_LIST@[1557; 1559) - L_PAREN@[1557; 1558) - R_PAREN@[1558; 1559) - WHITESPACE@[1559; 1560) + L_PAREN@[1557; 1558) "(" + R_PAREN@[1558; 1559) ")" + WHITESPACE@[1559; 1560) " " RET_TYPE@[1560; 1568) - THIN_ARROW@[1560; 1562) - WHITESPACE@[1562; 1563) + THIN_ARROW@[1560; 1562) "->" + WHITESPACE@[1562; 1563) " " PATH_TYPE@[1563; 1568) PATH@[1563; 1568) PATH_SEGMENT@[1563; 1568) NAME_REF@[1563; 1568) IDENT@[1563; 1568) "usize" - WHITESPACE@[1568; 1569) + WHITESPACE@[1568; 1569) " " BLOCK@[1569; 1741) - L_CURLY@[1569; 1570) - WHITESPACE@[1570; 1575) + L_CURLY@[1569; 1570) "{" + WHITESPACE@[1570; 1575) "\n " FN_DEF@[1575; 1598) - FN_KW@[1575; 1577) - WHITESPACE@[1577; 1578) + 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) + L_PAREN@[1579; 1580) "(" + R_PAREN@[1580; 1581) ")" + WHITESPACE@[1581; 1582) " " RET_TYPE@[1582; 1589) - THIN_ARROW@[1582; 1584) - WHITESPACE@[1584; 1585) + 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) + WHITESPACE@[1589; 1590) " " BLOCK@[1590; 1598) - L_CURLY@[1590; 1591) - WHITESPACE@[1591; 1592) + L_CURLY@[1590; 1591) "{" + WHITESPACE@[1591; 1592) " " LITERAL@[1592; 1596) - TRUE_KW@[1592; 1596) - WHITESPACE@[1596; 1597) - R_CURLY@[1597; 1598) - WHITESPACE@[1598; 1603) + TRUE_KW@[1592; 1596) "true" + WHITESPACE@[1596; 1597) " " + R_CURLY@[1597; 1598) "}" + WHITESPACE@[1598; 1603) "\n " LET_STMT@[1603; 1648) - LET_KW@[1603; 1606) - WHITESPACE@[1606; 1607) + 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) + WHITESPACE@[1609; 1610) " " + EQ@[1610; 1611) "=" + WHITESPACE@[1611; 1612) " " PAREN_EXPR@[1612; 1647) - L_PAREN@[1612; 1613) + L_PAREN@[1612; 1613) "(" BIN_EXPR@[1613; 1646) MACRO_CALL@[1613; 1628) PATH@[1613; 1619) PATH_SEGMENT@[1613; 1619) NAME_REF@[1613; 1619) IDENT@[1613; 1619) "assert" - EXCL@[1619; 1620) + EXCL@[1619; 1620) "!" TOKEN_TREE@[1620; 1628) - L_PAREN@[1620; 1621) + L_PAREN@[1620; 1621) "(" TOKEN_TREE@[1621; 1627) - L_PAREN@[1621; 1622) - TRUE_KW@[1622; 1626) - R_PAREN@[1626; 1627) - R_PAREN@[1627; 1628) - WHITESPACE@[1628; 1629) - EQEQ@[1629; 1631) - WHITESPACE@[1631; 1632) + L_PAREN@[1621; 1622) "(" + TRUE_KW@[1622; 1626) "true" + R_PAREN@[1626; 1627) ")" + R_PAREN@[1627; 1628) ")" + WHITESPACE@[1628; 1629) " " + EQEQ@[1629; 1631) "==" + WHITESPACE@[1631; 1632) " " PAREN_EXPR@[1632; 1646) - L_PAREN@[1632; 1633) + L_PAREN@[1632; 1633) "(" MACRO_CALL@[1633; 1645) PATH@[1633; 1639) PATH_SEGMENT@[1633; 1639) NAME_REF@[1633; 1639) IDENT@[1633; 1639) "assert" - EXCL@[1639; 1640) + EXCL@[1639; 1640) "!" TOKEN_TREE@[1640; 1645) - L_PAREN@[1640; 1641) + L_PAREN@[1640; 1641) "(" IDENT@[1641; 1642) "p" TOKEN_TREE@[1642; 1644) - L_PAREN@[1642; 1643) - R_PAREN@[1643; 1644) - R_PAREN@[1644; 1645) - R_PAREN@[1645; 1646) - R_PAREN@[1646; 1647) - SEMI@[1647; 1648) - WHITESPACE@[1648; 1653) + L_PAREN@[1642; 1643) "(" + R_PAREN@[1643; 1644) ")" + R_PAREN@[1644; 1645) ")" + R_PAREN@[1645; 1646) ")" + R_PAREN@[1646; 1647) ")" + SEMI@[1647; 1648) ";" + WHITESPACE@[1648; 1653) "\n " LET_STMT@[1653; 1685) - LET_KW@[1653; 1656) - WHITESPACE@[1656; 1657) + 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) + WHITESPACE@[1659; 1660) " " + EQ@[1660; 1661) "=" + WHITESPACE@[1661; 1662) " " PAREN_EXPR@[1662; 1684) - L_PAREN@[1662; 1663) + L_PAREN@[1662; 1663) "(" BIN_EXPR@[1663; 1683) MACRO_CALL@[1663; 1677) PATH@[1663; 1669) PATH_SEGMENT@[1663; 1669) NAME_REF@[1663; 1669) IDENT@[1663; 1669) "assert" - EXCL@[1669; 1670) + EXCL@[1669; 1670) "!" TOKEN_TREE@[1670; 1677) - L_PAREN@[1670; 1671) + L_PAREN@[1670; 1671) "(" TOKEN_TREE@[1671; 1676) - L_PAREN@[1671; 1672) + L_PAREN@[1671; 1672) "(" IDENT@[1672; 1673) "p" TOKEN_TREE@[1673; 1675) - L_PAREN@[1673; 1674) - R_PAREN@[1674; 1675) - R_PAREN@[1675; 1676) - R_PAREN@[1676; 1677) - WHITESPACE@[1677; 1678) - EQEQ@[1678; 1680) - WHITESPACE@[1680; 1681) + L_PAREN@[1673; 1674) "(" + R_PAREN@[1674; 1675) ")" + R_PAREN@[1675; 1676) ")" + R_PAREN@[1676; 1677) ")" + WHITESPACE@[1677; 1678) " " + EQEQ@[1678; 1680) "==" + WHITESPACE@[1680; 1681) " " TUPLE_EXPR@[1681; 1683) - L_PAREN@[1681; 1682) - R_PAREN@[1682; 1683) - R_PAREN@[1683; 1684) - SEMI@[1684; 1685) - WHITESPACE@[1685; 1690) + L_PAREN@[1681; 1682) "(" + R_PAREN@[1682; 1683) ")" + R_PAREN@[1683; 1684) ")" + SEMI@[1684; 1685) ";" + WHITESPACE@[1685; 1690) "\n " LET_STMT@[1690; 1739) - LET_KW@[1690; 1693) - WHITESPACE@[1693; 1694) + 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) + 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) + WHITESPACE@[1702; 1703) " " + EQ@[1703; 1704) "=" + WHITESPACE@[1704; 1705) " " PAREN_EXPR@[1705; 1738) - L_PAREN@[1705; 1706) + L_PAREN@[1705; 1706) "(" BIN_EXPR@[1706; 1737) MACRO_CALL@[1706; 1723) PATH@[1706; 1713) PATH_SEGMENT@[1706; 1713) NAME_REF@[1706; 1713) IDENT@[1706; 1713) "println" - EXCL@[1713; 1714) + EXCL@[1713; 1714) "!" TOKEN_TREE@[1714; 1723) - L_PAREN@[1714; 1715) - STRING@[1715; 1719) - COMMA@[1719; 1720) - WHITESPACE@[1720; 1721) + L_PAREN@[1714; 1715) "(" + STRING@[1715; 1719) "\"{}\"" + COMMA@[1719; 1720) "," + WHITESPACE@[1720; 1721) " " INT_NUMBER@[1721; 1722) "0" - R_PAREN@[1722; 1723) - WHITESPACE@[1723; 1724) - EQEQ@[1724; 1726) - WHITESPACE@[1726; 1727) + R_PAREN@[1722; 1723) ")" + WHITESPACE@[1723; 1724) " " + EQEQ@[1724; 1726) "==" + WHITESPACE@[1726; 1727) " " PAREN_EXPR@[1727; 1737) - L_PAREN@[1727; 1728) + L_PAREN@[1727; 1728) "(" RETURN_EXPR@[1728; 1736) - RETURN_KW@[1728; 1734) - WHITESPACE@[1734; 1735) + RETURN_KW@[1728; 1734) "return" + WHITESPACE@[1734; 1735) " " LITERAL@[1735; 1736) INT_NUMBER@[1735; 1736) "0" - R_PAREN@[1736; 1737) - R_PAREN@[1737; 1738) - SEMI@[1738; 1739) - WHITESPACE@[1739; 1740) - R_CURLY@[1740; 1741) - WHITESPACE@[1741; 1743) + R_PAREN@[1736; 1737) ")" + R_PAREN@[1737; 1738) ")" + SEMI@[1738; 1739) ";" + WHITESPACE@[1739; 1740) "\n" + R_CURLY@[1740; 1741) "}" + WHITESPACE@[1741; 1743) "\n\n" FN_DEF@[1743; 1904) - FN_KW@[1743; 1745) - WHITESPACE@[1745; 1746) + FN_KW@[1743; 1745) "fn" + WHITESPACE@[1745; 1746) " " NAME@[1746; 1755) IDENT@[1746; 1755) "angrydome" PARAM_LIST@[1755; 1757) - L_PAREN@[1755; 1756) - R_PAREN@[1756; 1757) - WHITESPACE@[1757; 1758) + L_PAREN@[1755; 1756) "(" + R_PAREN@[1756; 1757) ")" + WHITESPACE@[1757; 1758) " " BLOCK@[1758; 1904) - L_CURLY@[1758; 1759) - WHITESPACE@[1759; 1764) + L_CURLY@[1758; 1759) "{" + WHITESPACE@[1759; 1764) "\n " EXPR_STMT@[1764; 1785) LOOP_EXPR@[1764; 1785) - LOOP_KW@[1764; 1768) - WHITESPACE@[1768; 1769) + LOOP_KW@[1764; 1768) "loop" + WHITESPACE@[1768; 1769) " " BLOCK@[1769; 1785) - L_CURLY@[1769; 1770) - WHITESPACE@[1770; 1771) + L_CURLY@[1769; 1770) "{" + WHITESPACE@[1770; 1771) " " IF_EXPR@[1771; 1783) - IF_KW@[1771; 1773) - WHITESPACE@[1773; 1774) + IF_KW@[1771; 1773) "if" + WHITESPACE@[1773; 1774) " " CONDITION@[1774; 1779) BREAK_EXPR@[1774; 1779) - BREAK_KW@[1774; 1779) - WHITESPACE@[1779; 1780) + BREAK_KW@[1774; 1779) "break" + WHITESPACE@[1779; 1780) " " BLOCK@[1780; 1783) - L_CURLY@[1780; 1781) - WHITESPACE@[1781; 1782) - R_CURLY@[1782; 1783) - WHITESPACE@[1783; 1784) - R_CURLY@[1784; 1785) - WHITESPACE@[1785; 1790) + 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) - WHITESPACE@[1793; 1794) + LET_KW@[1790; 1793) "let" + WHITESPACE@[1793; 1794) " " BIND_PAT@[1794; 1799) - MUT_KW@[1794; 1797) - WHITESPACE@[1797; 1798) + MUT_KW@[1794; 1797) "mut" + WHITESPACE@[1797; 1798) " " NAME@[1798; 1799) IDENT@[1798; 1799) "i" - WHITESPACE@[1799; 1800) - EQ@[1800; 1801) - WHITESPACE@[1801; 1802) + WHITESPACE@[1799; 1800) " " + EQ@[1800; 1801) "=" + WHITESPACE@[1801; 1802) " " LITERAL@[1802; 1803) INT_NUMBER@[1802; 1803) "0" - SEMI@[1803; 1804) - WHITESPACE@[1804; 1809) + SEMI@[1803; 1804) ";" + WHITESPACE@[1804; 1809) "\n " LOOP_EXPR@[1809; 1902) - LOOP_KW@[1809; 1813) - WHITESPACE@[1813; 1814) + LOOP_KW@[1809; 1813) "loop" + WHITESPACE@[1813; 1814) " " BLOCK@[1814; 1902) - L_CURLY@[1814; 1815) - WHITESPACE@[1815; 1816) + L_CURLY@[1814; 1815) "{" + WHITESPACE@[1815; 1816) " " EXPR_STMT@[1816; 1823) BIN_EXPR@[1816; 1822) PATH_EXPR@[1816; 1817) @@ -1041,17 +1041,17 @@ SOURCE_FILE@[0; 3813) PATH_SEGMENT@[1816; 1817) NAME_REF@[1816; 1817) IDENT@[1816; 1817) "i" - WHITESPACE@[1817; 1818) - PLUSEQ@[1818; 1820) - WHITESPACE@[1820; 1821) + WHITESPACE@[1817; 1818) " " + PLUSEQ@[1818; 1820) "+=" + WHITESPACE@[1820; 1821) " " LITERAL@[1821; 1822) INT_NUMBER@[1821; 1822) "1" - SEMI@[1822; 1823) - WHITESPACE@[1823; 1824) + SEMI@[1822; 1823) ";" + WHITESPACE@[1823; 1824) " " EXPR_STMT@[1824; 1887) IF_EXPR@[1824; 1887) - IF_KW@[1824; 1826) - WHITESPACE@[1826; 1827) + IF_KW@[1824; 1826) "if" + WHITESPACE@[1826; 1827) " " CONDITION@[1827; 1833) BIN_EXPR@[1827; 1833) PATH_EXPR@[1827; 1828) @@ -1059,224 +1059,224 @@ SOURCE_FILE@[0; 3813) PATH_SEGMENT@[1827; 1828) NAME_REF@[1827; 1828) IDENT@[1827; 1828) "i" - WHITESPACE@[1828; 1829) - EQEQ@[1829; 1831) - WHITESPACE@[1831; 1832) + WHITESPACE@[1828; 1829) " " + EQEQ@[1829; 1831) "==" + WHITESPACE@[1831; 1832) " " LITERAL@[1832; 1833) INT_NUMBER@[1832; 1833) "1" - WHITESPACE@[1833; 1834) + WHITESPACE@[1833; 1834) " " BLOCK@[1834; 1887) - L_CURLY@[1834; 1835) - WHITESPACE@[1835; 1836) + L_CURLY@[1834; 1835) "{" + WHITESPACE@[1835; 1836) " " MATCH_EXPR@[1836; 1885) - MATCH_KW@[1836; 1841) - WHITESPACE@[1841; 1842) + MATCH_KW@[1836; 1841) "match" + WHITESPACE@[1841; 1842) " " PAREN_EXPR@[1842; 1852) - L_PAREN@[1842; 1843) + L_PAREN@[1842; 1843) "(" CONTINUE_EXPR@[1843; 1851) - CONTINUE_KW@[1843; 1851) - R_PAREN@[1851; 1852) - WHITESPACE@[1852; 1853) + CONTINUE_KW@[1843; 1851) "continue" + R_PAREN@[1851; 1852) ")" + WHITESPACE@[1852; 1853) " " MATCH_ARM_LIST@[1853; 1885) - L_CURLY@[1853; 1854) - WHITESPACE@[1854; 1855) + 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) + 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) + 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) + UNDERSCORE@[1865; 1866) "_" + WHITESPACE@[1866; 1867) " " + FAT_ARROW@[1867; 1869) "=>" + WHITESPACE@[1869; 1870) " " MACRO_CALL@[1870; 1883) PATH@[1870; 1875) PATH_SEGMENT@[1870; 1875) NAME_REF@[1870; 1875) IDENT@[1870; 1875) "panic" - EXCL@[1875; 1876) + EXCL@[1875; 1876) "!" TOKEN_TREE@[1876; 1883) - L_PAREN@[1876; 1877) - STRING@[1877; 1882) - R_PAREN@[1882; 1883) - WHITESPACE@[1883; 1884) - R_CURLY@[1884; 1885) - WHITESPACE@[1885; 1886) - R_CURLY@[1886; 1887) - WHITESPACE@[1887; 1894) + 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) - SEMI@[1899; 1900) - WHITESPACE@[1900; 1901) - R_CURLY@[1901; 1902) - WHITESPACE@[1902; 1903) - R_CURLY@[1903; 1904) - WHITESPACE@[1904; 1906) + BREAK_KW@[1894; 1899) "break" + SEMI@[1899; 1900) ";" + WHITESPACE@[1900; 1901) " " + R_CURLY@[1901; 1902) "}" + WHITESPACE@[1902; 1903) "\n" + R_CURLY@[1903; 1904) "}" + WHITESPACE@[1904; 1906) "\n\n" FN_DEF@[1906; 1960) - FN_KW@[1906; 1908) - WHITESPACE@[1908; 1909) + FN_KW@[1906; 1908) "fn" + WHITESPACE@[1908; 1909) " " NAME@[1909; 1921) IDENT@[1909; 1921) "evil_lincoln" PARAM_LIST@[1921; 1923) - L_PAREN@[1921; 1922) - R_PAREN@[1922; 1923) - WHITESPACE@[1923; 1924) + L_PAREN@[1921; 1922) "(" + R_PAREN@[1922; 1923) ")" + WHITESPACE@[1923; 1924) " " BLOCK@[1924; 1960) - L_CURLY@[1924; 1925) - WHITESPACE@[1925; 1926) + L_CURLY@[1924; 1925) "{" + WHITESPACE@[1925; 1926) " " LET_STMT@[1926; 1958) - LET_KW@[1926; 1929) - WHITESPACE@[1929; 1930) + 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) + WHITESPACE@[1935; 1936) " " + EQ@[1936; 1937) "=" + WHITESPACE@[1937; 1938) " " MACRO_CALL@[1938; 1957) PATH@[1938; 1945) PATH_SEGMENT@[1938; 1945) NAME_REF@[1938; 1945) IDENT@[1938; 1945) "println" - EXCL@[1945; 1946) + EXCL@[1945; 1946) "!" TOKEN_TREE@[1946; 1957) - L_PAREN@[1946; 1947) - STRING@[1947; 1956) - R_PAREN@[1956; 1957) - SEMI@[1957; 1958) - WHITESPACE@[1958; 1959) - R_CURLY@[1959; 1960) - WHITESPACE@[1960; 1962) + L_PAREN@[1946; 1947) "(" + STRING@[1947; 1956) "\"lincoln\"" + R_PAREN@[1956; 1957) ")" + SEMI@[1957; 1958) ";" + WHITESPACE@[1958; 1959) " " + R_CURLY@[1959; 1960) "}" + WHITESPACE@[1960; 1962) "\n\n" FN_DEF@[1962; 2198) - FN_KW@[1962; 1964) - WHITESPACE@[1964; 1965) + FN_KW@[1962; 1964) "fn" + WHITESPACE@[1964; 1965) " " NAME@[1965; 1969) IDENT@[1965; 1969) "dots" PARAM_LIST@[1969; 1971) - L_PAREN@[1969; 1970) - R_PAREN@[1970; 1971) - WHITESPACE@[1971; 1972) + L_PAREN@[1969; 1970) "(" + R_PAREN@[1970; 1971) ")" + WHITESPACE@[1971; 1972) " " BLOCK@[1972; 2198) - L_CURLY@[1972; 1973) - WHITESPACE@[1973; 1978) + L_CURLY@[1972; 1973) "{" + WHITESPACE@[1973; 1978) "\n " EXPR_STMT@[1978; 2196) MACRO_CALL@[1978; 2195) PATH@[1978; 1987) PATH_SEGMENT@[1978; 1987) NAME_REF@[1978; 1987) IDENT@[1978; 1987) "assert_eq" - EXCL@[1987; 1988) + EXCL@[1987; 1988) "!" TOKEN_TREE@[1988; 2195) - L_PAREN@[1988; 1989) + L_PAREN@[1988; 1989) "(" IDENT@[1989; 1995) "String" - COLONCOLON@[1995; 1997) + COLONCOLON@[1995; 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) + L_PAREN@[2001; 2002) "(" + STRING@[2002; 2054) "\".................... ..." + R_PAREN@[2054; 2055) ")" + COMMA@[2055; 2056) "," + WHITESPACE@[2056; 2072) "\n " IDENT@[2072; 2078) "format" - EXCL@[2078; 2079) + EXCL@[2078; 2079) "!" TOKEN_TREE@[2079; 2194) - L_PAREN@[2079; 2080) - STRING@[2080; 2086) - COMMA@[2086; 2087) - WHITESPACE@[2087; 2088) - DOTDOT@[2088; 2090) - WHITESPACE@[2090; 2091) - DOTDOT@[2091; 2093) - WHITESPACE@[2093; 2094) - DOTDOT@[2094; 2096) - WHITESPACE@[2096; 2097) - DOTDOT@[2097; 2099) - WHITESPACE@[2099; 2100) - DOTDOT@[2100; 2102) - WHITESPACE@[2102; 2103) - DOTDOT@[2103; 2105) - WHITESPACE@[2105; 2106) - DOTDOT@[2106; 2108) - WHITESPACE@[2108; 2109) - DOTDOT@[2109; 2111) - WHITESPACE@[2111; 2112) - DOTDOT@[2112; 2114) - WHITESPACE@[2114; 2115) - DOTDOT@[2115; 2117) - WHITESPACE@[2117; 2118) - DOTDOT@[2118; 2120) - WHITESPACE@[2120; 2121) - DOTDOT@[2121; 2123) - WHITESPACE@[2123; 2124) - DOTDOT@[2124; 2126) - WHITESPACE@[2126; 2158) - DOTDOT@[2158; 2160) - WHITESPACE@[2160; 2161) - DOTDOT@[2161; 2163) - WHITESPACE@[2163; 2164) - DOTDOT@[2164; 2166) - WHITESPACE@[2166; 2167) - DOTDOT@[2167; 2169) - WHITESPACE@[2169; 2170) - DOTDOT@[2170; 2172) - WHITESPACE@[2172; 2173) - DOTDOT@[2173; 2175) - WHITESPACE@[2175; 2176) - DOTDOT@[2176; 2178) - WHITESPACE@[2178; 2179) - DOTDOT@[2179; 2181) - WHITESPACE@[2181; 2182) - DOTDOT@[2182; 2184) - WHITESPACE@[2184; 2185) - DOTDOT@[2185; 2187) - WHITESPACE@[2187; 2188) - DOTDOT@[2188; 2190) - WHITESPACE@[2190; 2191) - DOTDOT@[2191; 2193) - R_PAREN@[2193; 2194) - R_PAREN@[2194; 2195) - SEMI@[2195; 2196) - WHITESPACE@[2196; 2197) - R_CURLY@[2197; 2198) - WHITESPACE@[2198; 2200) + L_PAREN@[2079; 2080) "(" + STRING@[2080; 2086) "\"{:?}\"" + COMMA@[2086; 2087) "," + WHITESPACE@[2087; 2088) " " + DOTDOT@[2088; 2090) ".." + WHITESPACE@[2090; 2091) " " + DOTDOT@[2091; 2093) ".." + WHITESPACE@[2093; 2094) " " + DOTDOT@[2094; 2096) ".." + WHITESPACE@[2096; 2097) " " + DOTDOT@[2097; 2099) ".." + WHITESPACE@[2099; 2100) " " + DOTDOT@[2100; 2102) ".." + WHITESPACE@[2102; 2103) " " + DOTDOT@[2103; 2105) ".." + WHITESPACE@[2105; 2106) " " + DOTDOT@[2106; 2108) ".." + WHITESPACE@[2108; 2109) " " + DOTDOT@[2109; 2111) ".." + WHITESPACE@[2111; 2112) " " + DOTDOT@[2112; 2114) ".." + WHITESPACE@[2114; 2115) " " + DOTDOT@[2115; 2117) ".." + WHITESPACE@[2117; 2118) " " + DOTDOT@[2118; 2120) ".." + WHITESPACE@[2120; 2121) " " + DOTDOT@[2121; 2123) ".." + WHITESPACE@[2123; 2124) " " + DOTDOT@[2124; 2126) ".." + WHITESPACE@[2126; 2158) "\n ..." + DOTDOT@[2158; 2160) ".." + WHITESPACE@[2160; 2161) " " + DOTDOT@[2161; 2163) ".." + WHITESPACE@[2163; 2164) " " + DOTDOT@[2164; 2166) ".." + WHITESPACE@[2166; 2167) " " + DOTDOT@[2167; 2169) ".." + WHITESPACE@[2169; 2170) " " + DOTDOT@[2170; 2172) ".." + WHITESPACE@[2172; 2173) " " + DOTDOT@[2173; 2175) ".." + WHITESPACE@[2175; 2176) " " + DOTDOT@[2176; 2178) ".." + WHITESPACE@[2178; 2179) " " + DOTDOT@[2179; 2181) ".." + WHITESPACE@[2181; 2182) " " + DOTDOT@[2182; 2184) ".." + WHITESPACE@[2184; 2185) " " + DOTDOT@[2185; 2187) ".." + WHITESPACE@[2187; 2188) " " + DOTDOT@[2188; 2190) ".." + WHITESPACE@[2190; 2191) " " + DOTDOT@[2191; 2193) ".." + R_PAREN@[2193; 2194) ")" + R_PAREN@[2194; 2195) ")" + SEMI@[2195; 2196) ";" + WHITESPACE@[2196; 2197) "\n" + R_CURLY@[2197; 2198) "}" + WHITESPACE@[2198; 2200) "\n\n" FN_DEF@[2200; 2693) - FN_KW@[2200; 2202) - WHITESPACE@[2202; 2203) + FN_KW@[2200; 2202) "fn" + WHITESPACE@[2202; 2203) " " NAME@[2203; 2205) IDENT@[2203; 2205) "u8" PARAM_LIST@[2205; 2213) - L_PAREN@[2205; 2206) + L_PAREN@[2205; 2206) "(" PARAM@[2206; 2212) BIND_PAT@[2206; 2208) NAME@[2206; 2208) IDENT@[2206; 2208) "u8" - COLON@[2208; 2209) - WHITESPACE@[2209; 2210) + COLON@[2208; 2209) ":" + WHITESPACE@[2209; 2210) " " PATH_TYPE@[2210; 2212) PATH@[2210; 2212) PATH_SEGMENT@[2210; 2212) NAME_REF@[2210; 2212) IDENT@[2210; 2212) "u8" - R_PAREN@[2212; 2213) - WHITESPACE@[2213; 2214) + R_PAREN@[2212; 2213) ")" + WHITESPACE@[2213; 2214) " " BLOCK@[2214; 2693) - L_CURLY@[2214; 2215) - WHITESPACE@[2215; 2220) + L_CURLY@[2214; 2215) "{" + WHITESPACE@[2215; 2220) "\n " IF_EXPR@[2220; 2691) - IF_KW@[2220; 2222) - WHITESPACE@[2222; 2223) + IF_KW@[2220; 2222) "if" + WHITESPACE@[2222; 2223) " " CONDITION@[2223; 2232) BIN_EXPR@[2223; 2232) PATH_EXPR@[2223; 2225) @@ -1284,416 +1284,416 @@ SOURCE_FILE@[0; 3813) PATH_SEGMENT@[2223; 2225) NAME_REF@[2223; 2225) IDENT@[2223; 2225) "u8" - WHITESPACE@[2225; 2226) - NEQ@[2226; 2228) - WHITESPACE@[2228; 2229) + WHITESPACE@[2225; 2226) " " + NEQ@[2226; 2228) "!=" + WHITESPACE@[2228; 2229) " " LITERAL@[2229; 2232) INT_NUMBER@[2229; 2232) "0u8" - WHITESPACE@[2232; 2233) + WHITESPACE@[2232; 2233) " " BLOCK@[2233; 2691) - L_CURLY@[2233; 2234) - WHITESPACE@[2234; 2243) + L_CURLY@[2233; 2234) "{" + WHITESPACE@[2234; 2243) "\n " EXPR_STMT@[2243; 2685) MACRO_CALL@[2243; 2684) PATH@[2243; 2252) PATH_SEGMENT@[2243; 2252) NAME_REF@[2243; 2252) IDENT@[2243; 2252) "assert_eq" - EXCL@[2252; 2253) + EXCL@[2252; 2253) "!" TOKEN_TREE@[2253; 2684) - L_PAREN@[2253; 2254) + L_PAREN@[2253; 2254) "(" INT_NUMBER@[2254; 2257) "8u8" - COMMA@[2257; 2258) - WHITESPACE@[2258; 2259) + COMMA@[2257; 2258) "," + WHITESPACE@[2258; 2259) " " TOKEN_TREE@[2259; 2683) - L_CURLY@[2259; 2260) - WHITESPACE@[2260; 2273) + L_CURLY@[2259; 2260) "{" + WHITESPACE@[2260; 2273) "\n " IDENT@[2273; 2284) "macro_rules" - EXCL@[2284; 2285) - WHITESPACE@[2285; 2286) + EXCL@[2284; 2285) "!" + WHITESPACE@[2285; 2286) " " IDENT@[2286; 2288) "u8" - WHITESPACE@[2288; 2289) + WHITESPACE@[2288; 2289) " " TOKEN_TREE@[2289; 2567) - L_CURLY@[2289; 2290) - WHITESPACE@[2290; 2307) + L_CURLY@[2289; 2290) "{" + WHITESPACE@[2290; 2307) "\n " TOKEN_TREE@[2307; 2311) - L_PAREN@[2307; 2308) + L_PAREN@[2307; 2308) "(" IDENT@[2308; 2310) "u8" - R_PAREN@[2310; 2311) - WHITESPACE@[2311; 2312) - FAT_ARROW@[2312; 2314) - WHITESPACE@[2314; 2315) + R_PAREN@[2310; 2311) ")" + WHITESPACE@[2311; 2312) " " + FAT_ARROW@[2312; 2314) "=>" + WHITESPACE@[2314; 2315) " " TOKEN_TREE@[2315; 2552) - L_CURLY@[2315; 2316) - WHITESPACE@[2316; 2337) - MOD_KW@[2337; 2340) - WHITESPACE@[2340; 2341) + L_CURLY@[2315; 2316) "{" + WHITESPACE@[2316; 2337) "\n " + MOD_KW@[2337; 2340) "mod" + WHITESPACE@[2340; 2341) " " IDENT@[2341; 2343) "u8" - WHITESPACE@[2343; 2344) + WHITESPACE@[2343; 2344) " " TOKEN_TREE@[2344; 2534) - L_CURLY@[2344; 2345) - WHITESPACE@[2345; 2370) - PUB_KW@[2370; 2373) - WHITESPACE@[2373; 2374) - FN_KW@[2374; 2376) - WHITESPACE@[2376; 2377) + 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) + 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) + L_PAREN@[2395; 2396) "(" IDENT@[2396; 2398) "u8" - COLON@[2398; 2399) - WHITESPACE@[2399; 2400) - AMP@[2400; 2401) - LIFETIME@[2401; 2404) "'u8" - WHITESPACE@[2404; 2405) + 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) - THIN_ARROW@[2409; 2411) - WHITESPACE@[2411; 2412) - AMP@[2412; 2413) - LIFETIME@[2413; 2416) "'u8" - WHITESPACE@[2416; 2417) + R_PAREN@[2407; 2408) ")" + WHITESPACE@[2408; 2409) " " + THIN_ARROW@[2409; 2411) "->" + WHITESPACE@[2411; 2412) " " + AMP@[2412; 2413) "&" + LIFETIME@[2413; 2416) "\'u8" + WHITESPACE@[2416; 2417) " " IDENT@[2417; 2419) "u8" - WHITESPACE@[2419; 2420) + WHITESPACE@[2419; 2420) " " TOKEN_TREE@[2420; 2512) - L_CURLY@[2420; 2421) - WHITESPACE@[2421; 2450) - STRING@[2450; 2454) - SEMI@[2454; 2455) - WHITESPACE@[2455; 2484) + L_CURLY@[2420; 2421) "{" + WHITESPACE@[2421; 2450) "\n ..." + STRING@[2450; 2454) "\"u8\"" + SEMI@[2454; 2455) ";" + WHITESPACE@[2455; 2484) "\n ..." IDENT@[2484; 2486) "u8" - WHITESPACE@[2486; 2511) - R_CURLY@[2511; 2512) - WHITESPACE@[2512; 2533) - R_CURLY@[2533; 2534) - WHITESPACE@[2534; 2551) - R_CURLY@[2551; 2552) - SEMI@[2552; 2553) - WHITESPACE@[2553; 2566) - R_CURLY@[2566; 2567) - WHITESPACE@[2567; 2581) + WHITESPACE@[2486; 2511) "\n ..." + R_CURLY@[2511; 2512) "}" + WHITESPACE@[2512; 2533) "\n " + R_CURLY@[2533; 2534) "}" + WHITESPACE@[2534; 2551) "\n " + R_CURLY@[2551; 2552) "}" + SEMI@[2552; 2553) ";" + WHITESPACE@[2553; 2566) "\n " + R_CURLY@[2566; 2567) "}" + WHITESPACE@[2567; 2581) "\n\n " IDENT@[2581; 2583) "u8" - EXCL@[2583; 2584) + EXCL@[2583; 2584) "!" TOKEN_TREE@[2584; 2588) - L_PAREN@[2584; 2585) + L_PAREN@[2584; 2585) "(" IDENT@[2585; 2587) "u8" - R_PAREN@[2587; 2588) - SEMI@[2588; 2589) - WHITESPACE@[2589; 2602) - LET_KW@[2602; 2605) - WHITESPACE@[2605; 2606) - AMP@[2606; 2607) + R_PAREN@[2587; 2588) ")" + SEMI@[2588; 2589) ";" + WHITESPACE@[2589; 2602) "\n " + LET_KW@[2602; 2605) "let" + WHITESPACE@[2605; 2606) " " + AMP@[2606; 2607) "&" IDENT@[2607; 2609) "u8" - COLON@[2609; 2610) - WHITESPACE@[2610; 2611) - AMP@[2611; 2612) + COLON@[2609; 2610) ":" + WHITESPACE@[2610; 2611) " " + AMP@[2611; 2612) "&" IDENT@[2612; 2614) "u8" - WHITESPACE@[2614; 2615) - EQ@[2615; 2616) - WHITESPACE@[2616; 2617) + WHITESPACE@[2614; 2615) " " + EQ@[2615; 2616) "=" + WHITESPACE@[2616; 2617) " " IDENT@[2617; 2619) "u8" - COLONCOLON@[2619; 2621) + COLONCOLON@[2619; 2621) "::" IDENT@[2621; 2623) "u8" TOKEN_TREE@[2623; 2629) - L_PAREN@[2623; 2624) - AMP@[2624; 2625) + L_PAREN@[2623; 2624) "(" + AMP@[2624; 2625) "&" INT_NUMBER@[2625; 2628) "8u8" - R_PAREN@[2628; 2629) - SEMI@[2629; 2630) - WHITESPACE@[2630; 2643) - CRATE_KW@[2643; 2648) - COLONCOLON@[2648; 2650) + R_PAREN@[2628; 2629) ")" + SEMI@[2629; 2630) ";" + WHITESPACE@[2630; 2643) "\n " + CRATE_KW@[2643; 2648) "crate" + COLONCOLON@[2648; 2650) "::" IDENT@[2650; 2652) "u8" TOKEN_TREE@[2652; 2657) - L_PAREN@[2652; 2653) + L_PAREN@[2652; 2653) "(" INT_NUMBER@[2653; 2656) "0u8" - R_PAREN@[2656; 2657) - SEMI@[2657; 2658) - WHITESPACE@[2658; 2671) + R_PAREN@[2656; 2657) ")" + SEMI@[2657; 2658) ";" + WHITESPACE@[2658; 2671) "\n " IDENT@[2671; 2673) "u8" - WHITESPACE@[2673; 2682) - R_CURLY@[2682; 2683) - R_PAREN@[2683; 2684) - SEMI@[2684; 2685) - WHITESPACE@[2685; 2690) - R_CURLY@[2690; 2691) - WHITESPACE@[2691; 2692) - R_CURLY@[2692; 2693) - WHITESPACE@[2693; 2695) + WHITESPACE@[2673; 2682) "\n " + R_CURLY@[2682; 2683) "}" + R_PAREN@[2683; 2684) ")" + SEMI@[2684; 2685) ";" + WHITESPACE@[2685; 2690) "\n " + R_CURLY@[2690; 2691) "}" + WHITESPACE@[2691; 2692) "\n" + R_CURLY@[2692; 2693) "}" + WHITESPACE@[2693; 2695) "\n\n" FN_DEF@[2695; 2832) - FN_KW@[2695; 2697) - WHITESPACE@[2697; 2698) + FN_KW@[2695; 2697) "fn" + WHITESPACE@[2697; 2698) " " NAME@[2698; 2703) IDENT@[2698; 2703) "fishy" PARAM_LIST@[2703; 2705) - L_PAREN@[2703; 2704) - R_PAREN@[2704; 2705) - WHITESPACE@[2705; 2706) + L_PAREN@[2703; 2704) "(" + R_PAREN@[2704; 2705) ")" + WHITESPACE@[2705; 2706) " " BLOCK@[2706; 2832) - L_CURLY@[2706; 2707) - WHITESPACE@[2707; 2712) + L_CURLY@[2706; 2707) "{" + WHITESPACE@[2707; 2712) "\n " EXPR_STMT@[2712; 2830) MACRO_CALL@[2712; 2829) PATH@[2712; 2721) PATH_SEGMENT@[2712; 2721) NAME_REF@[2712; 2721) IDENT@[2712; 2721) "assert_eq" - EXCL@[2721; 2722) + EXCL@[2721; 2722) "!" TOKEN_TREE@[2722; 2829) - L_PAREN@[2722; 2723) + L_PAREN@[2722; 2723) "(" IDENT@[2723; 2729) "String" - COLONCOLON@[2729; 2731) + COLONCOLON@[2729; 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) + L_PAREN@[2735; 2736) "(" + STRING@[2736; 2741) "\"><>\"" + R_PAREN@[2741; 2742) ")" + COMMA@[2742; 2743) "," + WHITESPACE@[2743; 2759) "\n " IDENT@[2759; 2765) "String" - COLONCOLON@[2765; 2767) - L_ANGLE@[2767; 2768) - R_ANGLE@[2768; 2769) - COLONCOLON@[2769; 2771) + COLONCOLON@[2765; 2767) "::" + L_ANGLE@[2767; 2768) "<" + R_ANGLE@[2768; 2769) ">" + COLONCOLON@[2769; 2771) "::" IDENT@[2771; 2775) "from" - COLONCOLON@[2775; 2777) - L_ANGLE@[2777; 2778) - R_ANGLE@[2778; 2779) + COLONCOLON@[2775; 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) + L_PAREN@[2779; 2780) "(" + STRING@[2780; 2785) "\"><>\"" + R_PAREN@[2785; 2786) ")" + DOT@[2786; 2787) "." IDENT@[2787; 2792) "chars" - COLONCOLON@[2792; 2794) - L_ANGLE@[2794; 2795) - R_ANGLE@[2795; 2796) + COLONCOLON@[2792; 2794) "::" + L_ANGLE@[2794; 2795) "<" + R_ANGLE@[2795; 2796) ">" TOKEN_TREE@[2796; 2798) - L_PAREN@[2796; 2797) - R_PAREN@[2797; 2798) - DOT@[2798; 2799) + L_PAREN@[2796; 2797) "(" + R_PAREN@[2797; 2798) ")" + DOT@[2798; 2799) "." IDENT@[2799; 2802) "rev" - COLONCOLON@[2802; 2804) - L_ANGLE@[2804; 2805) - R_ANGLE@[2805; 2806) + COLONCOLON@[2802; 2804) "::" + L_ANGLE@[2804; 2805) "<" + R_ANGLE@[2805; 2806) ">" TOKEN_TREE@[2806; 2808) - L_PAREN@[2806; 2807) - R_PAREN@[2807; 2808) - DOT@[2808; 2809) + L_PAREN@[2806; 2807) "(" + R_PAREN@[2807; 2808) ")" + DOT@[2808; 2809) "." IDENT@[2809; 2816) "collect" - COLONCOLON@[2816; 2818) - L_ANGLE@[2818; 2819) + COLONCOLON@[2816; 2818) "::" + L_ANGLE@[2818; 2819) "<" IDENT@[2819; 2825) "String" - R_ANGLE@[2825; 2826) + R_ANGLE@[2825; 2826) ">" TOKEN_TREE@[2826; 2828) - L_PAREN@[2826; 2827) - R_PAREN@[2827; 2828) - R_PAREN@[2828; 2829) - SEMI@[2829; 2830) - WHITESPACE@[2830; 2831) - R_CURLY@[2831; 2832) - WHITESPACE@[2832; 2834) + L_PAREN@[2826; 2827) "(" + R_PAREN@[2827; 2828) ")" + R_PAREN@[2828; 2829) ")" + SEMI@[2829; 2830) ";" + WHITESPACE@[2830; 2831) "\n" + R_CURLY@[2831; 2832) "}" + WHITESPACE@[2832; 2834) "\n\n" FN_DEF@[2834; 2906) - FN_KW@[2834; 2836) - WHITESPACE@[2836; 2837) + FN_KW@[2834; 2836) "fn" + WHITESPACE@[2836; 2837) " " NAME@[2837; 2842) IDENT@[2837; 2842) "union" PARAM_LIST@[2842; 2844) - L_PAREN@[2842; 2843) - R_PAREN@[2843; 2844) - WHITESPACE@[2844; 2845) + L_PAREN@[2842; 2843) "(" + R_PAREN@[2843; 2844) ")" + WHITESPACE@[2844; 2845) " " BLOCK@[2845; 2906) - L_CURLY@[2845; 2846) - WHITESPACE@[2846; 2851) + L_CURLY@[2845; 2846) "{" + WHITESPACE@[2846; 2851) "\n " STRUCT_DEF@[2851; 2904) - UNION_KW@[2851; 2856) - WHITESPACE@[2856; 2857) + UNION_KW@[2851; 2856) "union" + WHITESPACE@[2856; 2857) " " NAME@[2857; 2862) IDENT@[2857; 2862) "union" TYPE_PARAM_LIST@[2862; 2870) - L_ANGLE@[2862; 2863) + L_ANGLE@[2862; 2863) "<" LIFETIME_PARAM@[2863; 2869) - LIFETIME@[2863; 2869) "'union" - R_ANGLE@[2869; 2870) - WHITESPACE@[2870; 2871) + LIFETIME@[2863; 2869) "\'union" + R_ANGLE@[2869; 2870) ">" + WHITESPACE@[2870; 2871) " " NAMED_FIELD_DEF_LIST@[2871; 2904) - L_CURLY@[2871; 2872) - WHITESPACE@[2872; 2873) + L_CURLY@[2871; 2872) "{" + WHITESPACE@[2872; 2873) " " NAMED_FIELD_DEF@[2873; 2901) NAME@[2873; 2878) IDENT@[2873; 2878) "union" - COLON@[2878; 2879) - WHITESPACE@[2879; 2880) + COLON@[2878; 2879) ":" + WHITESPACE@[2879; 2880) " " REFERENCE_TYPE@[2880; 2901) - AMP@[2880; 2881) - LIFETIME@[2881; 2887) "'union" - WHITESPACE@[2887; 2888) + 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) + 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) - R_CURLY@[2905; 2906) - WHITESPACE@[2906; 2908) + 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) - WHITESPACE@[2910; 2911) + FN_KW@[2908; 2910) "fn" + WHITESPACE@[2910; 2911) " " NAME@[2911; 2929) IDENT@[2911; 2929) "special_characters" PARAM_LIST@[2929; 2931) - L_PAREN@[2929; 2930) - R_PAREN@[2930; 2931) - WHITESPACE@[2931; 2932) + L_PAREN@[2929; 2930) "(" + R_PAREN@[2930; 2931) ")" + WHITESPACE@[2931; 2932) " " BLOCK@[2932; 3042) - L_CURLY@[2932; 2933) - WHITESPACE@[2933; 2938) + L_CURLY@[2932; 2933) "{" + WHITESPACE@[2933; 2938) "\n " LET_STMT@[2938; 3021) - LET_KW@[2938; 2941) - WHITESPACE@[2941; 2942) + 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) + WHITESPACE@[2945; 2946) " " + EQ@[2946; 2947) "=" + WHITESPACE@[2947; 2948) " " PREFIX_EXPR@[2948; 3013) - EXCL@[2948; 2949) + EXCL@[2948; 2949) "!" PAREN_EXPR@[2949; 3013) - L_PAREN@[2949; 2950) + L_PAREN@[2949; 2950) "(" BIN_EXPR@[2950; 3012) CALL_EXPR@[2950; 2995) PAREN_EXPR@[2950; 2971) - L_PAREN@[2950; 2951) + L_PAREN@[2950; 2951) "(" LAMBDA_EXPR@[2951; 2970) PARAM_LIST@[2951; 2968) - PIPE@[2951; 2952) + PIPE@[2951; 2952) "|" PARAM@[2952; 2962) TUPLE_PAT@[2952; 2956) - L_PAREN@[2952; 2953) - DOTDOT@[2953; 2955) - R_PAREN@[2955; 2956) - COLON@[2956; 2957) + L_PAREN@[2952; 2953) "(" + DOTDOT@[2953; 2955) ".." + R_PAREN@[2955; 2956) ")" + COLON@[2956; 2957) ":" TUPLE_TYPE@[2957; 2962) - L_PAREN@[2957; 2958) + L_PAREN@[2957; 2958) "(" PLACEHOLDER_TYPE@[2958; 2959) - UNDERSCORE@[2958; 2959) - COMMA@[2959; 2960) + UNDERSCORE@[2958; 2959) "_" + COMMA@[2959; 2960) "," PLACEHOLDER_TYPE@[2960; 2961) - UNDERSCORE@[2960; 2961) - R_PAREN@[2961; 2962) - COMMA@[2962; 2963) + 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) + AT@[2965; 2966) "@" PLACEHOLDER_PAT@[2966; 2967) - UNDERSCORE@[2966; 2967) - PIPE@[2967; 2968) + 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) + R_PAREN@[2970; 2971) ")" ARG_LIST@[2971; 2995) - L_PAREN@[2971; 2972) + L_PAREN@[2971; 2972) "(" TUPLE_EXPR@[2972; 2987) - L_PAREN@[2972; 2973) + L_PAREN@[2972; 2973) "(" REF_EXPR@[2973; 2979) - AMP@[2973; 2974) + AMP@[2973; 2974) "&" PREFIX_EXPR@[2974; 2979) - STAR@[2974; 2975) + STAR@[2974; 2975) "*" LITERAL@[2975; 2979) - STRING@[2975; 2979) - COMMA@[2979; 2980) + STRING@[2975; 2979) "\"\\\\\"" + COMMA@[2979; 2980) "," LITERAL@[2980; 2986) - CHAR@[2980; 2986) - R_PAREN@[2986; 2987) - COMMENT@[2987; 2991) - COMMA@[2991; 2992) + CHAR@[2980; 2986) "\'🤔\'" + R_PAREN@[2986; 2987) ")" + COMMENT@[2987; 2991) "/**/" + COMMA@[2991; 2992) "," BLOCK_EXPR@[2992; 2994) BLOCK@[2992; 2994) - L_CURLY@[2992; 2993) - R_CURLY@[2993; 2994) - R_PAREN@[2994; 2995) - EQEQ@[2995; 2997) + L_CURLY@[2992; 2993) "{" + R_CURLY@[2993; 2994) "}" + R_PAREN@[2994; 2995) ")" + EQEQ@[2995; 2997) "==" BLOCK_EXPR@[2997; 3012) BLOCK@[2997; 3012) - L_CURLY@[2997; 2998) + L_CURLY@[2997; 2998) "{" EXPR_STMT@[2998; 3011) REF_EXPR@[2998; 3010) - AMP@[2998; 2999) + AMP@[2998; 2999) "&" INDEX_EXPR@[2999; 3010) ARRAY_EXPR@[2999; 3006) - L_BRACK@[2999; 3000) + L_BRACK@[2999; 3000) "[" RANGE_EXPR@[3000; 3005) - DOTDOTEQ@[3000; 3003) + DOTDOTEQ@[3000; 3003) "..=" RANGE_EXPR@[3003; 3005) - DOTDOT@[3003; 3005) - R_BRACK@[3005; 3006) - L_BRACK@[3006; 3007) + DOTDOT@[3003; 3005) ".." + R_BRACK@[3005; 3006) "]" + L_BRACK@[3006; 3007) "[" RANGE_EXPR@[3007; 3009) - DOTDOT@[3007; 3009) - R_BRACK@[3009; 3010) - SEMI@[3010; 3011) - R_CURLY@[3011; 3012) - R_PAREN@[3012; 3013) - COMMENT@[3013; 3015) - WHITESPACE@[3015; 3020) - SEMI@[3020; 3021) - WHITESPACE@[3021; 3026) + DOTDOT@[3007; 3009) ".." + R_BRACK@[3009; 3010) "]" + SEMI@[3010; 3011) ";" + R_CURLY@[3011; 3012) "}" + R_PAREN@[3012; 3013) ")" + COMMENT@[3013; 3015) "//" + WHITESPACE@[3015; 3020) "\n " + SEMI@[3020; 3021) ";" + WHITESPACE@[3021; 3026) "\n " EXPR_STMT@[3026; 3040) MACRO_CALL@[3026; 3039) PATH@[3026; 3032) PATH_SEGMENT@[3026; 3032) NAME_REF@[3026; 3032) IDENT@[3026; 3032) "assert" - EXCL@[3032; 3033) + EXCL@[3032; 3033) "!" TOKEN_TREE@[3033; 3039) - L_PAREN@[3033; 3034) - EXCL@[3034; 3035) + L_PAREN@[3033; 3034) "(" + EXCL@[3034; 3035) "!" IDENT@[3035; 3038) "val" - R_PAREN@[3038; 3039) - SEMI@[3039; 3040) - WHITESPACE@[3040; 3041) - R_CURLY@[3041; 3042) - WHITESPACE@[3042; 3044) + R_PAREN@[3038; 3039) ")" + SEMI@[3039; 3040) ";" + WHITESPACE@[3040; 3041) "\n" + R_CURLY@[3041; 3042) "}" + WHITESPACE@[3042; 3044) "\n\n" FN_DEF@[3044; 3514) - FN_KW@[3044; 3046) - WHITESPACE@[3046; 3047) + FN_KW@[3044; 3046) "fn" + WHITESPACE@[3046; 3047) " " NAME@[3047; 3057) IDENT@[3047; 3057) "punch_card" PARAM_LIST@[3057; 3059) - L_PAREN@[3057; 3058) - R_PAREN@[3058; 3059) - WHITESPACE@[3059; 3060) + L_PAREN@[3057; 3058) "(" + R_PAREN@[3058; 3059) ")" + WHITESPACE@[3059; 3060) " " RET_TYPE@[3060; 3083) - THIN_ARROW@[3060; 3062) - WHITESPACE@[3062; 3063) + THIN_ARROW@[3060; 3062) "->" + WHITESPACE@[3062; 3063) " " IMPL_TRAIT_TYPE@[3063; 3083) - IMPL_KW@[3063; 3067) - WHITESPACE@[3067; 3068) + IMPL_KW@[3063; 3067) "impl" + WHITESPACE@[3067; 3068) " " TYPE_BOUND_LIST@[3068; 3083) TYPE_BOUND@[3068; 3083) PATH_TYPE@[3068; 3083) @@ -1703,365 +1703,365 @@ SOURCE_FILE@[0; 3813) PATH_SEGMENT@[3068; 3071) NAME_REF@[3068; 3071) IDENT@[3068; 3071) "std" - COLONCOLON@[3071; 3073) + COLONCOLON@[3071; 3073) "::" PATH_SEGMENT@[3073; 3076) NAME_REF@[3073; 3076) IDENT@[3073; 3076) "fmt" - COLONCOLON@[3076; 3078) + COLONCOLON@[3076; 3078) "::" PATH_SEGMENT@[3078; 3083) NAME_REF@[3078; 3083) IDENT@[3078; 3083) "Debug" - WHITESPACE@[3083; 3084) + WHITESPACE@[3083; 3084) " " BLOCK@[3084; 3514) - L_CURLY@[3084; 3085) - WHITESPACE@[3085; 3090) + L_CURLY@[3084; 3085) "{" + WHITESPACE@[3085; 3090) "\n " RANGE_EXPR@[3090; 3512) - DOTDOTEQ@[3090; 3093) + DOTDOTEQ@[3090; 3093) "..=" RANGE_EXPR@[3093; 3512) - DOTDOTEQ@[3093; 3096) + DOTDOTEQ@[3093; 3096) "..=" RANGE_EXPR@[3096; 3512) - DOTDOT@[3096; 3098) - WHITESPACE@[3098; 3099) + DOTDOT@[3096; 3098) ".." + WHITESPACE@[3098; 3099) " " RANGE_EXPR@[3099; 3512) - DOTDOT@[3099; 3101) - WHITESPACE@[3101; 3105) + DOTDOT@[3099; 3101) ".." + WHITESPACE@[3101; 3105) " " RANGE_EXPR@[3105; 3512) - DOTDOT@[3105; 3107) - WHITESPACE@[3107; 3108) + DOTDOT@[3105; 3107) ".." + WHITESPACE@[3107; 3108) " " RANGE_EXPR@[3108; 3512) - DOTDOT@[3108; 3110) - WHITESPACE@[3110; 3111) + DOTDOT@[3108; 3110) ".." + WHITESPACE@[3110; 3111) " " RANGE_EXPR@[3111; 3512) - DOTDOT@[3111; 3113) - WHITESPACE@[3113; 3114) + DOTDOT@[3111; 3113) ".." + WHITESPACE@[3113; 3114) " " RANGE_EXPR@[3114; 3512) - DOTDOT@[3114; 3116) - WHITESPACE@[3116; 3120) + DOTDOT@[3114; 3116) ".." + WHITESPACE@[3116; 3120) " " RANGE_EXPR@[3120; 3512) - DOTDOT@[3120; 3122) - WHITESPACE@[3122; 3123) + DOTDOT@[3120; 3122) ".." + WHITESPACE@[3122; 3123) " " RANGE_EXPR@[3123; 3512) - DOTDOT@[3123; 3125) - WHITESPACE@[3125; 3126) + DOTDOT@[3123; 3125) ".." + WHITESPACE@[3125; 3126) " " RANGE_EXPR@[3126; 3512) - DOTDOT@[3126; 3128) - WHITESPACE@[3128; 3129) + DOTDOT@[3126; 3128) ".." + WHITESPACE@[3128; 3129) " " RANGE_EXPR@[3129; 3512) - DOTDOT@[3129; 3131) - WHITESPACE@[3131; 3135) + DOTDOT@[3129; 3131) ".." + WHITESPACE@[3131; 3135) " " RANGE_EXPR@[3135; 3512) - DOTDOT@[3135; 3137) - WHITESPACE@[3137; 3138) + DOTDOT@[3135; 3137) ".." + WHITESPACE@[3137; 3138) " " RANGE_EXPR@[3138; 3512) - DOTDOTEQ@[3138; 3141) + DOTDOTEQ@[3138; 3141) "..=" RANGE_EXPR@[3141; 3512) - DOTDOT@[3141; 3143) - WHITESPACE@[3143; 3144) + DOTDOT@[3141; 3143) ".." + WHITESPACE@[3143; 3144) " " RANGE_EXPR@[3144; 3512) - DOTDOT@[3144; 3146) - WHITESPACE@[3146; 3151) + DOTDOT@[3144; 3146) ".." + WHITESPACE@[3146; 3151) "\n " RANGE_EXPR@[3151; 3512) - DOTDOTEQ@[3151; 3154) + DOTDOTEQ@[3151; 3154) "..=" RANGE_EXPR@[3154; 3512) - DOTDOT@[3154; 3156) - WHITESPACE@[3156; 3157) + DOTDOT@[3154; 3156) ".." + WHITESPACE@[3156; 3157) " " RANGE_EXPR@[3157; 3512) - DOTDOTEQ@[3157; 3160) + DOTDOTEQ@[3157; 3160) "..=" RANGE_EXPR@[3160; 3512) - DOTDOT@[3160; 3162) - WHITESPACE@[3162; 3166) + DOTDOT@[3160; 3162) ".." + WHITESPACE@[3162; 3166) " " RANGE_EXPR@[3166; 3512) - DOTDOT@[3166; 3168) - WHITESPACE@[3168; 3169) + DOTDOT@[3166; 3168) ".." + WHITESPACE@[3168; 3169) " " RANGE_EXPR@[3169; 3512) - DOTDOT@[3169; 3171) - WHITESPACE@[3171; 3172) + DOTDOT@[3169; 3171) ".." + WHITESPACE@[3171; 3172) " " RANGE_EXPR@[3172; 3512) - DOTDOT@[3172; 3174) - WHITESPACE@[3174; 3175) + DOTDOT@[3172; 3174) ".." + WHITESPACE@[3174; 3175) " " RANGE_EXPR@[3175; 3512) - DOTDOT@[3175; 3177) - WHITESPACE@[3177; 3181) + DOTDOT@[3175; 3177) ".." + WHITESPACE@[3177; 3181) " " RANGE_EXPR@[3181; 3512) - DOTDOT@[3181; 3183) - WHITESPACE@[3183; 3184) + DOTDOT@[3181; 3183) ".." + WHITESPACE@[3183; 3184) " " RANGE_EXPR@[3184; 3512) - DOTDOT@[3184; 3186) - WHITESPACE@[3186; 3187) + DOTDOT@[3184; 3186) ".." + WHITESPACE@[3186; 3187) " " RANGE_EXPR@[3187; 3512) - DOTDOT@[3187; 3189) - WHITESPACE@[3189; 3190) + DOTDOT@[3187; 3189) ".." + WHITESPACE@[3189; 3190) " " RANGE_EXPR@[3190; 3512) - DOTDOT@[3190; 3192) - WHITESPACE@[3192; 3196) + DOTDOT@[3190; 3192) ".." + WHITESPACE@[3192; 3196) " " RANGE_EXPR@[3196; 3512) - DOTDOTEQ@[3196; 3199) + DOTDOTEQ@[3196; 3199) "..=" RANGE_EXPR@[3199; 3512) - DOTDOTEQ@[3199; 3202) + DOTDOTEQ@[3199; 3202) "..=" RANGE_EXPR@[3202; 3512) - DOTDOTEQ@[3202; 3205) + DOTDOTEQ@[3202; 3205) "..=" RANGE_EXPR@[3205; 3512) - DOTDOT@[3205; 3207) - WHITESPACE@[3207; 3212) + DOTDOT@[3205; 3207) ".." + WHITESPACE@[3207; 3212) "\n " RANGE_EXPR@[3212; 3512) - DOTDOTEQ@[3212; 3215) + DOTDOTEQ@[3212; 3215) "..=" RANGE_EXPR@[3215; 3512) - DOTDOT@[3215; 3217) - WHITESPACE@[3217; 3218) + DOTDOT@[3215; 3217) ".." + WHITESPACE@[3217; 3218) " " RANGE_EXPR@[3218; 3512) - DOTDOTEQ@[3218; 3221) + DOTDOTEQ@[3218; 3221) "..=" RANGE_EXPR@[3221; 3512) - DOTDOT@[3221; 3223) - WHITESPACE@[3223; 3227) + DOTDOT@[3221; 3223) ".." + WHITESPACE@[3223; 3227) " " RANGE_EXPR@[3227; 3512) - DOTDOTEQ@[3227; 3230) + DOTDOTEQ@[3227; 3230) "..=" RANGE_EXPR@[3230; 3512) - DOTDOT@[3230; 3232) - WHITESPACE@[3232; 3233) + DOTDOT@[3230; 3232) ".." + WHITESPACE@[3232; 3233) " " RANGE_EXPR@[3233; 3512) - DOTDOTEQ@[3233; 3236) + DOTDOTEQ@[3233; 3236) "..=" RANGE_EXPR@[3236; 3512) - DOTDOT@[3236; 3238) - WHITESPACE@[3238; 3242) + DOTDOT@[3236; 3238) ".." + WHITESPACE@[3238; 3242) " " RANGE_EXPR@[3242; 3512) - DOTDOT@[3242; 3244) - WHITESPACE@[3244; 3245) + DOTDOT@[3242; 3244) ".." + WHITESPACE@[3244; 3245) " " RANGE_EXPR@[3245; 3512) - DOTDOTEQ@[3245; 3248) + DOTDOTEQ@[3245; 3248) "..=" RANGE_EXPR@[3248; 3512) - DOTDOTEQ@[3248; 3251) + DOTDOTEQ@[3248; 3251) "..=" RANGE_EXPR@[3251; 3512) - DOTDOT@[3251; 3253) - WHITESPACE@[3253; 3257) + DOTDOT@[3251; 3253) ".." + WHITESPACE@[3253; 3257) " " RANGE_EXPR@[3257; 3512) - DOTDOT@[3257; 3259) - WHITESPACE@[3259; 3260) + DOTDOT@[3257; 3259) ".." + WHITESPACE@[3259; 3260) " " RANGE_EXPR@[3260; 3512) - DOTDOTEQ@[3260; 3263) + DOTDOTEQ@[3260; 3263) "..=" RANGE_EXPR@[3263; 3512) - DOTDOT@[3263; 3265) - WHITESPACE@[3265; 3266) + DOTDOT@[3263; 3265) ".." + WHITESPACE@[3265; 3266) " " RANGE_EXPR@[3266; 3512) - DOTDOT@[3266; 3268) - WHITESPACE@[3268; 3273) + DOTDOT@[3266; 3268) ".." + WHITESPACE@[3268; 3273) "\n " RANGE_EXPR@[3273; 3512) - DOTDOTEQ@[3273; 3276) + DOTDOTEQ@[3273; 3276) "..=" RANGE_EXPR@[3276; 3512) - DOTDOTEQ@[3276; 3279) + DOTDOTEQ@[3276; 3279) "..=" RANGE_EXPR@[3279; 3512) - DOTDOT@[3279; 3281) - WHITESPACE@[3281; 3282) + DOTDOT@[3279; 3281) ".." + WHITESPACE@[3281; 3282) " " RANGE_EXPR@[3282; 3512) - DOTDOT@[3282; 3284) - WHITESPACE@[3284; 3288) + DOTDOT@[3282; 3284) ".." + WHITESPACE@[3284; 3288) " " RANGE_EXPR@[3288; 3512) - DOTDOTEQ@[3288; 3291) + DOTDOTEQ@[3288; 3291) "..=" RANGE_EXPR@[3291; 3512) - DOTDOT@[3291; 3293) - WHITESPACE@[3293; 3294) + DOTDOT@[3291; 3293) ".." + WHITESPACE@[3293; 3294) " " RANGE_EXPR@[3294; 3512) - DOTDOTEQ@[3294; 3297) + DOTDOTEQ@[3294; 3297) "..=" RANGE_EXPR@[3297; 3512) - DOTDOT@[3297; 3299) - WHITESPACE@[3299; 3303) + DOTDOT@[3297; 3299) ".." + WHITESPACE@[3299; 3303) " " RANGE_EXPR@[3303; 3512) - DOTDOTEQ@[3303; 3306) + DOTDOTEQ@[3303; 3306) "..=" RANGE_EXPR@[3306; 3512) - DOTDOT@[3306; 3308) - WHITESPACE@[3308; 3309) + DOTDOT@[3306; 3308) ".." + WHITESPACE@[3308; 3309) " " RANGE_EXPR@[3309; 3512) - DOTDOT@[3309; 3311) - WHITESPACE@[3311; 3312) + DOTDOT@[3309; 3311) ".." + WHITESPACE@[3311; 3312) " " RANGE_EXPR@[3312; 3512) - DOTDOT@[3312; 3314) - WHITESPACE@[3314; 3318) + DOTDOT@[3312; 3314) ".." + WHITESPACE@[3314; 3318) " " RANGE_EXPR@[3318; 3512) - DOTDOT@[3318; 3320) - WHITESPACE@[3320; 3321) + DOTDOT@[3318; 3320) ".." + WHITESPACE@[3320; 3321) " " RANGE_EXPR@[3321; 3512) - DOTDOTEQ@[3321; 3324) + DOTDOTEQ@[3321; 3324) "..=" RANGE_EXPR@[3324; 3512) - DOTDOT@[3324; 3326) - WHITESPACE@[3326; 3327) + DOTDOT@[3324; 3326) ".." + WHITESPACE@[3326; 3327) " " RANGE_EXPR@[3327; 3512) - DOTDOT@[3327; 3329) - WHITESPACE@[3329; 3334) + DOTDOT@[3327; 3329) ".." + WHITESPACE@[3329; 3334) "\n " RANGE_EXPR@[3334; 3512) - DOTDOTEQ@[3334; 3337) + DOTDOTEQ@[3334; 3337) "..=" RANGE_EXPR@[3337; 3512) - DOTDOT@[3337; 3339) - WHITESPACE@[3339; 3340) + DOTDOT@[3337; 3339) ".." + WHITESPACE@[3339; 3340) " " RANGE_EXPR@[3340; 3512) - DOTDOTEQ@[3340; 3343) + DOTDOTEQ@[3340; 3343) "..=" RANGE_EXPR@[3343; 3512) - DOTDOT@[3343; 3345) - WHITESPACE@[3345; 3349) + DOTDOT@[3343; 3345) ".." + WHITESPACE@[3345; 3349) " " RANGE_EXPR@[3349; 3512) - DOTDOTEQ@[3349; 3352) + DOTDOTEQ@[3349; 3352) "..=" RANGE_EXPR@[3352; 3512) - DOTDOT@[3352; 3354) - WHITESPACE@[3354; 3355) + DOTDOT@[3352; 3354) ".." + WHITESPACE@[3354; 3355) " " RANGE_EXPR@[3355; 3512) - DOTDOTEQ@[3355; 3358) + DOTDOTEQ@[3355; 3358) "..=" RANGE_EXPR@[3358; 3512) - DOTDOT@[3358; 3360) - WHITESPACE@[3360; 3364) + DOTDOT@[3358; 3360) ".." + WHITESPACE@[3360; 3364) " " RANGE_EXPR@[3364; 3512) - DOTDOT@[3364; 3366) - WHITESPACE@[3366; 3367) + DOTDOT@[3364; 3366) ".." + WHITESPACE@[3366; 3367) " " RANGE_EXPR@[3367; 3512) - DOTDOTEQ@[3367; 3370) + DOTDOTEQ@[3367; 3370) "..=" RANGE_EXPR@[3370; 3512) - DOTDOT@[3370; 3372) - WHITESPACE@[3372; 3373) + DOTDOT@[3370; 3372) ".." + WHITESPACE@[3372; 3373) " " RANGE_EXPR@[3373; 3512) - DOTDOT@[3373; 3375) - WHITESPACE@[3375; 3379) + DOTDOT@[3373; 3375) ".." + WHITESPACE@[3375; 3379) " " RANGE_EXPR@[3379; 3512) - DOTDOT@[3379; 3381) - WHITESPACE@[3381; 3382) + DOTDOT@[3379; 3381) ".." + WHITESPACE@[3381; 3382) " " RANGE_EXPR@[3382; 3512) - DOTDOTEQ@[3382; 3385) + DOTDOTEQ@[3382; 3385) "..=" RANGE_EXPR@[3385; 3512) - DOTDOT@[3385; 3387) - WHITESPACE@[3387; 3388) + DOTDOT@[3385; 3387) ".." + WHITESPACE@[3387; 3388) " " RANGE_EXPR@[3388; 3512) - DOTDOT@[3388; 3390) - WHITESPACE@[3390; 3395) + DOTDOT@[3388; 3390) ".." + WHITESPACE@[3390; 3395) "\n " RANGE_EXPR@[3395; 3512) - DOTDOTEQ@[3395; 3398) + DOTDOTEQ@[3395; 3398) "..=" RANGE_EXPR@[3398; 3512) - DOTDOT@[3398; 3400) - WHITESPACE@[3400; 3401) + DOTDOT@[3398; 3400) ".." + WHITESPACE@[3400; 3401) " " RANGE_EXPR@[3401; 3512) - DOTDOTEQ@[3401; 3404) + DOTDOTEQ@[3401; 3404) "..=" RANGE_EXPR@[3404; 3512) - DOTDOT@[3404; 3406) - WHITESPACE@[3406; 3410) + DOTDOT@[3404; 3406) ".." + WHITESPACE@[3406; 3410) " " RANGE_EXPR@[3410; 3512) - DOTDOTEQ@[3410; 3413) + DOTDOTEQ@[3410; 3413) "..=" RANGE_EXPR@[3413; 3512) - DOTDOT@[3413; 3415) - WHITESPACE@[3415; 3416) + DOTDOT@[3413; 3415) ".." + WHITESPACE@[3415; 3416) " " RANGE_EXPR@[3416; 3512) - DOTDOTEQ@[3416; 3419) + DOTDOTEQ@[3416; 3419) "..=" RANGE_EXPR@[3419; 3512) - DOTDOT@[3419; 3421) - WHITESPACE@[3421; 3425) + DOTDOT@[3419; 3421) ".." + WHITESPACE@[3421; 3425) " " RANGE_EXPR@[3425; 3512) - DOTDOT@[3425; 3427) - WHITESPACE@[3427; 3428) + DOTDOT@[3425; 3427) ".." + WHITESPACE@[3427; 3428) " " RANGE_EXPR@[3428; 3512) - DOTDOT@[3428; 3430) - WHITESPACE@[3430; 3431) + DOTDOT@[3428; 3430) ".." + WHITESPACE@[3430; 3431) " " RANGE_EXPR@[3431; 3512) - DOTDOTEQ@[3431; 3434) + DOTDOTEQ@[3431; 3434) "..=" RANGE_EXPR@[3434; 3512) - DOTDOT@[3434; 3436) - WHITESPACE@[3436; 3440) + DOTDOT@[3434; 3436) ".." + WHITESPACE@[3436; 3440) " " RANGE_EXPR@[3440; 3512) - DOTDOT@[3440; 3442) - WHITESPACE@[3442; 3443) + DOTDOT@[3440; 3442) ".." + WHITESPACE@[3442; 3443) " " RANGE_EXPR@[3443; 3512) - DOTDOTEQ@[3443; 3446) + DOTDOTEQ@[3443; 3446) "..=" RANGE_EXPR@[3446; 3512) - DOTDOT@[3446; 3448) - WHITESPACE@[3448; 3449) + DOTDOT@[3446; 3448) ".." + WHITESPACE@[3448; 3449) " " RANGE_EXPR@[3449; 3512) - DOTDOT@[3449; 3451) - WHITESPACE@[3451; 3456) + DOTDOT@[3449; 3451) ".." + WHITESPACE@[3451; 3456) "\n " RANGE_EXPR@[3456; 3512) - DOTDOTEQ@[3456; 3459) + DOTDOTEQ@[3456; 3459) "..=" RANGE_EXPR@[3459; 3512) - DOTDOT@[3459; 3461) - WHITESPACE@[3461; 3462) + DOTDOT@[3459; 3461) ".." + WHITESPACE@[3461; 3462) " " RANGE_EXPR@[3462; 3512) - DOTDOTEQ@[3462; 3465) + DOTDOTEQ@[3462; 3465) "..=" RANGE_EXPR@[3465; 3512) - DOTDOT@[3465; 3467) - WHITESPACE@[3467; 3471) + DOTDOT@[3465; 3467) ".." + WHITESPACE@[3467; 3471) " " RANGE_EXPR@[3471; 3512) - DOTDOT@[3471; 3473) - WHITESPACE@[3473; 3474) + DOTDOT@[3471; 3473) ".." + WHITESPACE@[3473; 3474) " " RANGE_EXPR@[3474; 3512) - DOTDOTEQ@[3474; 3477) + DOTDOTEQ@[3474; 3477) "..=" RANGE_EXPR@[3477; 3512) - DOTDOTEQ@[3477; 3480) + DOTDOTEQ@[3477; 3480) "..=" RANGE_EXPR@[3480; 3512) - DOTDOT@[3480; 3482) - WHITESPACE@[3482; 3486) + DOTDOT@[3480; 3482) ".." + WHITESPACE@[3482; 3486) " " RANGE_EXPR@[3486; 3512) - DOTDOTEQ@[3486; 3489) + DOTDOTEQ@[3486; 3489) "..=" RANGE_EXPR@[3489; 3512) - DOTDOTEQ@[3489; 3492) + DOTDOTEQ@[3489; 3492) "..=" RANGE_EXPR@[3492; 3512) - DOTDOT@[3492; 3494) - WHITESPACE@[3494; 3495) + DOTDOT@[3492; 3494) ".." + WHITESPACE@[3494; 3495) " " RANGE_EXPR@[3495; 3512) - DOTDOT@[3495; 3497) - WHITESPACE@[3497; 3501) + DOTDOT@[3495; 3497) ".." + WHITESPACE@[3497; 3501) " " RANGE_EXPR@[3501; 3512) - DOTDOT@[3501; 3503) - WHITESPACE@[3503; 3504) + DOTDOT@[3501; 3503) ".." + WHITESPACE@[3503; 3504) " " RANGE_EXPR@[3504; 3512) - DOTDOTEQ@[3504; 3507) + DOTDOTEQ@[3504; 3507) "..=" RANGE_EXPR@[3507; 3512) - DOTDOT@[3507; 3509) - WHITESPACE@[3509; 3510) + DOTDOT@[3507; 3509) ".." + WHITESPACE@[3509; 3510) " " RANGE_EXPR@[3510; 3512) - DOTDOT@[3510; 3512) - WHITESPACE@[3512; 3513) - R_CURLY@[3513; 3514) - WHITESPACE@[3514; 3516) + DOTDOT@[3510; 3512) ".." + WHITESPACE@[3512; 3513) "\n" + R_CURLY@[3513; 3514) "}" + WHITESPACE@[3514; 3516) "\n\n" FN_DEF@[3516; 3552) - FN_KW@[3516; 3518) - WHITESPACE@[3518; 3519) + FN_KW@[3516; 3518) "fn" + WHITESPACE@[3518; 3519) " " NAME@[3519; 3525) IDENT@[3519; 3525) "ktulhu" PARAM_LIST@[3525; 3527) - L_PAREN@[3525; 3526) - R_PAREN@[3526; 3527) - WHITESPACE@[3527; 3528) + L_PAREN@[3525; 3526) "(" + R_PAREN@[3526; 3527) ")" + WHITESPACE@[3527; 3528) " " BLOCK@[3528; 3552) - L_CURLY@[3528; 3529) - WHITESPACE@[3529; 3534) - SEMI@[3534; 3535) - SEMI@[3535; 3536) - SEMI@[3536; 3537) + L_CURLY@[3528; 3529) "{" + WHITESPACE@[3529; 3534) "\n " + SEMI@[3534; 3535) ";" + SEMI@[3535; 3536) ";" + SEMI@[3536; 3537) ";" EXPR_STMT@[3537; 3540) TUPLE_EXPR@[3537; 3539) - L_PAREN@[3537; 3538) - R_PAREN@[3538; 3539) - SEMI@[3539; 3540) - SEMI@[3540; 3541) - SEMI@[3541; 3542) - SEMI@[3542; 3543) - SEMI@[3543; 3544) - SEMI@[3544; 3545) - SEMI@[3545; 3546) - SEMI@[3546; 3547) - SEMI@[3547; 3548) + L_PAREN@[3537; 3538) "(" + R_PAREN@[3538; 3539) ")" + SEMI@[3539; 3540) ";" + SEMI@[3540; 3541) ";" + SEMI@[3541; 3542) ";" + SEMI@[3542; 3543) ";" + SEMI@[3543; 3544) ";" + SEMI@[3544; 3545) ";" + SEMI@[3545; 3546) ";" + SEMI@[3546; 3547) ";" + SEMI@[3547; 3548) ";" TUPLE_EXPR@[3548; 3550) - L_PAREN@[3548; 3549) - R_PAREN@[3549; 3550) - WHITESPACE@[3550; 3551) - R_CURLY@[3551; 3552) - WHITESPACE@[3552; 3554) + L_PAREN@[3548; 3549) "(" + R_PAREN@[3549; 3550) ")" + WHITESPACE@[3550; 3551) "\n" + R_CURLY@[3551; 3552) "}" + WHITESPACE@[3552; 3554) "\n\n" FN_DEF@[3554; 3812) VISIBILITY@[3554; 3557) - PUB_KW@[3554; 3557) - WHITESPACE@[3557; 3558) - FN_KW@[3558; 3560) - WHITESPACE@[3560; 3561) + PUB_KW@[3554; 3557) "pub" + WHITESPACE@[3557; 3558) " " + FN_KW@[3558; 3560) "fn" + WHITESPACE@[3560; 3561) " " NAME@[3561; 3565) IDENT@[3561; 3565) "main" PARAM_LIST@[3565; 3567) - L_PAREN@[3565; 3566) - R_PAREN@[3566; 3567) - WHITESPACE@[3567; 3568) + L_PAREN@[3565; 3566) "(" + R_PAREN@[3566; 3567) ")" + WHITESPACE@[3567; 3568) " " BLOCK@[3568; 3812) - L_CURLY@[3568; 3569) - WHITESPACE@[3569; 3574) + L_CURLY@[3568; 3569) "{" + WHITESPACE@[3569; 3574) "\n " EXPR_STMT@[3574; 3584) CALL_EXPR@[3574; 3583) PATH_EXPR@[3574; 3581) @@ -2070,10 +2070,10 @@ SOURCE_FILE@[0; 3813) NAME_REF@[3574; 3581) IDENT@[3574; 3581) "strange" ARG_LIST@[3581; 3583) - L_PAREN@[3581; 3582) - R_PAREN@[3582; 3583) - SEMI@[3583; 3584) - WHITESPACE@[3584; 3589) + L_PAREN@[3581; 3582) "(" + R_PAREN@[3582; 3583) ")" + SEMI@[3583; 3584) ";" + WHITESPACE@[3584; 3589) "\n " EXPR_STMT@[3589; 3597) CALL_EXPR@[3589; 3596) PATH_EXPR@[3589; 3594) @@ -2082,10 +2082,10 @@ SOURCE_FILE@[0; 3813) NAME_REF@[3589; 3594) IDENT@[3589; 3594) "funny" ARG_LIST@[3594; 3596) - L_PAREN@[3594; 3595) - R_PAREN@[3595; 3596) - SEMI@[3596; 3597) - WHITESPACE@[3597; 3602) + L_PAREN@[3594; 3595) "(" + R_PAREN@[3595; 3596) ")" + SEMI@[3596; 3597) ";" + WHITESPACE@[3597; 3602) "\n " EXPR_STMT@[3602; 3609) CALL_EXPR@[3602; 3608) PATH_EXPR@[3602; 3606) @@ -2094,10 +2094,10 @@ SOURCE_FILE@[0; 3813) NAME_REF@[3602; 3606) IDENT@[3602; 3606) "what" ARG_LIST@[3606; 3608) - L_PAREN@[3606; 3607) - R_PAREN@[3607; 3608) - SEMI@[3608; 3609) - WHITESPACE@[3609; 3614) + L_PAREN@[3606; 3607) "(" + R_PAREN@[3607; 3608) ")" + SEMI@[3608; 3609) ";" + WHITESPACE@[3609; 3614) "\n " EXPR_STMT@[3614; 3628) CALL_EXPR@[3614; 3627) PATH_EXPR@[3614; 3625) @@ -2106,10 +2106,10 @@ SOURCE_FILE@[0; 3813) NAME_REF@[3614; 3625) IDENT@[3614; 3625) "zombiejesus" ARG_LIST@[3625; 3627) - L_PAREN@[3625; 3626) - R_PAREN@[3626; 3627) - SEMI@[3627; 3628) - WHITESPACE@[3628; 3633) + L_PAREN@[3625; 3626) "(" + R_PAREN@[3626; 3627) ")" + SEMI@[3627; 3628) ";" + WHITESPACE@[3628; 3633) "\n " EXPR_STMT@[3633; 3643) CALL_EXPR@[3633; 3642) PATH_EXPR@[3633; 3640) @@ -2118,10 +2118,10 @@ SOURCE_FILE@[0; 3813) NAME_REF@[3633; 3640) IDENT@[3633; 3640) "notsure" ARG_LIST@[3640; 3642) - L_PAREN@[3640; 3641) - R_PAREN@[3641; 3642) - SEMI@[3642; 3643) - WHITESPACE@[3643; 3648) + L_PAREN@[3640; 3641) "(" + R_PAREN@[3641; 3642) ")" + SEMI@[3642; 3643) ";" + WHITESPACE@[3643; 3648) "\n " EXPR_STMT@[3648; 3664) CALL_EXPR@[3648; 3663) PATH_EXPR@[3648; 3661) @@ -2130,10 +2130,10 @@ SOURCE_FILE@[0; 3813) NAME_REF@[3648; 3661) IDENT@[3648; 3661) "canttouchthis" ARG_LIST@[3661; 3663) - L_PAREN@[3661; 3662) - R_PAREN@[3662; 3663) - SEMI@[3663; 3664) - WHITESPACE@[3664; 3669) + L_PAREN@[3661; 3662) "(" + R_PAREN@[3662; 3663) ")" + SEMI@[3663; 3664) ";" + WHITESPACE@[3664; 3669) "\n " EXPR_STMT@[3669; 3681) CALL_EXPR@[3669; 3680) PATH_EXPR@[3669; 3678) @@ -2142,10 +2142,10 @@ SOURCE_FILE@[0; 3813) NAME_REF@[3669; 3678) IDENT@[3669; 3678) "angrydome" ARG_LIST@[3678; 3680) - L_PAREN@[3678; 3679) - R_PAREN@[3679; 3680) - SEMI@[3680; 3681) - WHITESPACE@[3681; 3686) + L_PAREN@[3678; 3679) "(" + R_PAREN@[3679; 3680) ")" + SEMI@[3680; 3681) ";" + WHITESPACE@[3681; 3686) "\n " EXPR_STMT@[3686; 3701) CALL_EXPR@[3686; 3700) PATH_EXPR@[3686; 3698) @@ -2154,10 +2154,10 @@ SOURCE_FILE@[0; 3813) NAME_REF@[3686; 3698) IDENT@[3686; 3698) "evil_lincoln" ARG_LIST@[3698; 3700) - L_PAREN@[3698; 3699) - R_PAREN@[3699; 3700) - SEMI@[3700; 3701) - WHITESPACE@[3701; 3706) + L_PAREN@[3698; 3699) "(" + R_PAREN@[3699; 3700) ")" + SEMI@[3700; 3701) ";" + WHITESPACE@[3701; 3706) "\n " EXPR_STMT@[3706; 3713) CALL_EXPR@[3706; 3712) PATH_EXPR@[3706; 3710) @@ -2166,10 +2166,10 @@ SOURCE_FILE@[0; 3813) NAME_REF@[3706; 3710) IDENT@[3706; 3710) "dots" ARG_LIST@[3710; 3712) - L_PAREN@[3710; 3711) - R_PAREN@[3711; 3712) - SEMI@[3712; 3713) - WHITESPACE@[3713; 3718) + L_PAREN@[3710; 3711) "(" + R_PAREN@[3711; 3712) ")" + SEMI@[3712; 3713) ";" + WHITESPACE@[3713; 3718) "\n " EXPR_STMT@[3718; 3726) CALL_EXPR@[3718; 3725) PATH_EXPR@[3718; 3720) @@ -2178,12 +2178,12 @@ SOURCE_FILE@[0; 3813) NAME_REF@[3718; 3720) IDENT@[3718; 3720) "u8" ARG_LIST@[3720; 3725) - L_PAREN@[3720; 3721) + L_PAREN@[3720; 3721) "(" LITERAL@[3721; 3724) INT_NUMBER@[3721; 3724) "8u8" - R_PAREN@[3724; 3725) - SEMI@[3725; 3726) - WHITESPACE@[3726; 3731) + R_PAREN@[3724; 3725) ")" + SEMI@[3725; 3726) ";" + WHITESPACE@[3726; 3731) "\n " EXPR_STMT@[3731; 3739) CALL_EXPR@[3731; 3738) PATH_EXPR@[3731; 3736) @@ -2192,10 +2192,10 @@ SOURCE_FILE@[0; 3813) NAME_REF@[3731; 3736) IDENT@[3731; 3736) "fishy" ARG_LIST@[3736; 3738) - L_PAREN@[3736; 3737) - R_PAREN@[3737; 3738) - SEMI@[3738; 3739) - WHITESPACE@[3739; 3744) + L_PAREN@[3736; 3737) "(" + R_PAREN@[3737; 3738) ")" + SEMI@[3738; 3739) ";" + WHITESPACE@[3739; 3744) "\n " EXPR_STMT@[3744; 3752) CALL_EXPR@[3744; 3751) PATH_EXPR@[3744; 3749) @@ -2204,10 +2204,10 @@ SOURCE_FILE@[0; 3813) NAME_REF@[3744; 3749) IDENT@[3744; 3749) "union" ARG_LIST@[3749; 3751) - L_PAREN@[3749; 3750) - R_PAREN@[3750; 3751) - SEMI@[3751; 3752) - WHITESPACE@[3752; 3757) + L_PAREN@[3749; 3750) "(" + R_PAREN@[3750; 3751) ")" + SEMI@[3751; 3752) ";" + WHITESPACE@[3752; 3757) "\n " EXPR_STMT@[3757; 3778) CALL_EXPR@[3757; 3777) PATH_EXPR@[3757; 3775) @@ -2216,10 +2216,10 @@ SOURCE_FILE@[0; 3813) NAME_REF@[3757; 3775) IDENT@[3757; 3775) "special_characters" ARG_LIST@[3775; 3777) - L_PAREN@[3775; 3776) - R_PAREN@[3776; 3777) - SEMI@[3777; 3778) - WHITESPACE@[3778; 3783) + L_PAREN@[3775; 3776) "(" + R_PAREN@[3776; 3777) ")" + SEMI@[3777; 3778) ";" + WHITESPACE@[3778; 3783) "\n " EXPR_STMT@[3783; 3796) CALL_EXPR@[3783; 3795) PATH_EXPR@[3783; 3793) @@ -2228,10 +2228,10 @@ SOURCE_FILE@[0; 3813) NAME_REF@[3783; 3793) IDENT@[3783; 3793) "punch_card" ARG_LIST@[3793; 3795) - L_PAREN@[3793; 3794) - R_PAREN@[3794; 3795) - SEMI@[3795; 3796) - WHITESPACE@[3796; 3801) + L_PAREN@[3793; 3794) "(" + R_PAREN@[3794; 3795) ")" + SEMI@[3795; 3796) ";" + WHITESPACE@[3796; 3801) "\n " EXPR_STMT@[3801; 3810) CALL_EXPR@[3801; 3809) PATH_EXPR@[3801; 3807) @@ -2240,9 +2240,9 @@ SOURCE_FILE@[0; 3813) NAME_REF@[3801; 3807) IDENT@[3801; 3807) "ktulhu" ARG_LIST@[3807; 3809) - L_PAREN@[3807; 3808) - R_PAREN@[3808; 3809) - SEMI@[3809; 3810) - WHITESPACE@[3810; 3811) - R_CURLY@[3811; 3812) - WHITESPACE@[3812; 3813) + L_PAREN@[3807; 3808) "(" + R_PAREN@[3808; 3809) ")" + SEMI@[3809; 3810) ";" + WHITESPACE@[3810; 3811) "\n" + R_CURLY@[3811; 3812) "}" + WHITESPACE@[3812; 3813) "\n" diff --git a/crates/ra_syntax/tests/data/parser/ok/0036_fully_qualified.txt b/crates/ra_syntax/tests/data/parser/ok/0036_fully_qualified.txt index 93e26aaf6..86263c0bb 100644 --- a/crates/ra_syntax/tests/data/parser/ok/0036_fully_qualified.txt +++ b/crates/ra_syntax/tests/data/parser/ok/0036_fully_qualified.txt @@ -1,21 +1,21 @@ SOURCE_FILE@[0; 157) - COMMENT@[0; 60) - WHITESPACE@[60; 62) + COMMENT@[0; 60) "// https://github.com ..." + WHITESPACE@[60; 62) "\n\n" FN_DEF@[62; 156) VISIBILITY@[62; 65) - PUB_KW@[62; 65) - WHITESPACE@[65; 66) - FN_KW@[66; 68) - WHITESPACE@[68; 69) + PUB_KW@[62; 65) "pub" + WHITESPACE@[65; 66) " " + FN_KW@[66; 68) "fn" + WHITESPACE@[68; 69) " " NAME@[69; 72) IDENT@[69; 72) "foo" TYPE_PARAM_LIST@[72; 85) - L_ANGLE@[72; 73) + L_ANGLE@[72; 73) "<" TYPE_PARAM@[73; 84) NAME@[73; 74) IDENT@[73; 74) "S" - COLON@[74; 75) - WHITESPACE@[75; 76) + COLON@[74; 75) ":" + WHITESPACE@[75; 76) " " TYPE_BOUND_LIST@[76; 84) TYPE_BOUND@[76; 84) PATH_TYPE@[76; 84) @@ -23,49 +23,49 @@ SOURCE_FILE@[0; 157) PATH_SEGMENT@[76; 84) NAME_REF@[76; 84) IDENT@[76; 84) "Iterator" - R_ANGLE@[84; 85) + R_ANGLE@[84; 85) ">" PARAM_LIST@[85; 87) - L_PAREN@[85; 86) - R_PAREN@[86; 87) - WHITESPACE@[87; 88) + L_PAREN@[85; 86) "(" + R_PAREN@[86; 87) ")" + WHITESPACE@[87; 88) " " RET_TYPE@[88; 97) - THIN_ARROW@[88; 90) - WHITESPACE@[90; 91) + THIN_ARROW@[88; 90) "->" + WHITESPACE@[90; 91) " " PATH_TYPE@[91; 97) PATH@[91; 97) PATH_SEGMENT@[91; 97) NAME_REF@[91; 97) IDENT@[91; 97) "String" - WHITESPACE@[97; 98) + WHITESPACE@[97; 98) "\n" WHERE_CLAUSE@[98; 134) - WHERE_KW@[98; 103) - WHITESPACE@[103; 108) + WHERE_KW@[98; 103) "where" + WHITESPACE@[103; 108) "\n " WHERE_PRED@[108; 133) PATH_TYPE@[108; 129) PATH@[108; 129) PATH@[108; 123) PATH_SEGMENT@[108; 123) - L_ANGLE@[108; 109) + L_ANGLE@[108; 109) "<" PATH_TYPE@[109; 110) PATH@[109; 110) PATH_SEGMENT@[109; 110) NAME_REF@[109; 110) IDENT@[109; 110) "S" - WHITESPACE@[110; 111) - AS_KW@[111; 113) - WHITESPACE@[113; 114) + WHITESPACE@[110; 111) " " + AS_KW@[111; 113) "as" + WHITESPACE@[113; 114) " " PATH_TYPE@[114; 122) PATH@[114; 122) PATH_SEGMENT@[114; 122) NAME_REF@[114; 122) IDENT@[114; 122) "Iterator" - R_ANGLE@[122; 123) - COLONCOLON@[123; 125) + R_ANGLE@[122; 123) ">" + COLONCOLON@[123; 125) "::" PATH_SEGMENT@[125; 129) NAME_REF@[125; 129) IDENT@[125; 129) "Item" - COLON@[129; 130) - WHITESPACE@[130; 131) + COLON@[129; 130) ":" + WHITESPACE@[130; 131) " " TYPE_BOUND_LIST@[131; 133) TYPE_BOUND@[131; 133) PATH_TYPE@[131; 133) @@ -73,20 +73,20 @@ SOURCE_FILE@[0; 157) PATH_SEGMENT@[131; 133) NAME_REF@[131; 133) IDENT@[131; 133) "Eq" - COMMA@[133; 134) - WHITESPACE@[134; 135) + COMMA@[133; 134) "," + WHITESPACE@[134; 135) "\n" BLOCK@[135; 156) - L_CURLY@[135; 136) - WHITESPACE@[136; 141) + L_CURLY@[135; 136) "{" + WHITESPACE@[136; 141) "\n " METHOD_CALL_EXPR@[141; 154) LITERAL@[141; 143) - STRING@[141; 143) - DOT@[143; 144) + 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) - R_CURLY@[155; 156) - WHITESPACE@[156; 157) + L_PAREN@[152; 153) "(" + R_PAREN@[153; 154) ")" + WHITESPACE@[154; 155) "\n" + R_CURLY@[155; 156) "}" + WHITESPACE@[156; 157) "\n" diff --git a/crates/ra_syntax/tests/data/parser/ok/0037_mod.txt b/crates/ra_syntax/tests/data/parser/ok/0037_mod.txt index f8a20ac53..3af40a104 100644 --- a/crates/ra_syntax/tests/data/parser/ok/0037_mod.txt +++ b/crates/ra_syntax/tests/data/parser/ok/0037_mod.txt @@ -1,16 +1,16 @@ SOURCE_FILE@[0; 93) - COMMENT@[0; 60) - WHITESPACE@[60; 62) + COMMENT@[0; 60) "// https://github.com ..." + WHITESPACE@[60; 62) "\n\n" MODULE@[62; 93) - COMMENT@[62; 70) - WHITESPACE@[70; 71) - COMMENT@[71; 82) - WHITESPACE@[82; 83) - MOD_KW@[83; 86) - WHITESPACE@[86; 87) + COMMENT@[62; 70) "//! docs" + WHITESPACE@[70; 71) "\n" + COMMENT@[71; 82) "// non-docs" + WHITESPACE@[82; 83) "\n" + MOD_KW@[83; 86) "mod" + WHITESPACE@[86; 87) " " NAME@[87; 90) IDENT@[87; 90) "foo" - WHITESPACE@[90; 91) + WHITESPACE@[90; 91) " " ITEM_LIST@[91; 93) - L_CURLY@[91; 92) - R_CURLY@[92; 93) + L_CURLY@[91; 92) "{" + R_CURLY@[92; 93) "}" diff --git a/crates/ra_syntax/tests/data/parser/ok/0038_where_pred_type.txt b/crates/ra_syntax/tests/data/parser/ok/0038_where_pred_type.txt index fe3fca5cd..7a5507473 100644 --- a/crates/ra_syntax/tests/data/parser/ok/0038_where_pred_type.txt +++ b/crates/ra_syntax/tests/data/parser/ok/0038_where_pred_type.txt @@ -1,34 +1,34 @@ SOURCE_FILE@[0; 34) FN_DEF@[0; 34) - FN_KW@[0; 2) - WHITESPACE@[2; 3) + FN_KW@[0; 2) "fn" + WHITESPACE@[2; 3) " " NAME@[3; 7) IDENT@[3; 7) "test" PARAM_LIST@[7; 9) - L_PAREN@[7; 8) - R_PAREN@[8; 9) - WHITESPACE@[9; 10) + L_PAREN@[7; 8) "(" + R_PAREN@[8; 9) ")" + WHITESPACE@[9; 10) " " WHERE_CLAUSE@[10; 31) - WHERE_KW@[10; 15) - WHITESPACE@[15; 16) + WHERE_KW@[10; 15) "where" + WHITESPACE@[15; 16) " " WHERE_PRED@[16; 31) TUPLE_TYPE@[16; 26) - L_PAREN@[16; 17) + L_PAREN@[16; 17) "(" PATH_TYPE@[17; 20) PATH@[17; 20) PATH_SEGMENT@[17; 20) NAME_REF@[17; 20) IDENT@[17; 20) "u64" - COMMA@[20; 21) - WHITESPACE@[21; 22) + COMMA@[20; 21) "," + WHITESPACE@[21; 22) " " PATH_TYPE@[22; 25) PATH@[22; 25) PATH_SEGMENT@[22; 25) NAME_REF@[22; 25) IDENT@[22; 25) "u64" - R_PAREN@[25; 26) - COLON@[26; 27) - WHITESPACE@[27; 28) + R_PAREN@[25; 26) ")" + COLON@[26; 27) ":" + WHITESPACE@[27; 28) " " TYPE_BOUND_LIST@[28; 31) TYPE_BOUND@[28; 31) PATH_TYPE@[28; 31) @@ -36,7 +36,7 @@ SOURCE_FILE@[0; 34) PATH_SEGMENT@[28; 31) NAME_REF@[28; 31) IDENT@[28; 31) "Foo" - WHITESPACE@[31; 32) + WHITESPACE@[31; 32) " " BLOCK@[32; 34) - L_CURLY@[32; 33) - R_CURLY@[33; 34) + L_CURLY@[32; 33) "{" + R_CURLY@[33; 34) "}" diff --git a/crates/ra_syntax/tests/data/parser/ok/0039_raw_fn_item.txt b/crates/ra_syntax/tests/data/parser/ok/0039_raw_fn_item.txt index dcd055d86..69fac87e3 100644 --- a/crates/ra_syntax/tests/data/parser/ok/0039_raw_fn_item.txt +++ b/crates/ra_syntax/tests/data/parser/ok/0039_raw_fn_item.txt @@ -1,15 +1,15 @@ SOURCE_FILE@[0; 15) FN_DEF@[0; 14) - FN_KW@[0; 2) - WHITESPACE@[2; 3) + FN_KW@[0; 2) "fn" + WHITESPACE@[2; 3) " " NAME@[3; 8) IDENT@[3; 8) "r#foo" PARAM_LIST@[8; 10) - L_PAREN@[8; 9) - R_PAREN@[9; 10) - WHITESPACE@[10; 11) + L_PAREN@[8; 9) "(" + R_PAREN@[9; 10) ")" + WHITESPACE@[10; 11) " " BLOCK@[11; 14) - L_CURLY@[11; 12) - WHITESPACE@[12; 13) - R_CURLY@[13; 14) - WHITESPACE@[14; 15) + L_CURLY@[11; 12) "{" + WHITESPACE@[12; 13) "\n" + R_CURLY@[13; 14) "}" + WHITESPACE@[14; 15) "\n" diff --git a/crates/ra_syntax/tests/data/parser/ok/0040_raw_struct_item_field.txt b/crates/ra_syntax/tests/data/parser/ok/0040_raw_struct_item_field.txt index 361e53152..3c717555d 100644 --- a/crates/ra_syntax/tests/data/parser/ok/0040_raw_struct_item_field.txt +++ b/crates/ra_syntax/tests/data/parser/ok/0040_raw_struct_item_field.txt @@ -1,22 +1,22 @@ SOURCE_FILE@[0; 27) STRUCT_DEF@[0; 27) - STRUCT_KW@[0; 6) - WHITESPACE@[6; 7) + STRUCT_KW@[0; 6) "struct" + WHITESPACE@[6; 7) " " NAME@[7; 8) IDENT@[7; 8) "S" - WHITESPACE@[8; 9) + WHITESPACE@[8; 9) " " NAMED_FIELD_DEF_LIST@[9; 27) - L_CURLY@[9; 10) - WHITESPACE@[10; 15) + L_CURLY@[9; 10) "{" + WHITESPACE@[10; 15) "\n " NAMED_FIELD_DEF@[15; 25) NAME@[15; 20) IDENT@[15; 20) "r#foo" - COLON@[20; 21) - WHITESPACE@[21; 22) + COLON@[20; 21) ":" + WHITESPACE@[21; 22) " " PATH_TYPE@[22; 25) PATH@[22; 25) PATH_SEGMENT@[22; 25) NAME_REF@[22; 25) IDENT@[22; 25) "u32" - WHITESPACE@[25; 26) - R_CURLY@[26; 27) + WHITESPACE@[25; 26) "\n" + R_CURLY@[26; 27) "}" diff --git a/crates/ra_syntax/tests/data/parser/ok/0041_raw_keywords.txt b/crates/ra_syntax/tests/data/parser/ok/0041_raw_keywords.txt index f03ed17f5..554b52f85 100644 --- a/crates/ra_syntax/tests/data/parser/ok/0041_raw_keywords.txt +++ b/crates/ra_syntax/tests/data/parser/ok/0041_raw_keywords.txt @@ -1,49 +1,49 @@ SOURCE_FILE@[0; 59) FN_DEF@[0; 59) - FN_KW@[0; 2) - WHITESPACE@[2; 3) + FN_KW@[0; 2) "fn" + WHITESPACE@[2; 3) " " NAME@[3; 6) IDENT@[3; 6) "foo" PARAM_LIST@[6; 8) - L_PAREN@[6; 7) - R_PAREN@[7; 8) - WHITESPACE@[8; 9) + L_PAREN@[6; 7) "(" + R_PAREN@[7; 8) ")" + WHITESPACE@[8; 9) " " BLOCK@[9; 59) - L_CURLY@[9; 10) - WHITESPACE@[10; 11) + L_CURLY@[9; 10) "{" + WHITESPACE@[10; 11) " " LET_STMT@[11; 29) - LET_KW@[11; 14) - WHITESPACE@[14; 15) + 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) + WHITESPACE@[23; 24) " " + EQ@[24; 25) "=" + WHITESPACE@[25; 26) " " LITERAL@[26; 28) INT_NUMBER@[26; 28) "92" - SEMI@[28; 29) - WHITESPACE@[29; 30) + SEMI@[28; 29) ";" + WHITESPACE@[29; 30) " " LET_STMT@[30; 57) - LET_KW@[30; 33) - WHITESPACE@[33; 34) + 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) + 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) + WHITESPACE@[52; 53) " " + STAR@[53; 54) "*" + WHITESPACE@[54; 55) " " LITERAL@[55; 56) INT_NUMBER@[55; 56) "2" - SEMI@[56; 57) - WHITESPACE@[57; 58) - R_CURLY@[58; 59) + SEMI@[56; 57) ";" + WHITESPACE@[57; 58) " " + R_CURLY@[58; 59) "}" diff --git a/crates/ra_syntax/tests/data/parser/ok/0042_ufcs_call_list.txt b/crates/ra_syntax/tests/data/parser/ok/0042_ufcs_call_list.txt index d1d890e50..19951011e 100644 --- a/crates/ra_syntax/tests/data/parser/ok/0042_ufcs_call_list.txt +++ b/crates/ra_syntax/tests/data/parser/ok/0042_ufcs_call_list.txt @@ -1,95 +1,95 @@ SOURCE_FILE@[0; 199) - COMMENT@[0; 60) - WHITESPACE@[60; 62) + COMMENT@[0; 60) "// https://github.com ..." + WHITESPACE@[60; 62) "\n\n" STRUCT_DEF@[62; 73) - STRUCT_KW@[62; 68) - WHITESPACE@[68; 69) + STRUCT_KW@[62; 68) "struct" + WHITESPACE@[68; 69) " " NAME@[69; 72) IDENT@[69; 72) "Foo" - SEMI@[72; 73) - WHITESPACE@[73; 75) + SEMI@[72; 73) ";" + WHITESPACE@[73; 75) "\n\n" IMPL_BLOCK@[75; 141) - IMPL_KW@[75; 79) - WHITESPACE@[79; 80) + IMPL_KW@[75; 79) "impl" + WHITESPACE@[79; 80) " " PATH_TYPE@[80; 83) PATH@[80; 83) PATH_SEGMENT@[80; 83) NAME_REF@[80; 83) IDENT@[80; 83) "Foo" - WHITESPACE@[83; 84) + WHITESPACE@[83; 84) " " ITEM_LIST@[84; 141) - L_CURLY@[84; 85) - WHITESPACE@[85; 90) + L_CURLY@[84; 85) "{" + WHITESPACE@[85; 90) "\n " FN_DEF@[90; 139) - FN_KW@[90; 92) - WHITESPACE@[92; 93) + FN_KW@[90; 92) "fn" + WHITESPACE@[92; 93) " " NAME@[93; 96) IDENT@[93; 96) "bar" PARAM_LIST@[96; 98) - L_PAREN@[96; 97) - R_PAREN@[97; 98) - WHITESPACE@[98; 99) + L_PAREN@[96; 97) "(" + R_PAREN@[97; 98) ")" + WHITESPACE@[98; 99) " " RET_TYPE@[99; 106) - THIN_ARROW@[99; 101) - WHITESPACE@[101; 102) + THIN_ARROW@[99; 101) "->" + WHITESPACE@[101; 102) " " PATH_TYPE@[102; 106) PATH@[102; 106) PATH_SEGMENT@[102; 106) NAME_REF@[102; 106) IDENT@[102; 106) "bool" - WHITESPACE@[106; 107) + WHITESPACE@[106; 107) " " BLOCK@[107; 139) - L_CURLY@[107; 108) - WHITESPACE@[108; 117) + 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" - EXCL@[130; 131) + EXCL@[130; 131) "!" TOKEN_TREE@[131; 133) - L_PAREN@[131; 132) - R_PAREN@[132; 133) - WHITESPACE@[133; 138) - R_CURLY@[138; 139) - WHITESPACE@[139; 140) - R_CURLY@[140; 141) - WHITESPACE@[141; 143) + 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" FN_DEF@[143; 161) - FN_KW@[143; 145) - WHITESPACE@[145; 146) + FN_KW@[143; 145) "fn" + WHITESPACE@[145; 146) " " NAME@[146; 149) IDENT@[146; 149) "baz" PARAM_LIST@[149; 158) - L_PAREN@[149; 150) + L_PAREN@[149; 150) "(" PARAM@[150; 157) PLACEHOLDER_PAT@[150; 151) - UNDERSCORE@[150; 151) - COLON@[151; 152) - WHITESPACE@[152; 153) + UNDERSCORE@[150; 151) "_" + COLON@[151; 152) ":" + WHITESPACE@[152; 153) " " PATH_TYPE@[153; 157) PATH@[153; 157) PATH_SEGMENT@[153; 157) NAME_REF@[153; 157) IDENT@[153; 157) "bool" - R_PAREN@[157; 158) - WHITESPACE@[158; 159) + R_PAREN@[157; 158) ")" + WHITESPACE@[158; 159) " " BLOCK@[159; 161) - L_CURLY@[159; 160) - R_CURLY@[160; 161) - WHITESPACE@[161; 163) + L_CURLY@[159; 160) "{" + R_CURLY@[160; 161) "}" + WHITESPACE@[161; 163) "\n\n" FN_DEF@[163; 198) - FN_KW@[163; 165) - WHITESPACE@[165; 166) + FN_KW@[163; 165) "fn" + WHITESPACE@[165; 166) " " NAME@[166; 170) IDENT@[166; 170) "main" PARAM_LIST@[170; 172) - L_PAREN@[170; 171) - R_PAREN@[171; 172) - WHITESPACE@[172; 173) + L_PAREN@[170; 171) "(" + R_PAREN@[171; 172) ")" + WHITESPACE@[172; 173) " " BLOCK@[173; 198) - L_CURLY@[173; 174) - WHITESPACE@[174; 179) + L_CURLY@[173; 174) "{" + WHITESPACE@[174; 179) "\n " CALL_EXPR@[179; 196) PATH_EXPR@[179; 182) PATH@[179; 182) @@ -97,27 +97,27 @@ SOURCE_FILE@[0; 199) NAME_REF@[179; 182) IDENT@[179; 182) "baz" ARG_LIST@[182; 196) - L_PAREN@[182; 183) + 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) + 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) - COLONCOLON@[188; 190) + R_ANGLE@[187; 188) ">" + COLONCOLON@[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) - R_CURLY@[197; 198) - WHITESPACE@[198; 199) + L_PAREN@[193; 194) "(" + R_PAREN@[194; 195) ")" + R_PAREN@[195; 196) ")" + WHITESPACE@[196; 197) "\n" + R_CURLY@[197; 198) "}" + WHITESPACE@[198; 199) "\n" diff --git a/crates/ra_syntax/tests/data/parser/ok/0043_complex_assignment.txt b/crates/ra_syntax/tests/data/parser/ok/0043_complex_assignment.txt index 2279c7966..ef47521bf 100644 --- a/crates/ra_syntax/tests/data/parser/ok/0043_complex_assignment.txt +++ b/crates/ra_syntax/tests/data/parser/ok/0043_complex_assignment.txt @@ -1,47 +1,47 @@ SOURCE_FILE@[0; 160) - COMMENT@[0; 60) - WHITESPACE@[60; 62) + COMMENT@[0; 60) "// https://github.com ..." + WHITESPACE@[60; 62) "\n\n" STRUCT_DEF@[62; 90) - STRUCT_KW@[62; 68) - WHITESPACE@[68; 69) + STRUCT_KW@[62; 68) "struct" + WHITESPACE@[68; 69) " " NAME@[69; 73) IDENT@[69; 73) "Repr" - WHITESPACE@[73; 74) + WHITESPACE@[73; 74) " " NAMED_FIELD_DEF_LIST@[74; 90) - L_CURLY@[74; 75) - WHITESPACE@[75; 76) + L_CURLY@[74; 75) "{" + WHITESPACE@[75; 76) " " NAMED_FIELD_DEF@[76; 88) NAME@[76; 79) IDENT@[76; 79) "raw" - COLON@[79; 80) - WHITESPACE@[80; 81) + COLON@[79; 80) ":" + WHITESPACE@[80; 81) " " ARRAY_TYPE@[81; 88) - L_BRACK@[81; 82) + L_BRACK@[81; 82) "[" PATH_TYPE@[82; 84) PATH@[82; 84) PATH_SEGMENT@[82; 84) NAME_REF@[82; 84) IDENT@[82; 84) "u8" - SEMI@[84; 85) - WHITESPACE@[85; 86) + SEMI@[84; 85) ";" + WHITESPACE@[85; 86) " " LITERAL@[86; 87) INT_NUMBER@[86; 87) "1" - R_BRACK@[87; 88) - WHITESPACE@[88; 89) - R_CURLY@[89; 90) - WHITESPACE@[90; 92) + R_BRACK@[87; 88) "]" + WHITESPACE@[88; 89) " " + R_CURLY@[89; 90) "}" + WHITESPACE@[90; 92) "\n\n" FN_DEF@[92; 159) - FN_KW@[92; 94) - WHITESPACE@[94; 95) + FN_KW@[92; 94) "fn" + WHITESPACE@[94; 95) " " NAME@[95; 98) IDENT@[95; 98) "abc" PARAM_LIST@[98; 100) - L_PAREN@[98; 99) - R_PAREN@[99; 100) - WHITESPACE@[100; 101) + L_PAREN@[98; 99) "(" + R_PAREN@[99; 100) ")" + WHITESPACE@[100; 101) " " BLOCK@[101; 159) - L_CURLY@[101; 102) - WHITESPACE@[102; 107) + L_CURLY@[101; 102) "{" + WHITESPACE@[102; 107) "\n " EXPR_STMT@[107; 136) BIN_EXPR@[107; 135) INDEX_EXPR@[107; 131) @@ -51,36 +51,36 @@ SOURCE_FILE@[0; 160) PATH_SEGMENT@[107; 111) NAME_REF@[107; 111) IDENT@[107; 111) "Repr" - WHITESPACE@[111; 112) + WHITESPACE@[111; 112) " " NAMED_FIELD_LIST@[112; 124) - L_CURLY@[112; 113) - WHITESPACE@[113; 114) + L_CURLY@[112; 113) "{" + WHITESPACE@[113; 114) " " NAMED_FIELD@[114; 122) NAME_REF@[114; 117) IDENT@[114; 117) "raw" - COLON@[117; 118) - WHITESPACE@[118; 119) + COLON@[117; 118) ":" + WHITESPACE@[118; 119) " " ARRAY_EXPR@[119; 122) - L_BRACK@[119; 120) + 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) + 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) + 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) + R_BRACK@[130; 131) "]" + WHITESPACE@[131; 132) " " + EQ@[132; 133) "=" + WHITESPACE@[133; 134) " " LITERAL@[134; 135) INT_NUMBER@[134; 135) "0" - SEMI@[135; 136) - WHITESPACE@[136; 141) + SEMI@[135; 136) ";" + WHITESPACE@[136; 141) "\n " EXPR_STMT@[141; 157) CALL_EXPR@[141; 156) STRUCT_LIT@[141; 154) @@ -89,21 +89,21 @@ SOURCE_FILE@[0; 160) NAME_REF@[141; 145) IDENT@[141; 145) "Repr" NAMED_FIELD_LIST@[145; 154) - L_CURLY@[145; 146) + L_CURLY@[145; 146) "{" NAMED_FIELD@[146; 153) NAME_REF@[146; 149) IDENT@[146; 149) "raw" - COLON@[149; 150) + COLON@[149; 150) ":" ARRAY_EXPR@[150; 153) - L_BRACK@[150; 151) + L_BRACK@[150; 151) "[" LITERAL@[151; 152) INT_NUMBER@[151; 152) "0" - R_BRACK@[152; 153) - R_CURLY@[153; 154) + R_BRACK@[152; 153) "]" + R_CURLY@[153; 154) "}" ARG_LIST@[154; 156) - L_PAREN@[154; 155) - R_PAREN@[155; 156) - SEMI@[156; 157) - WHITESPACE@[157; 158) - R_CURLY@[158; 159) - WHITESPACE@[159; 160) + L_PAREN@[154; 155) "(" + R_PAREN@[155; 156) ")" + SEMI@[156; 157) ";" + WHITESPACE@[157; 158) "\n" + R_CURLY@[158; 159) "}" + WHITESPACE@[159; 160) "\n" diff --git a/crates/ra_syntax/tests/data/parser/ok/0044_let_attrs.txt b/crates/ra_syntax/tests/data/parser/ok/0044_let_attrs.txt index 1f52f699b..b928adaad 100644 --- a/crates/ra_syntax/tests/data/parser/ok/0044_let_attrs.txt +++ b/crates/ra_syntax/tests/data/parser/ok/0044_let_attrs.txt @@ -1,42 +1,42 @@ SOURCE_FILE@[0; 166) FN_DEF@[0; 165) - COMMENT@[0; 60) - WHITESPACE@[60; 61) - FN_KW@[61; 63) - WHITESPACE@[63; 64) + COMMENT@[0; 60) "// https://github.com ..." + WHITESPACE@[60; 61) "\n" + FN_KW@[61; 63) "fn" + WHITESPACE@[63; 64) " " NAME@[64; 68) IDENT@[64; 68) "main" PARAM_LIST@[68; 70) - L_PAREN@[68; 69) - R_PAREN@[69; 70) - WHITESPACE@[70; 71) + L_PAREN@[68; 69) "(" + R_PAREN@[69; 70) ")" + WHITESPACE@[70; 71) " " BLOCK@[71; 165) - L_CURLY@[71; 72) - WHITESPACE@[72; 77) + L_CURLY@[71; 72) "{" + WHITESPACE@[72; 77) "\n " LET_STMT@[77; 163) ATTR@[77; 106) - POUND@[77; 78) + POUND@[77; 78) "#" TOKEN_TREE@[78; 106) - L_BRACK@[78; 79) + L_BRACK@[78; 79) "[" IDENT@[79; 82) "cfg" TOKEN_TREE@[82; 105) - L_PAREN@[82; 83) + L_PAREN@[82; 83) "(" IDENT@[83; 90) "feature" - WHITESPACE@[90; 91) - EQ@[91; 92) - WHITESPACE@[92; 93) - STRING@[93; 104) - R_PAREN@[104; 105) - R_BRACK@[105; 106) - WHITESPACE@[106; 111) - LET_KW@[111; 114) - WHITESPACE@[114; 115) + 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) + WHITESPACE@[124; 125) " " + EQ@[125; 126) "=" + WHITESPACE@[126; 127) " " CALL_EXPR@[127; 162) PATH_EXPR@[127; 146) PATH@[127; 146) @@ -44,19 +44,19 @@ SOURCE_FILE@[0; 166) PATH_SEGMENT@[127; 132) NAME_REF@[127; 132) IDENT@[127; 132) "panic" - COLONCOLON@[132; 134) + COLONCOLON@[132; 134) "::" PATH_SEGMENT@[134; 146) NAME_REF@[134; 146) IDENT@[134; 146) "catch_unwind" ARG_LIST@[146; 162) - L_PAREN@[146; 147) + L_PAREN@[146; 147) "(" LAMBDA_EXPR@[147; 161) - MOVE_KW@[147; 151) - WHITESPACE@[151; 152) + MOVE_KW@[147; 151) "move" + WHITESPACE@[151; 152) " " PARAM_LIST@[152; 154) - PIPE@[152; 153) - PIPE@[153; 154) - WHITESPACE@[154; 155) + PIPE@[152; 153) "|" + PIPE@[153; 154) "|" + WHITESPACE@[154; 155) " " CALL_EXPR@[155; 161) PATH_EXPR@[155; 159) PATH@[155; 159) @@ -64,10 +64,10 @@ SOURCE_FILE@[0; 166) NAME_REF@[155; 159) IDENT@[155; 159) "main" ARG_LIST@[159; 161) - L_PAREN@[159; 160) - R_PAREN@[160; 161) - R_PAREN@[161; 162) - SEMI@[162; 163) - WHITESPACE@[163; 164) - R_CURLY@[164; 165) - WHITESPACE@[165; 166) + L_PAREN@[159; 160) "(" + R_PAREN@[160; 161) ")" + R_PAREN@[161; 162) ")" + SEMI@[162; 163) ";" + WHITESPACE@[163; 164) "\n" + R_CURLY@[164; 165) "}" + WHITESPACE@[165; 166) "\n" diff --git a/crates/ra_syntax/tests/data/parser/ok/0045_block_inner_attrs.txt b/crates/ra_syntax/tests/data/parser/ok/0045_block_inner_attrs.txt index eba587f18..f6d3bf302 100644 --- a/crates/ra_syntax/tests/data/parser/ok/0045_block_inner_attrs.txt +++ b/crates/ra_syntax/tests/data/parser/ok/0045_block_inner_attrs.txt @@ -1,121 +1,121 @@ SOURCE_FILE@[0; 686) FN_DEF@[0; 461) - FN_KW@[0; 2) - WHITESPACE@[2; 3) + FN_KW@[0; 2) "fn" + WHITESPACE@[2; 3) " " NAME@[3; 8) IDENT@[3; 8) "block" PARAM_LIST@[8; 10) - L_PAREN@[8; 9) - R_PAREN@[9; 10) - WHITESPACE@[10; 11) + L_PAREN@[8; 9) "(" + R_PAREN@[9; 10) ")" + WHITESPACE@[10; 11) " " BLOCK@[11; 461) - L_CURLY@[11; 12) - WHITESPACE@[12; 17) + L_CURLY@[11; 12) "{" + WHITESPACE@[12; 17) "\n " ATTR@[17; 57) - POUND@[17; 18) - EXCL@[18; 19) + POUND@[17; 18) "#" + EXCL@[18; 19) "!" TOKEN_TREE@[19; 57) - L_BRACK@[19; 20) + L_BRACK@[19; 20) "[" IDENT@[20; 23) "doc" TOKEN_TREE@[23; 56) - L_PAREN@[23; 24) - STRING@[24; 55) - R_PAREN@[55; 56) - R_BRACK@[56; 57) - WHITESPACE@[57; 62) - COMMENT@[62; 97) - WHITESPACE@[97; 102) + 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) + L_CURLY@[102; 103) "{" + WHITESPACE@[103; 112) "\n " ATTR@[112; 180) - POUND@[112; 113) - EXCL@[113; 114) + POUND@[112; 113) "#" + EXCL@[113; 114) "!" TOKEN_TREE@[114; 180) - L_BRACK@[114; 115) + L_BRACK@[114; 115) "[" IDENT@[115; 118) "doc" TOKEN_TREE@[118; 179) - L_PAREN@[118; 119) - STRING@[119; 178) - R_PAREN@[178; 179) - R_BRACK@[179; 180) - WHITESPACE@[180; 189) + 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) - EXCL@[190; 191) + POUND@[189; 190) "#" + EXCL@[190; 191) "!" TOKEN_TREE@[191; 244) - L_BRACK@[191; 192) + L_BRACK@[191; 192) "[" IDENT@[192; 195) "doc" TOKEN_TREE@[195; 243) - L_PAREN@[195; 196) - STRING@[196; 242) - R_PAREN@[242; 243) - R_BRACK@[243; 244) - WHITESPACE@[244; 253) - COMMENT@[253; 288) - WHITESPACE@[288; 293) - R_CURLY@[293; 294) - SEMI@[294; 295) - WHITESPACE@[295; 300) + 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) "}" + SEMI@[294; 295) ";" + WHITESPACE@[295; 300) "\n " BLOCK_EXPR@[300; 459) BLOCK@[300; 459) - L_CURLY@[300; 301) - WHITESPACE@[301; 310) + L_CURLY@[300; 301) "{" + WHITESPACE@[301; 310) "\n " ATTR@[310; 409) - POUND@[310; 311) - EXCL@[311; 312) + POUND@[310; 311) "#" + EXCL@[311; 312) "!" TOKEN_TREE@[312; 409) - L_BRACK@[312; 313) + L_BRACK@[312; 313) "[" IDENT@[313; 316) "doc" TOKEN_TREE@[316; 408) - L_PAREN@[316; 317) - STRING@[317; 407) - R_PAREN@[407; 408) - R_BRACK@[408; 409) - WHITESPACE@[409; 418) - COMMENT@[418; 453) - WHITESPACE@[453; 458) - R_CURLY@[458; 459) - WHITESPACE@[459; 460) - R_CURLY@[460; 461) - WHITESPACE@[461; 463) - COMMENT@[463; 523) - WHITESPACE@[523; 524) + 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" IMPL_BLOCK@[524; 685) - IMPL_KW@[524; 528) - WHITESPACE@[528; 529) + IMPL_KW@[524; 528) "impl" + WHITESPACE@[528; 529) " " PATH_TYPE@[529; 537) PATH@[529; 537) PATH_SEGMENT@[529; 537) NAME_REF@[529; 537) IDENT@[529; 537) "Whatever" - WHITESPACE@[537; 538) + WHITESPACE@[537; 538) " " ITEM_LIST@[538; 685) - L_CURLY@[538; 539) - WHITESPACE@[539; 544) + L_CURLY@[538; 539) "{" + WHITESPACE@[539; 544) "\n " FN_DEF@[544; 683) - FN_KW@[544; 546) - WHITESPACE@[546; 547) + FN_KW@[544; 546) "fn" + WHITESPACE@[546; 547) " " NAME@[547; 558) IDENT@[547; 558) "salsa_event" PARAM_LIST@[558; 601) - L_PAREN@[558; 559) + L_PAREN@[558; 559) "(" SELF_PARAM@[559; 564) - AMP@[559; 560) - SELF_KW@[560; 564) - COMMA@[564; 565) - WHITESPACE@[565; 566) + AMP@[559; 560) "&" + SELF_KW@[560; 564) "self" + COMMA@[564; 565) "," + WHITESPACE@[565; 566) " " PARAM@[566; 600) BIND_PAT@[566; 574) NAME@[566; 574) IDENT@[566; 574) "event_fn" - COLON@[574; 575) - WHITESPACE@[575; 576) + COLON@[574; 575) ":" + WHITESPACE@[575; 576) " " IMPL_TRAIT_TYPE@[576; 600) - IMPL_KW@[576; 580) - WHITESPACE@[580; 581) + IMPL_KW@[576; 580) "impl" + WHITESPACE@[580; 581) " " TYPE_BOUND_LIST@[581; 600) TYPE_BOUND@[581; 600) PATH_TYPE@[581; 600) @@ -124,46 +124,46 @@ SOURCE_FILE@[0; 686) NAME_REF@[581; 583) IDENT@[581; 583) "Fn" PARAM_LIST@[583; 585) - L_PAREN@[583; 584) - R_PAREN@[584; 585) - WHITESPACE@[585; 586) + L_PAREN@[583; 584) "(" + R_PAREN@[584; 585) ")" + WHITESPACE@[585; 586) " " RET_TYPE@[586; 600) - THIN_ARROW@[586; 588) - WHITESPACE@[588; 589) + THIN_ARROW@[586; 588) "->" + WHITESPACE@[588; 589) " " PATH_TYPE@[589; 600) PATH@[589; 600) PATH_SEGMENT@[589; 600) NAME_REF@[589; 594) IDENT@[589; 594) "Event" TYPE_ARG_LIST@[594; 600) - L_ANGLE@[594; 595) + L_ANGLE@[594; 595) "<" TYPE_ARG@[595; 599) PATH_TYPE@[595; 599) PATH@[595; 599) PATH_SEGMENT@[595; 599) NAME_REF@[595; 599) IDENT@[595; 599) "Self" - R_ANGLE@[599; 600) - R_PAREN@[600; 601) - WHITESPACE@[601; 602) + R_ANGLE@[599; 600) ">" + R_PAREN@[600; 601) ")" + WHITESPACE@[601; 602) " " BLOCK@[602; 683) - L_CURLY@[602; 603) - WHITESPACE@[603; 612) + L_CURLY@[602; 603) "{" + WHITESPACE@[603; 612) "\n " ATTR@[612; 639) - POUND@[612; 613) - EXCL@[613; 614) + POUND@[612; 613) "#" + EXCL@[613; 614) "!" TOKEN_TREE@[614; 639) - L_BRACK@[614; 615) + L_BRACK@[614; 615) "[" IDENT@[615; 620) "allow" TOKEN_TREE@[620; 638) - L_PAREN@[620; 621) + L_PAREN@[620; 621) "(" IDENT@[621; 637) "unused_variables" - R_PAREN@[637; 638) - R_BRACK@[638; 639) - WHITESPACE@[639; 640) - COMMENT@[640; 677) - WHITESPACE@[677; 682) - R_CURLY@[682; 683) - WHITESPACE@[683; 684) - R_CURLY@[684; 685) - WHITESPACE@[685; 686) + 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" diff --git a/crates/ra_syntax/tests/data/parser/ok/0046_extern_inner_attributes.txt b/crates/ra_syntax/tests/data/parser/ok/0046_extern_inner_attributes.txt index c68e1b271..4487a6e2e 100644 --- a/crates/ra_syntax/tests/data/parser/ok/0046_extern_inner_attributes.txt +++ b/crates/ra_syntax/tests/data/parser/ok/0046_extern_inner_attributes.txt @@ -1,26 +1,26 @@ SOURCE_FILE@[0; 87) EXTERN_BLOCK@[0; 86) ABI@[0; 10) - EXTERN_KW@[0; 6) - WHITESPACE@[6; 7) - STRING@[7; 10) - WHITESPACE@[10; 11) + EXTERN_KW@[0; 6) "extern" + WHITESPACE@[6; 7) " " + STRING@[7; 10) "\"C\"" + WHITESPACE@[10; 11) " " EXTERN_ITEM_LIST@[11; 86) - L_CURLY@[11; 12) - WHITESPACE@[12; 17) - COMMENT@[17; 42) - WHITESPACE@[42; 47) + L_CURLY@[11; 12) "{" + WHITESPACE@[12; 17) "\n " + COMMENT@[17; 42) "//! This is a doc com ..." + WHITESPACE@[42; 47) "\n " ATTR@[47; 84) - POUND@[47; 48) - EXCL@[48; 49) + POUND@[47; 48) "#" + EXCL@[48; 49) "!" TOKEN_TREE@[49; 84) - L_BRACK@[49; 50) + L_BRACK@[49; 50) "[" IDENT@[50; 53) "doc" TOKEN_TREE@[53; 83) - L_PAREN@[53; 54) - STRING@[54; 82) - R_PAREN@[82; 83) - R_BRACK@[83; 84) - WHITESPACE@[84; 85) - R_CURLY@[85; 86) - WHITESPACE@[86; 87) + L_PAREN@[53; 54) "(" + STRING@[54; 82) "\"This is also a doc c ..." + R_PAREN@[82; 83) ")" + R_BRACK@[83; 84) "]" + WHITESPACE@[84; 85) "\n" + R_CURLY@[85; 86) "}" + WHITESPACE@[86; 87) "\n" diff --git a/crates/ra_syntax/tests/data/parser/ok/0047_minus_in_inner_pattern.txt b/crates/ra_syntax/tests/data/parser/ok/0047_minus_in_inner_pattern.txt index ca66b44bb..917b50ddf 100644 --- a/crates/ra_syntax/tests/data/parser/ok/0047_minus_in_inner_pattern.txt +++ b/crates/ra_syntax/tests/data/parser/ok/0047_minus_in_inner_pattern.txt @@ -1,22 +1,22 @@ SOURCE_FILE@[0; 395) - COMMENT@[0; 60) - WHITESPACE@[60; 62) + COMMENT@[0; 60) "// https://github.com ..." + WHITESPACE@[60; 62) "\n\n" FN_DEF@[62; 341) - FN_KW@[62; 64) - WHITESPACE@[64; 65) + FN_KW@[62; 64) "fn" + WHITESPACE@[64; 65) " " NAME@[65; 69) IDENT@[65; 69) "main" PARAM_LIST@[69; 71) - L_PAREN@[69; 70) - R_PAREN@[70; 71) - WHITESPACE@[71; 72) + L_PAREN@[69; 70) "(" + R_PAREN@[70; 71) ")" + WHITESPACE@[71; 72) " " BLOCK@[72; 341) - L_CURLY@[72; 73) - WHITESPACE@[73; 78) + L_CURLY@[72; 73) "{" + WHITESPACE@[73; 78) "\n " EXPR_STMT@[78; 141) MATCH_EXPR@[78; 141) - MATCH_KW@[78; 83) - WHITESPACE@[83; 84) + MATCH_KW@[78; 83) "match" + WHITESPACE@[83; 84) " " CALL_EXPR@[84; 92) PATH_EXPR@[84; 88) PATH@[84; 88) @@ -24,53 +24,53 @@ SOURCE_FILE@[0; 395) NAME_REF@[84; 88) IDENT@[84; 88) "Some" ARG_LIST@[88; 92) - L_PAREN@[88; 89) + L_PAREN@[88; 89) "(" PREFIX_EXPR@[89; 91) - MINUS@[89; 90) + MINUS@[89; 90) "-" LITERAL@[90; 91) INT_NUMBER@[90; 91) "1" - R_PAREN@[91; 92) - WHITESPACE@[92; 93) + R_PAREN@[91; 92) ")" + WHITESPACE@[92; 93) " " MATCH_ARM_LIST@[93; 141) - L_CURLY@[93; 94) - WHITESPACE@[94; 103) + 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) + L_PAREN@[107; 108) "(" LITERAL_PAT@[108; 110) - MINUS@[108; 109) + 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) + 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) + 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) + 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) - R_CURLY@[140; 141) - WHITESPACE@[141; 147) + 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) - WHITESPACE@[152; 153) + MATCH_KW@[147; 152) "match" + WHITESPACE@[152; 153) " " CALL_EXPR@[153; 167) PATH_EXPR@[153; 157) PATH@[153; 157) @@ -78,71 +78,71 @@ SOURCE_FILE@[0; 395) NAME_REF@[153; 157) IDENT@[153; 157) "Some" ARG_LIST@[157; 167) - L_PAREN@[157; 158) + L_PAREN@[157; 158) "(" TUPLE_EXPR@[158; 166) - L_PAREN@[158; 159) + L_PAREN@[158; 159) "(" PREFIX_EXPR@[159; 161) - MINUS@[159; 160) + MINUS@[159; 160) "-" LITERAL@[160; 161) INT_NUMBER@[160; 161) "1" - COMMA@[161; 162) - WHITESPACE@[162; 163) + COMMA@[161; 162) "," + WHITESPACE@[162; 163) " " PREFIX_EXPR@[163; 165) - MINUS@[163; 164) + MINUS@[163; 164) "-" LITERAL@[164; 165) INT_NUMBER@[164; 165) "1" - R_PAREN@[165; 166) - R_PAREN@[166; 167) - WHITESPACE@[167; 168) + R_PAREN@[165; 166) ")" + R_PAREN@[166; 167) ")" + WHITESPACE@[167; 168) " " MATCH_ARM_LIST@[168; 222) - L_CURLY@[168; 169) - WHITESPACE@[169; 178) + 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) + L_PAREN@[182; 183) "(" TUPLE_PAT@[183; 191) - L_PAREN@[183; 184) + L_PAREN@[183; 184) "(" LITERAL_PAT@[184; 186) - MINUS@[184; 185) + MINUS@[184; 185) "-" LITERAL@[185; 186) INT_NUMBER@[185; 186) "1" - COMMA@[186; 187) - WHITESPACE@[187; 188) + COMMA@[186; 187) "," + WHITESPACE@[187; 188) " " LITERAL_PAT@[188; 190) - MINUS@[188; 189) + 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) + 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) + 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) + 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) - R_CURLY@[221; 222) - WHITESPACE@[222; 228) + 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) - WHITESPACE@[233; 234) + MATCH_KW@[228; 233) "match" + WHITESPACE@[233; 234) " " CALL_EXPR@[234; 246) PATH_EXPR@[234; 238) PATH@[234; 238) @@ -150,27 +150,27 @@ SOURCE_FILE@[0; 395) PATH_SEGMENT@[234; 235) NAME_REF@[234; 235) IDENT@[234; 235) "A" - COLONCOLON@[235; 237) + COLONCOLON@[235; 237) "::" PATH_SEGMENT@[237; 238) NAME_REF@[237; 238) IDENT@[237; 238) "B" ARG_LIST@[238; 246) - L_PAREN@[238; 239) + L_PAREN@[238; 239) "(" PREFIX_EXPR@[239; 241) - MINUS@[239; 240) + MINUS@[239; 240) "-" LITERAL@[240; 241) INT_NUMBER@[240; 241) "1" - COMMA@[241; 242) - WHITESPACE@[242; 243) + COMMA@[241; 242) "," + WHITESPACE@[242; 243) " " PREFIX_EXPR@[243; 245) - MINUS@[243; 244) + MINUS@[243; 244) "-" LITERAL@[244; 245) INT_NUMBER@[244; 245) "1" - R_PAREN@[245; 246) - WHITESPACE@[246; 247) + R_PAREN@[245; 246) ")" + WHITESPACE@[246; 247) " " MATCH_ARM_LIST@[247; 299) - L_CURLY@[247; 248) - WHITESPACE@[248; 257) + L_CURLY@[247; 248) "{" + WHITESPACE@[248; 257) "\n " MATCH_ARM@[257; 275) TUPLE_STRUCT_PAT@[257; 269) PATH@[257; 261) @@ -178,63 +178,63 @@ SOURCE_FILE@[0; 395) PATH_SEGMENT@[257; 258) NAME_REF@[257; 258) IDENT@[257; 258) "A" - COLONCOLON@[258; 260) + COLONCOLON@[258; 260) "::" PATH_SEGMENT@[260; 261) NAME_REF@[260; 261) IDENT@[260; 261) "B" - L_PAREN@[261; 262) + L_PAREN@[261; 262) "(" LITERAL_PAT@[262; 264) - MINUS@[262; 263) + MINUS@[262; 263) "-" LITERAL@[263; 264) INT_NUMBER@[263; 264) "1" - COMMA@[264; 265) - WHITESPACE@[265; 266) + COMMA@[264; 265) "," + WHITESPACE@[265; 266) " " LITERAL_PAT@[266; 268) - MINUS@[266; 267) + 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) + 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) + 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) + 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) - R_CURLY@[298; 299) - WHITESPACE@[299; 305) + 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) - WHITESPACE@[307; 308) + IF_KW@[305; 307) "if" + WHITESPACE@[307; 308) " " CONDITION@[308; 331) - LET_KW@[308; 311) - WHITESPACE@[311; 312) + 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) + L_PAREN@[316; 317) "(" LITERAL_PAT@[317; 319) - MINUS@[317; 318) + MINUS@[317; 318) "-" LITERAL@[318; 319) INT_NUMBER@[318; 319) "1" - R_PAREN@[319; 320) - WHITESPACE@[320; 321) - EQ@[321; 322) - WHITESPACE@[322; 323) + R_PAREN@[319; 320) ")" + WHITESPACE@[320; 321) " " + EQ@[321; 322) "=" + WHITESPACE@[322; 323) " " CALL_EXPR@[323; 331) PATH_EXPR@[323; 327) PATH@[323; 327) @@ -242,79 +242,79 @@ SOURCE_FILE@[0; 395) NAME_REF@[323; 327) IDENT@[323; 327) "Some" ARG_LIST@[327; 331) - L_PAREN@[327; 328) + L_PAREN@[327; 328) "(" PREFIX_EXPR@[328; 330) - MINUS@[328; 329) + MINUS@[328; 329) "-" LITERAL@[329; 330) INT_NUMBER@[329; 330) "1" - R_PAREN@[330; 331) - WHITESPACE@[331; 332) + R_PAREN@[330; 331) ")" + WHITESPACE@[331; 332) " " BLOCK@[332; 339) - L_CURLY@[332; 333) - WHITESPACE@[333; 338) - R_CURLY@[338; 339) - WHITESPACE@[339; 340) - R_CURLY@[340; 341) - WHITESPACE@[341; 343) + 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) - WHITESPACE@[347; 348) + ENUM_KW@[343; 347) "enum" + WHITESPACE@[347; 348) " " NAME@[348; 349) IDENT@[348; 349) "A" - WHITESPACE@[349; 350) + WHITESPACE@[349; 350) " " ENUM_VARIANT_LIST@[350; 367) - L_CURLY@[350; 351) - WHITESPACE@[351; 356) + L_CURLY@[350; 351) "{" + WHITESPACE@[351; 356) "\n " ENUM_VARIANT@[356; 365) NAME@[356; 357) IDENT@[356; 357) "B" POS_FIELD_DEF_LIST@[357; 365) - L_PAREN@[357; 358) + L_PAREN@[357; 358) "(" POS_FIELD_DEF@[358; 360) PATH_TYPE@[358; 360) PATH@[358; 360) PATH_SEGMENT@[358; 360) NAME_REF@[358; 360) IDENT@[358; 360) "i8" - COMMA@[360; 361) - WHITESPACE@[361; 362) + COMMA@[360; 361) "," + WHITESPACE@[361; 362) " " POS_FIELD_DEF@[362; 364) PATH_TYPE@[362; 364) PATH@[362; 364) PATH_SEGMENT@[362; 364) NAME_REF@[362; 364) IDENT@[362; 364) "i8" - R_PAREN@[364; 365) - WHITESPACE@[365; 366) - R_CURLY@[366; 367) - WHITESPACE@[367; 369) + R_PAREN@[364; 365) ")" + WHITESPACE@[365; 366) "\n" + R_CURLY@[366; 367) "}" + WHITESPACE@[367; 369) "\n\n" FN_DEF@[369; 394) - FN_KW@[369; 371) - WHITESPACE@[371; 372) + FN_KW@[369; 371) "fn" + WHITESPACE@[371; 372) " " NAME@[372; 375) IDENT@[372; 375) "foo" PARAM_LIST@[375; 391) - L_PAREN@[375; 376) + L_PAREN@[375; 376) "(" PARAM@[376; 390) RANGE_PAT@[376; 386) LITERAL_PAT@[376; 380) - MINUS@[376; 377) + MINUS@[376; 377) "-" LITERAL@[377; 380) INT_NUMBER@[377; 380) "128" - DOTDOTEQ@[380; 383) + DOTDOTEQ@[380; 383) "..=" LITERAL_PAT@[383; 386) LITERAL@[383; 386) INT_NUMBER@[383; 386) "127" - COLON@[386; 387) - WHITESPACE@[387; 388) + COLON@[386; 387) ":" + WHITESPACE@[387; 388) " " PATH_TYPE@[388; 390) PATH@[388; 390) PATH_SEGMENT@[388; 390) NAME_REF@[388; 390) IDENT@[388; 390) "i8" - R_PAREN@[390; 391) - WHITESPACE@[391; 392) + R_PAREN@[390; 391) ")" + WHITESPACE@[391; 392) " " BLOCK@[392; 394) - L_CURLY@[392; 393) - R_CURLY@[393; 394) - WHITESPACE@[394; 395) + L_CURLY@[392; 393) "{" + R_CURLY@[393; 394) "}" + WHITESPACE@[394; 395) "\n" diff --git a/crates/ra_syntax/tests/data/parser/ok/0048_compound_assignment.txt b/crates/ra_syntax/tests/data/parser/ok/0048_compound_assignment.txt index c5ff06823..3fca4993a 100644 --- a/crates/ra_syntax/tests/data/parser/ok/0048_compound_assignment.txt +++ b/crates/ra_syntax/tests/data/parser/ok/0048_compound_assignment.txt @@ -1,33 +1,33 @@ SOURCE_FILE@[0; 257) - COMMENT@[0; 58) - WHITESPACE@[58; 60) + COMMENT@[0; 58) "// https://github.com ..." + WHITESPACE@[58; 60) "\n\n" FN_DEF@[60; 256) - FN_KW@[60; 62) - WHITESPACE@[62; 63) + FN_KW@[60; 62) "fn" + WHITESPACE@[62; 63) " " NAME@[63; 82) IDENT@[63; 82) "compound_assignment" PARAM_LIST@[82; 84) - L_PAREN@[82; 83) - R_PAREN@[83; 84) - WHITESPACE@[84; 85) + L_PAREN@[82; 83) "(" + R_PAREN@[83; 84) ")" + WHITESPACE@[84; 85) " " BLOCK@[85; 256) - L_CURLY@[85; 86) - WHITESPACE@[86; 91) + L_CURLY@[85; 86) "{" + WHITESPACE@[86; 91) "\n " LET_STMT@[91; 105) - LET_KW@[91; 94) - WHITESPACE@[94; 95) + LET_KW@[91; 94) "let" + WHITESPACE@[94; 95) " " BIND_PAT@[95; 100) - MUT_KW@[95; 98) - WHITESPACE@[98; 99) + MUT_KW@[95; 98) "mut" + WHITESPACE@[98; 99) " " NAME@[99; 100) IDENT@[99; 100) "a" - WHITESPACE@[100; 101) - EQ@[101; 102) - WHITESPACE@[102; 103) + WHITESPACE@[100; 101) " " + EQ@[101; 102) "=" + WHITESPACE@[102; 103) " " LITERAL@[103; 104) INT_NUMBER@[103; 104) "0" - SEMI@[104; 105) - WHITESPACE@[105; 110) + SEMI@[104; 105) ";" + WHITESPACE@[105; 110) "\n " EXPR_STMT@[110; 117) BIN_EXPR@[110; 116) PATH_EXPR@[110; 111) @@ -35,13 +35,13 @@ SOURCE_FILE@[0; 257) PATH_SEGMENT@[110; 111) NAME_REF@[110; 111) IDENT@[110; 111) "a" - WHITESPACE@[111; 112) - PLUSEQ@[112; 114) - WHITESPACE@[114; 115) + WHITESPACE@[111; 112) " " + PLUSEQ@[112; 114) "+=" + WHITESPACE@[114; 115) " " LITERAL@[115; 116) INT_NUMBER@[115; 116) "1" - SEMI@[116; 117) - WHITESPACE@[117; 122) + SEMI@[116; 117) ";" + WHITESPACE@[117; 122) "\n " EXPR_STMT@[122; 129) BIN_EXPR@[122; 128) PATH_EXPR@[122; 123) @@ -49,13 +49,13 @@ SOURCE_FILE@[0; 257) PATH_SEGMENT@[122; 123) NAME_REF@[122; 123) IDENT@[122; 123) "a" - WHITESPACE@[123; 124) - MINUSEQ@[124; 126) - WHITESPACE@[126; 127) + WHITESPACE@[123; 124) " " + MINUSEQ@[124; 126) "-=" + WHITESPACE@[126; 127) " " LITERAL@[127; 128) INT_NUMBER@[127; 128) "2" - SEMI@[128; 129) - WHITESPACE@[129; 134) + SEMI@[128; 129) ";" + WHITESPACE@[129; 134) "\n " EXPR_STMT@[134; 141) BIN_EXPR@[134; 140) PATH_EXPR@[134; 135) @@ -63,13 +63,13 @@ SOURCE_FILE@[0; 257) PATH_SEGMENT@[134; 135) NAME_REF@[134; 135) IDENT@[134; 135) "a" - WHITESPACE@[135; 136) - STAREQ@[136; 138) - WHITESPACE@[138; 139) + WHITESPACE@[135; 136) " " + STAREQ@[136; 138) "*=" + WHITESPACE@[138; 139) " " LITERAL@[139; 140) INT_NUMBER@[139; 140) "3" - SEMI@[140; 141) - WHITESPACE@[141; 146) + SEMI@[140; 141) ";" + WHITESPACE@[141; 146) "\n " EXPR_STMT@[146; 153) BIN_EXPR@[146; 152) PATH_EXPR@[146; 147) @@ -77,13 +77,13 @@ SOURCE_FILE@[0; 257) PATH_SEGMENT@[146; 147) NAME_REF@[146; 147) IDENT@[146; 147) "a" - WHITESPACE@[147; 148) - PERCENTEQ@[148; 150) - WHITESPACE@[150; 151) + WHITESPACE@[147; 148) " " + PERCENTEQ@[148; 150) "%=" + WHITESPACE@[150; 151) " " LITERAL@[151; 152) INT_NUMBER@[151; 152) "4" - SEMI@[152; 153) - WHITESPACE@[153; 158) + SEMI@[152; 153) ";" + WHITESPACE@[153; 158) "\n " EXPR_STMT@[158; 165) BIN_EXPR@[158; 164) PATH_EXPR@[158; 159) @@ -91,13 +91,13 @@ SOURCE_FILE@[0; 257) PATH_SEGMENT@[158; 159) NAME_REF@[158; 159) IDENT@[158; 159) "a" - WHITESPACE@[159; 160) - SLASHEQ@[160; 162) - WHITESPACE@[162; 163) + WHITESPACE@[159; 160) " " + SLASHEQ@[160; 162) "/=" + WHITESPACE@[162; 163) " " LITERAL@[163; 164) INT_NUMBER@[163; 164) "5" - SEMI@[164; 165) - WHITESPACE@[165; 170) + SEMI@[164; 165) ";" + WHITESPACE@[165; 170) "\n " EXPR_STMT@[170; 177) BIN_EXPR@[170; 176) PATH_EXPR@[170; 171) @@ -105,13 +105,13 @@ SOURCE_FILE@[0; 257) PATH_SEGMENT@[170; 171) NAME_REF@[170; 171) IDENT@[170; 171) "a" - WHITESPACE@[171; 172) - PIPEEQ@[172; 174) - WHITESPACE@[174; 175) + WHITESPACE@[171; 172) " " + PIPEEQ@[172; 174) "|=" + WHITESPACE@[174; 175) " " LITERAL@[175; 176) INT_NUMBER@[175; 176) "6" - SEMI@[176; 177) - WHITESPACE@[177; 182) + SEMI@[176; 177) ";" + WHITESPACE@[177; 182) "\n " EXPR_STMT@[182; 189) BIN_EXPR@[182; 188) PATH_EXPR@[182; 183) @@ -119,13 +119,13 @@ SOURCE_FILE@[0; 257) PATH_SEGMENT@[182; 183) NAME_REF@[182; 183) IDENT@[182; 183) "a" - WHITESPACE@[183; 184) - AMPEQ@[184; 186) - WHITESPACE@[186; 187) + WHITESPACE@[183; 184) " " + AMPEQ@[184; 186) "&=" + WHITESPACE@[186; 187) " " LITERAL@[187; 188) INT_NUMBER@[187; 188) "7" - SEMI@[188; 189) - WHITESPACE@[189; 194) + SEMI@[188; 189) ";" + WHITESPACE@[189; 194) "\n " EXPR_STMT@[194; 201) BIN_EXPR@[194; 200) PATH_EXPR@[194; 195) @@ -133,13 +133,13 @@ SOURCE_FILE@[0; 257) PATH_SEGMENT@[194; 195) NAME_REF@[194; 195) IDENT@[194; 195) "a" - WHITESPACE@[195; 196) - CARETEQ@[196; 198) - WHITESPACE@[198; 199) + WHITESPACE@[195; 196) " " + CARETEQ@[196; 198) "^=" + WHITESPACE@[198; 199) " " LITERAL@[199; 200) INT_NUMBER@[199; 200) "8" - SEMI@[200; 201) - WHITESPACE@[201; 206) + SEMI@[200; 201) ";" + WHITESPACE@[201; 206) "\n " EXPR_STMT@[206; 213) BIN_EXPR@[206; 212) PATH_EXPR@[206; 207) @@ -147,13 +147,13 @@ SOURCE_FILE@[0; 257) PATH_SEGMENT@[206; 207) NAME_REF@[206; 207) IDENT@[206; 207) "a" - WHITESPACE@[207; 208) - LTEQ@[208; 210) - WHITESPACE@[210; 211) + WHITESPACE@[207; 208) " " + LTEQ@[208; 210) "<=" + WHITESPACE@[210; 211) " " LITERAL@[211; 212) INT_NUMBER@[211; 212) "9" - SEMI@[212; 213) - WHITESPACE@[213; 218) + SEMI@[212; 213) ";" + WHITESPACE@[213; 218) "\n " EXPR_STMT@[218; 226) BIN_EXPR@[218; 225) PATH_EXPR@[218; 219) @@ -161,13 +161,13 @@ SOURCE_FILE@[0; 257) PATH_SEGMENT@[218; 219) NAME_REF@[218; 219) IDENT@[218; 219) "a" - WHITESPACE@[219; 220) - GTEQ@[220; 222) - WHITESPACE@[222; 223) + WHITESPACE@[219; 220) " " + GTEQ@[220; 222) ">=" + WHITESPACE@[222; 223) " " LITERAL@[223; 225) INT_NUMBER@[223; 225) "10" - SEMI@[225; 226) - WHITESPACE@[226; 231) + SEMI@[225; 226) ";" + WHITESPACE@[226; 231) "\n " EXPR_STMT@[231; 240) BIN_EXPR@[231; 239) PATH_EXPR@[231; 232) @@ -175,13 +175,13 @@ SOURCE_FILE@[0; 257) PATH_SEGMENT@[231; 232) NAME_REF@[231; 232) IDENT@[231; 232) "a" - WHITESPACE@[232; 233) - SHREQ@[233; 236) - WHITESPACE@[236; 237) + WHITESPACE@[232; 233) " " + SHREQ@[233; 236) ">>=" + WHITESPACE@[236; 237) " " LITERAL@[237; 239) INT_NUMBER@[237; 239) "11" - SEMI@[239; 240) - WHITESPACE@[240; 245) + SEMI@[239; 240) ";" + WHITESPACE@[240; 245) "\n " EXPR_STMT@[245; 254) BIN_EXPR@[245; 253) PATH_EXPR@[245; 246) @@ -189,12 +189,12 @@ SOURCE_FILE@[0; 257) PATH_SEGMENT@[245; 246) NAME_REF@[245; 246) IDENT@[245; 246) "a" - WHITESPACE@[246; 247) - SHLEQ@[247; 250) - WHITESPACE@[250; 251) + WHITESPACE@[246; 247) " " + SHLEQ@[247; 250) "<<=" + WHITESPACE@[250; 251) " " LITERAL@[251; 253) INT_NUMBER@[251; 253) "12" - SEMI@[253; 254) - WHITESPACE@[254; 255) - R_CURLY@[255; 256) - WHITESPACE@[256; 257) + SEMI@[253; 254) ";" + WHITESPACE@[254; 255) "\n" + R_CURLY@[255; 256) "}" + WHITESPACE@[256; 257) "\n" diff --git a/crates/ra_syntax/tests/data/parser/ok/0049_async_block.txt b/crates/ra_syntax/tests/data/parser/ok/0049_async_block.txt index 6212e1130..517982ddc 100644 --- a/crates/ra_syntax/tests/data/parser/ok/0049_async_block.txt +++ b/crates/ra_syntax/tests/data/parser/ok/0049_async_block.txt @@ -1,35 +1,35 @@ SOURCE_FILE@[0; 47) FN_DEF@[0; 45) - FN_KW@[0; 2) - WHITESPACE@[2; 3) + FN_KW@[0; 2) "fn" + WHITESPACE@[2; 3) " " NAME@[3; 6) IDENT@[3; 6) "foo" PARAM_LIST@[6; 8) - L_PAREN@[6; 7) - R_PAREN@[7; 8) - WHITESPACE@[8; 9) + L_PAREN@[6; 7) "(" + R_PAREN@[7; 8) ")" + WHITESPACE@[8; 9) " " BLOCK@[9; 45) - L_CURLY@[9; 10) - WHITESPACE@[10; 15) + L_CURLY@[9; 10) "{" + WHITESPACE@[10; 15) "\n " EXPR_STMT@[15; 24) BLOCK_EXPR@[15; 23) - ASYNC_KW@[15; 20) - WHITESPACE@[20; 21) + ASYNC_KW@[15; 20) "async" + WHITESPACE@[20; 21) " " BLOCK@[21; 23) - L_CURLY@[21; 22) - R_CURLY@[22; 23) - SEMI@[23; 24) - WHITESPACE@[24; 29) + L_CURLY@[21; 22) "{" + R_CURLY@[22; 23) "}" + SEMI@[23; 24) ";" + WHITESPACE@[24; 29) "\n " EXPR_STMT@[29; 43) BLOCK_EXPR@[29; 42) - ASYNC_KW@[29; 34) - WHITESPACE@[34; 35) - MOVE_KW@[35; 39) - WHITESPACE@[39; 40) + 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) - SEMI@[42; 43) - WHITESPACE@[43; 44) - R_CURLY@[44; 45) - WHITESPACE@[45; 47) + L_CURLY@[40; 41) "{" + R_CURLY@[41; 42) "}" + SEMI@[42; 43) ";" + WHITESPACE@[43; 44) "\n" + R_CURLY@[44; 45) "}" + WHITESPACE@[45; 47) "\n\n" diff --git a/crates/ra_syntax/tests/data/parser/ok/0050_async_block_as_argument.txt b/crates/ra_syntax/tests/data/parser/ok/0050_async_block_as_argument.txt index 82f0f8142..64da5878b 100644 --- a/crates/ra_syntax/tests/data/parser/ok/0050_async_block_as_argument.txt +++ b/crates/ra_syntax/tests/data/parser/ok/0050_async_block_as_argument.txt @@ -1,20 +1,20 @@ SOURCE_FILE@[0; 95) FN_DEF@[0; 52) - FN_KW@[0; 2) - WHITESPACE@[2; 3) + FN_KW@[0; 2) "fn" + WHITESPACE@[2; 3) " " NAME@[3; 6) IDENT@[3; 6) "foo" PARAM_LIST@[6; 49) - L_PAREN@[6; 7) + L_PAREN@[6; 7) "(" PARAM@[7; 48) BIND_PAT@[7; 8) NAME@[7; 8) IDENT@[7; 8) "x" - COLON@[8; 9) - WHITESPACE@[9; 10) + COLON@[8; 9) ":" + WHITESPACE@[9; 10) " " IMPL_TRAIT_TYPE@[10; 48) - IMPL_KW@[10; 14) - WHITESPACE@[14; 15) + IMPL_KW@[10; 14) "impl" + WHITESPACE@[14; 15) " " TYPE_BOUND_LIST@[15; 48) TYPE_BOUND@[15; 48) PATH_TYPE@[15; 48) @@ -24,46 +24,46 @@ SOURCE_FILE@[0; 95) PATH_SEGMENT@[15; 18) NAME_REF@[15; 18) IDENT@[15; 18) "std" - COLONCOLON@[18; 20) + COLONCOLON@[18; 20) "::" PATH_SEGMENT@[20; 26) NAME_REF@[20; 26) IDENT@[20; 26) "future" - COLONCOLON@[26; 28) + COLONCOLON@[26; 28) "::" PATH_SEGMENT@[28; 48) NAME_REF@[28; 34) IDENT@[28; 34) "Future" TYPE_ARG_LIST@[34; 48) - L_ANGLE@[34; 35) + L_ANGLE@[34; 35) "<" ASSOC_TYPE_ARG@[35; 47) NAME_REF@[35; 41) IDENT@[35; 41) "Output" - WHITESPACE@[41; 42) - EQ@[42; 43) - WHITESPACE@[43; 44) + WHITESPACE@[41; 42) " " + EQ@[42; 43) "=" + WHITESPACE@[43; 44) " " PATH_TYPE@[44; 47) PATH@[44; 47) PATH_SEGMENT@[44; 47) NAME_REF@[44; 47) IDENT@[44; 47) "i32" - R_ANGLE@[47; 48) - R_PAREN@[48; 49) - WHITESPACE@[49; 50) + R_ANGLE@[47; 48) ">" + R_PAREN@[48; 49) ")" + WHITESPACE@[49; 50) " " BLOCK@[50; 52) - L_CURLY@[50; 51) - R_CURLY@[51; 52) - WHITESPACE@[52; 54) + L_CURLY@[50; 51) "{" + R_CURLY@[51; 52) "}" + WHITESPACE@[52; 54) "\n\n" FN_DEF@[54; 94) - FN_KW@[54; 56) - WHITESPACE@[56; 57) + FN_KW@[54; 56) "fn" + WHITESPACE@[56; 57) " " NAME@[57; 61) IDENT@[57; 61) "main" PARAM_LIST@[61; 63) - L_PAREN@[61; 62) - R_PAREN@[62; 63) - WHITESPACE@[63; 64) + L_PAREN@[61; 62) "(" + R_PAREN@[62; 63) ")" + WHITESPACE@[63; 64) " " BLOCK@[64; 94) - L_CURLY@[64; 65) - WHITESPACE@[65; 70) + L_CURLY@[64; 65) "{" + WHITESPACE@[65; 70) "\n " CALL_EXPR@[70; 92) PATH_EXPR@[70; 73) PATH@[70; 73) @@ -71,20 +71,20 @@ SOURCE_FILE@[0; 95) NAME_REF@[70; 73) IDENT@[70; 73) "foo" ARG_LIST@[73; 92) - L_PAREN@[73; 74) + L_PAREN@[73; 74) "(" BLOCK_EXPR@[74; 91) - ASYNC_KW@[74; 79) - WHITESPACE@[79; 80) - MOVE_KW@[80; 84) - WHITESPACE@[84; 85) + 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) + 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) - R_CURLY@[93; 94) - WHITESPACE@[94; 95) + WHITESPACE@[89; 90) " " + R_CURLY@[90; 91) "}" + R_PAREN@[91; 92) ")" + WHITESPACE@[92; 93) "\n" + R_CURLY@[93; 94) "}" + WHITESPACE@[94; 95) "\n" -- cgit v1.2.3