aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_syntax/test_data/parser/ok
diff options
context:
space:
mode:
Diffstat (limited to 'crates/ra_syntax/test_data/parser/ok')
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0005_fn_item.txt9
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0008_mod_item.txt9
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0011_outer_attribute.txt7
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0012_visibility.txt35
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0017_attr_trailing_comma.txt7
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0021_extern_fn.txt27
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0025_extern_fn_in_block.txt42
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0026_const_fn_in_block.txt40
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0027_unsafe_fn_in_block.txt62
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0028_operator_binding_power.txt349
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0029_range_forms.txt281
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0030_string_suffixes.txt105
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0032_where_for.txt7
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0033_label_break.txt409
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0034_crate_path_in_call.txt61
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0035_weird_exprs.txt3948
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0036_fully_qualified.txt29
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0038_where_pred_type.txt7
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0039_raw_fn_item.txt9
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0041_raw_keywords.txt79
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0042_ufcs_call_list.txt103
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0043_complex_assignment.txt135
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0044_let_attrs.txt121
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0045_block_inner_attrs.txt182
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0047_minus_in_inner_pattern.txt499
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0048_compound_assignment.txt375
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0049_async_block.txt49
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0050_async_block_as_argument.txt60
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0051_parameter_attrs.txt77
-rw-r--r--crates/ra_syntax/test_data/parser/ok/0052_for_range_block.txt138
30 files changed, 3676 insertions, 3585 deletions
diff --git a/crates/ra_syntax/test_data/parser/ok/0005_fn_item.txt b/crates/ra_syntax/test_data/parser/ok/0005_fn_item.txt
index 9b63a24e4..955b789b5 100644
--- a/crates/ra_syntax/test_data/parser/ok/0005_fn_item.txt
+++ b/crates/ra_syntax/test_data/parser/ok/0005_fn_item.txt
@@ -8,8 +8,9 @@ SOURCE_FILE@[0; 13)
8 L_PAREN@[6; 7) "(" 8 L_PAREN@[6; 7) "("
9 R_PAREN@[7; 8) ")" 9 R_PAREN@[7; 8) ")"
10 WHITESPACE@[8; 9) " " 10 WHITESPACE@[8; 9) " "
11 BLOCK@[9; 12) 11 BLOCK_EXPR@[9; 12)
12 L_CURLY@[9; 10) "{" 12 BLOCK@[9; 12)
13 WHITESPACE@[10; 11) "\n" 13 L_CURLY@[9; 10) "{"
14 R_CURLY@[11; 12) "}" 14 WHITESPACE@[10; 11) "\n"
15 R_CURLY@[11; 12) "}"
15 WHITESPACE@[12; 13) "\n" 16 WHITESPACE@[12; 13) "\n"
diff --git a/crates/ra_syntax/test_data/parser/ok/0008_mod_item.txt b/crates/ra_syntax/test_data/parser/ok/0008_mod_item.txt
index 5c16d0be6..35465632d 100644
--- a/crates/ra_syntax/test_data/parser/ok/0008_mod_item.txt
+++ b/crates/ra_syntax/test_data/parser/ok/0008_mod_item.txt
@@ -35,10 +35,11 @@ SOURCE_FILE@[0; 118)
35 L_PAREN@[37; 38) "(" 35 L_PAREN@[37; 38) "("
36 R_PAREN@[38; 39) ")" 36 R_PAREN@[38; 39) ")"
37 WHITESPACE@[39; 40) " " 37 WHITESPACE@[39; 40) " "
38 BLOCK@[40; 47) 38 BLOCK_EXPR@[40; 47)
39 L_CURLY@[40; 41) "{" 39 BLOCK@[40; 47)
40 WHITESPACE@[41; 46) "\n " 40 L_CURLY@[40; 41) "{"
41 R_CURLY@[46; 47) "}" 41 WHITESPACE@[41; 46) "\n "
42 R_CURLY@[46; 47) "}"
42 WHITESPACE@[47; 52) "\n " 43 WHITESPACE@[47; 52) "\n "
43 STRUCT_DEF@[52; 63) 44 STRUCT_DEF@[52; 63)
44 STRUCT_KW@[52; 58) "struct" 45 STRUCT_KW@[52; 58) "struct"
diff --git a/crates/ra_syntax/test_data/parser/ok/0011_outer_attribute.txt b/crates/ra_syntax/test_data/parser/ok/0011_outer_attribute.txt
index 2a0dc7bad..a845c5c24 100644
--- a/crates/ra_syntax/test_data/parser/ok/0011_outer_attribute.txt
+++ b/crates/ra_syntax/test_data/parser/ok/0011_outer_attribute.txt
@@ -26,7 +26,8 @@ SOURCE_FILE@[0; 35)
26 L_PAREN@[29; 30) "(" 26 L_PAREN@[29; 30) "("
27 R_PAREN@[30; 31) ")" 27 R_PAREN@[30; 31) ")"
28 WHITESPACE@[31; 32) " " 28 WHITESPACE@[31; 32) " "
29 BLOCK@[32; 34) 29 BLOCK_EXPR@[32; 34)
30 L_CURLY@[32; 33) "{" 30 BLOCK@[32; 34)
31 R_CURLY@[33; 34) "}" 31 L_CURLY@[32; 33) "{"
32 R_CURLY@[33; 34) "}"
32 WHITESPACE@[34; 35) "\n" 33 WHITESPACE@[34; 35) "\n"
diff --git a/crates/ra_syntax/test_data/parser/ok/0012_visibility.txt b/crates/ra_syntax/test_data/parser/ok/0012_visibility.txt
index c9d038c19..68e692fd0 100644
--- a/crates/ra_syntax/test_data/parser/ok/0012_visibility.txt
+++ b/crates/ra_syntax/test_data/parser/ok/0012_visibility.txt
@@ -8,9 +8,10 @@ SOURCE_FILE@[0; 98)
8 L_PAREN@[4; 5) "(" 8 L_PAREN@[4; 5) "("
9 R_PAREN@[5; 6) ")" 9 R_PAREN@[5; 6) ")"
10 WHITESPACE@[6; 7) " " 10 WHITESPACE@[6; 7) " "
11 BLOCK@[7; 9) 11 BLOCK_EXPR@[7; 9)
12 L_CURLY@[7; 8) "{" 12 BLOCK@[7; 9)
13 R_CURLY@[8; 9) "}" 13 L_CURLY@[7; 8) "{"
14 R_CURLY@[8; 9) "}"
14 WHITESPACE@[9; 10) "\n" 15 WHITESPACE@[9; 10) "\n"
15 FN_DEF@[10; 23) 16 FN_DEF@[10; 23)
16 VISIBILITY@[10; 13) 17 VISIBILITY@[10; 13)
@@ -24,9 +25,10 @@ SOURCE_FILE@[0; 98)
24 L_PAREN@[18; 19) "(" 25 L_PAREN@[18; 19) "("
25 R_PAREN@[19; 20) ")" 26 R_PAREN@[19; 20) ")"
26 WHITESPACE@[20; 21) " " 27 WHITESPACE@[20; 21) " "
27 BLOCK@[21; 23) 28 BLOCK_EXPR@[21; 23)
28 L_CURLY@[21; 22) "{" 29 BLOCK@[21; 23)
29 R_CURLY@[22; 23) "}" 30 L_CURLY@[21; 22) "{"
31 R_CURLY@[22; 23) "}"
30 WHITESPACE@[23; 24) "\n" 32 WHITESPACE@[23; 24) "\n"
31 FN_DEF@[24; 44) 33 FN_DEF@[24; 44)
32 VISIBILITY@[24; 34) 34 VISIBILITY@[24; 34)
@@ -43,9 +45,10 @@ SOURCE_FILE@[0; 98)
43 L_PAREN@[39; 40) "(" 45 L_PAREN@[39; 40) "("
44 R_PAREN@[40; 41) ")" 46 R_PAREN@[40; 41) ")"
45 WHITESPACE@[41; 42) " " 47 WHITESPACE@[41; 42) " "
46 BLOCK@[42; 44) 48 BLOCK_EXPR@[42; 44)
47 L_CURLY@[42; 43) "{" 49 BLOCK@[42; 44)
48 R_CURLY@[43; 44) "}" 50 L_CURLY@[42; 43) "{"
51 R_CURLY@[43; 44) "}"
49 WHITESPACE@[44; 45) "\n" 52 WHITESPACE@[44; 45) "\n"
50 FN_DEF@[45; 65) 53 FN_DEF@[45; 65)
51 VISIBILITY@[45; 55) 54 VISIBILITY@[45; 55)
@@ -62,9 +65,10 @@ SOURCE_FILE@[0; 98)
62 L_PAREN@[60; 61) "(" 65 L_PAREN@[60; 61) "("
63 R_PAREN@[61; 62) ")" 66 R_PAREN@[61; 62) ")"
64 WHITESPACE@[62; 63) " " 67 WHITESPACE@[62; 63) " "
65 BLOCK@[63; 65) 68 BLOCK_EXPR@[63; 65)
66 L_CURLY@[63; 64) "{" 69 BLOCK@[63; 65)
67 R_CURLY@[64; 65) "}" 70 L_CURLY@[63; 64) "{"
71 R_CURLY@[64; 65) "}"
68 WHITESPACE@[65; 66) "\n" 72 WHITESPACE@[65; 66) "\n"
69 FN_DEF@[66; 97) 73 FN_DEF@[66; 97)
70 VISIBILITY@[66; 87) 74 VISIBILITY@[66; 87)
@@ -96,7 +100,8 @@ SOURCE_FILE@[0; 98)
96 L_PAREN@[92; 93) "(" 100 L_PAREN@[92; 93) "("
97 R_PAREN@[93; 94) ")" 101 R_PAREN@[93; 94) ")"
98 WHITESPACE@[94; 95) " " 102 WHITESPACE@[94; 95) " "
99 BLOCK@[95; 97) 103 BLOCK_EXPR@[95; 97)
100 L_CURLY@[95; 96) "{" 104 BLOCK@[95; 97)
101 R_CURLY@[96; 97) "}" 105 L_CURLY@[95; 96) "{"
106 R_CURLY@[96; 97) "}"
102 WHITESPACE@[97; 98) "\n" 107 WHITESPACE@[97; 98) "\n"
diff --git a/crates/ra_syntax/test_data/parser/ok/0017_attr_trailing_comma.txt b/crates/ra_syntax/test_data/parser/ok/0017_attr_trailing_comma.txt
index cd8f038de..a1084b221 100644
--- a/crates/ra_syntax/test_data/parser/ok/0017_attr_trailing_comma.txt
+++ b/crates/ra_syntax/test_data/parser/ok/0017_attr_trailing_comma.txt
@@ -20,7 +20,8 @@ SOURCE_FILE@[0; 23)
20 L_PAREN@[17; 18) "(" 20 L_PAREN@[17; 18) "("
21 R_PAREN@[18; 19) ")" 21 R_PAREN@[18; 19) ")"
22 WHITESPACE@[19; 20) " " 22 WHITESPACE@[19; 20) " "
23 BLOCK@[20; 22) 23 BLOCK_EXPR@[20; 22)
24 L_CURLY@[20; 21) "{" 24 BLOCK@[20; 22)
25 R_CURLY@[21; 22) "}" 25 L_CURLY@[20; 21) "{"
26 R_CURLY@[21; 22) "}"
26 WHITESPACE@[22; 23) "\n" 27 WHITESPACE@[22; 23) "\n"
diff --git a/crates/ra_syntax/test_data/parser/ok/0021_extern_fn.txt b/crates/ra_syntax/test_data/parser/ok/0021_extern_fn.txt
index a4e75ec75..974fb9c44 100644
--- a/crates/ra_syntax/test_data/parser/ok/0021_extern_fn.txt
+++ b/crates/ra_syntax/test_data/parser/ok/0021_extern_fn.txt
@@ -11,10 +11,11 @@ SOURCE_FILE@[0; 71)
11 L_PAREN@[13; 14) "(" 11 L_PAREN@[13; 14) "("
12 R_PAREN@[14; 15) ")" 12 R_PAREN@[14; 15) ")"
13 WHITESPACE@[15; 16) " " 13 WHITESPACE@[15; 16) " "
14 BLOCK@[16; 19) 14 BLOCK_EXPR@[16; 19)
15 L_CURLY@[16; 17) "{" 15 BLOCK@[16; 19)
16 WHITESPACE@[17; 18) "\n" 16 L_CURLY@[16; 17) "{"
17 R_CURLY@[18; 19) "}" 17 WHITESPACE@[17; 18) "\n"
18 R_CURLY@[18; 19) "}"
18 WHITESPACE@[19; 21) "\n\n" 19 WHITESPACE@[19; 21) "\n\n"
19 FN_DEF@[21; 44) 20 FN_DEF@[21; 44)
20 ABI@[21; 31) 21 ABI@[21; 31)
@@ -30,10 +31,11 @@ SOURCE_FILE@[0; 71)
30 L_PAREN@[38; 39) "(" 31 L_PAREN@[38; 39) "("
31 R_PAREN@[39; 40) ")" 32 R_PAREN@[39; 40) ")"
32 WHITESPACE@[40; 41) " " 33 WHITESPACE@[40; 41) " "
33 BLOCK@[41; 44) 34 BLOCK_EXPR@[41; 44)
34 L_CURLY@[41; 42) "{" 35 BLOCK@[41; 44)
35 WHITESPACE@[42; 43) "\n" 36 L_CURLY@[41; 42) "{"
36 R_CURLY@[43; 44) "}" 37 WHITESPACE@[42; 43) "\n"
38 R_CURLY@[43; 44) "}"
37 WHITESPACE@[44; 46) "\n\n" 39 WHITESPACE@[44; 46) "\n\n"
38 FN_DEF@[46; 70) 40 FN_DEF@[46; 70)
39 ABI@[46; 57) 41 ABI@[46; 57)
@@ -49,8 +51,9 @@ SOURCE_FILE@[0; 71)
49 L_PAREN@[64; 65) "(" 51 L_PAREN@[64; 65) "("
50 R_PAREN@[65; 66) ")" 52 R_PAREN@[65; 66) ")"
51 WHITESPACE@[66; 67) " " 53 WHITESPACE@[66; 67) " "
52 BLOCK@[67; 70) 54 BLOCK_EXPR@[67; 70)
53 L_CURLY@[67; 68) "{" 55 BLOCK@[67; 70)
54 WHITESPACE@[68; 69) "\n" 56 L_CURLY@[67; 68) "{"
55 R_CURLY@[69; 70) "}" 57 WHITESPACE@[68; 69) "\n"
58 R_CURLY@[69; 70) "}"
56 WHITESPACE@[70; 71) "\n" 59 WHITESPACE@[70; 71) "\n"
diff --git a/crates/ra_syntax/test_data/parser/ok/0025_extern_fn_in_block.txt b/crates/ra_syntax/test_data/parser/ok/0025_extern_fn_in_block.txt
index a345f4bc2..f5a7a1a5a 100644
--- a/crates/ra_syntax/test_data/parser/ok/0025_extern_fn_in_block.txt
+++ b/crates/ra_syntax/test_data/parser/ok/0025_extern_fn_in_block.txt
@@ -8,24 +8,26 @@ SOURCE_FILE@[0; 35)
8 L_PAREN@[7; 8) "(" 8 L_PAREN@[7; 8) "("
9 R_PAREN@[8; 9) ")" 9 R_PAREN@[8; 9) ")"
10 WHITESPACE@[9; 10) " " 10 WHITESPACE@[9; 10) " "
11 BLOCK@[10; 34) 11 BLOCK_EXPR@[10; 34)
12 L_CURLY@[10; 11) "{" 12 BLOCK@[10; 34)
13 WHITESPACE@[11; 16) "\n " 13 L_CURLY@[10; 11) "{"
14 FN_DEF@[16; 32) 14 WHITESPACE@[11; 16) "\n "
15 ABI@[16; 22) 15 FN_DEF@[16; 32)
16 EXTERN_KW@[16; 22) "extern" 16 ABI@[16; 22)
17 WHITESPACE@[22; 23) " " 17 EXTERN_KW@[16; 22) "extern"
18 FN_KW@[23; 25) "fn" 18 WHITESPACE@[22; 23) " "
19 WHITESPACE@[25; 26) " " 19 FN_KW@[23; 25) "fn"
20 NAME@[26; 27) 20 WHITESPACE@[25; 26) " "
21 IDENT@[26; 27) "f" 21 NAME@[26; 27)
22 PARAM_LIST@[27; 29) 22 IDENT@[26; 27) "f"
23 L_PAREN@[27; 28) "(" 23 PARAM_LIST@[27; 29)
24 R_PAREN@[28; 29) ")" 24 L_PAREN@[27; 28) "("
25 WHITESPACE@[29; 30) " " 25 R_PAREN@[28; 29) ")"
26 BLOCK@[30; 32) 26 WHITESPACE@[29; 30) " "
27 L_CURLY@[30; 31) "{" 27 BLOCK_EXPR@[30; 32)
28 R_CURLY@[31; 32) "}" 28 BLOCK@[30; 32)
29 WHITESPACE@[32; 33) "\n" 29 L_CURLY@[30; 31) "{"
30 R_CURLY@[33; 34) "}" 30 R_CURLY@[31; 32) "}"
31 WHITESPACE@[32; 33) "\n"
32 R_CURLY@[33; 34) "}"
31 WHITESPACE@[34; 35) "\n" 33 WHITESPACE@[34; 35) "\n"
diff --git a/crates/ra_syntax/test_data/parser/ok/0026_const_fn_in_block.txt b/crates/ra_syntax/test_data/parser/ok/0026_const_fn_in_block.txt
index cbcd15a00..f9b1dcf1a 100644
--- a/crates/ra_syntax/test_data/parser/ok/0026_const_fn_in_block.txt
+++ b/crates/ra_syntax/test_data/parser/ok/0026_const_fn_in_block.txt
@@ -8,23 +8,25 @@ SOURCE_FILE@[0; 34)
8 L_PAREN@[7; 8) "(" 8 L_PAREN@[7; 8) "("
9 R_PAREN@[8; 9) ")" 9 R_PAREN@[8; 9) ")"
10 WHITESPACE@[9; 10) " " 10 WHITESPACE@[9; 10) " "
11 BLOCK@[10; 33) 11 BLOCK_EXPR@[10; 33)
12 L_CURLY@[10; 11) "{" 12 BLOCK@[10; 33)
13 WHITESPACE@[11; 16) "\n " 13 L_CURLY@[10; 11) "{"
14 FN_DEF@[16; 31) 14 WHITESPACE@[11; 16) "\n "
15 CONST_KW@[16; 21) "const" 15 FN_DEF@[16; 31)
16 WHITESPACE@[21; 22) " " 16 CONST_KW@[16; 21) "const"
17 FN_KW@[22; 24) "fn" 17 WHITESPACE@[21; 22) " "
18 WHITESPACE@[24; 25) " " 18 FN_KW@[22; 24) "fn"
19 NAME@[25; 26) 19 WHITESPACE@[24; 25) " "
20 IDENT@[25; 26) "f" 20 NAME@[25; 26)
21 PARAM_LIST@[26; 28) 21 IDENT@[25; 26) "f"
22 L_PAREN@[26; 27) "(" 22 PARAM_LIST@[26; 28)
23 R_PAREN@[27; 28) ")" 23 L_PAREN@[26; 27) "("
24 WHITESPACE@[28; 29) " " 24 R_PAREN@[27; 28) ")"
25 BLOCK@[29; 31) 25 WHITESPACE@[28; 29) " "
26 L_CURLY@[29; 30) "{" 26 BLOCK_EXPR@[29; 31)
27 R_CURLY@[30; 31) "}" 27 BLOCK@[29; 31)
28 WHITESPACE@[31; 32) "\n" 28 L_CURLY@[29; 30) "{"
29 R_CURLY@[32; 33) "}" 29 R_CURLY@[30; 31) "}"
30 WHITESPACE@[31; 32) "\n"
31 R_CURLY@[32; 33) "}"
30 WHITESPACE@[33; 34) "\n" 32 WHITESPACE@[33; 34) "\n"
diff --git a/crates/ra_syntax/test_data/parser/ok/0027_unsafe_fn_in_block.txt b/crates/ra_syntax/test_data/parser/ok/0027_unsafe_fn_in_block.txt
index f86375983..9fb7b70a0 100644
--- a/crates/ra_syntax/test_data/parser/ok/0027_unsafe_fn_in_block.txt
+++ b/crates/ra_syntax/test_data/parser/ok/0027_unsafe_fn_in_block.txt
@@ -8,34 +8,36 @@ SOURCE_FILE@[0; 53)
8 L_PAREN@[7; 8) "(" 8 L_PAREN@[7; 8) "("
9 R_PAREN@[8; 9) ")" 9 R_PAREN@[8; 9) ")"
10 WHITESPACE@[9; 10) " " 10 WHITESPACE@[9; 10) " "
11 BLOCK@[10; 52) 11 BLOCK_EXPR@[10; 52)
12 L_CURLY@[10; 11) "{" 12 BLOCK@[10; 52)
13 WHITESPACE@[11; 16) "\n " 13 L_CURLY@[10; 11) "{"
14 FN_DEF@[16; 32) 14 WHITESPACE@[11; 16) "\n "
15 UNSAFE_KW@[16; 22) "unsafe" 15 FN_DEF@[16; 32)
16 WHITESPACE@[22; 23) " " 16 UNSAFE_KW@[16; 22) "unsafe"
17 FN_KW@[23; 25) "fn" 17 WHITESPACE@[22; 23) " "
18 WHITESPACE@[25; 26) " " 18 FN_KW@[23; 25) "fn"
19 NAME@[26; 27) 19 WHITESPACE@[25; 26) " "
20 IDENT@[26; 27) "f" 20 NAME@[26; 27)
21 PARAM_LIST@[27; 29) 21 IDENT@[26; 27) "f"
22 L_PAREN@[27; 28) "(" 22 PARAM_LIST@[27; 29)
23 R_PAREN@[28; 29) ")" 23 L_PAREN@[27; 28) "("
24 WHITESPACE@[29; 30) " " 24 R_PAREN@[28; 29) ")"
25 BLOCK@[30; 32) 25 WHITESPACE@[29; 30) " "
26 L_CURLY@[30; 31) "{" 26 BLOCK_EXPR@[30; 32)
27 R_CURLY@[31; 32) "}" 27 BLOCK@[30; 32)
28 WHITESPACE@[32; 37) "\n " 28 L_CURLY@[30; 31) "{"
29 BLOCK_EXPR@[37; 50) 29 R_CURLY@[31; 32) "}"
30 UNSAFE_KW@[37; 43) "unsafe" 30 WHITESPACE@[32; 37) "\n "
31 WHITESPACE@[43; 44) " " 31 BLOCK_EXPR@[37; 50)
32 BLOCK@[44; 50) 32 UNSAFE_KW@[37; 43) "unsafe"
33 L_CURLY@[44; 45) "{" 33 WHITESPACE@[43; 44) " "
34 WHITESPACE@[45; 46) " " 34 BLOCK@[44; 50)
35 LITERAL@[46; 48) 35 L_CURLY@[44; 45) "{"
36 INT_NUMBER@[46; 48) "92" 36 WHITESPACE@[45; 46) " "
37 WHITESPACE@[48; 49) " " 37 LITERAL@[46; 48)
38 R_CURLY@[49; 50) "}" 38 INT_NUMBER@[46; 48) "92"
39 WHITESPACE@[50; 51) "\n" 39 WHITESPACE@[48; 49) " "
40 R_CURLY@[51; 52) "}" 40 R_CURLY@[49; 50) "}"
41 WHITESPACE@[50; 51) "\n"
42 R_CURLY@[51; 52) "}"
41 WHITESPACE@[52; 53) "\n" 43 WHITESPACE@[52; 53) "\n"
diff --git a/crates/ra_syntax/test_data/parser/ok/0028_operator_binding_power.txt b/crates/ra_syntax/test_data/parser/ok/0028_operator_binding_power.txt
index b0667643b..afca1fba2 100644
--- a/crates/ra_syntax/test_data/parser/ok/0028_operator_binding_power.txt
+++ b/crates/ra_syntax/test_data/parser/ok/0028_operator_binding_power.txt
@@ -8,178 +8,179 @@ SOURCE_FILE@[0; 248)
8 L_PAREN@[16; 17) "(" 8 L_PAREN@[16; 17) "("
9 R_PAREN@[17; 18) ")" 9 R_PAREN@[17; 18) ")"
10 WHITESPACE@[18; 19) " " 10 WHITESPACE@[18; 19) " "
11 BLOCK@[19; 247) 11 BLOCK_EXPR@[19; 247)
12 L_CURLY@[19; 20) "{" 12 BLOCK@[19; 247)
13 WHITESPACE@[20; 25) "\n " 13 L_CURLY@[19; 20) "{"
14 LET_STMT@[25; 55) 14 WHITESPACE@[20; 25) "\n "
15 LET_KW@[25; 28) "let" 15 LET_STMT@[25; 55)
16 WHITESPACE@[28; 29) " " 16 LET_KW@[25; 28) "let"
17 BIND_PAT@[29; 30) 17 WHITESPACE@[28; 29) " "
18 NAME@[29; 30) 18 BIND_PAT@[29; 30)
19 IDENT@[29; 30) "x" 19 NAME@[29; 30)
20 WHITESPACE@[30; 31) " " 20 IDENT@[29; 30) "x"
21 EQ@[31; 32) "=" 21 WHITESPACE@[30; 31) " "
22 WHITESPACE@[32; 33) " " 22 EQ@[31; 32) "="
23 BIN_EXPR@[33; 54) 23 WHITESPACE@[32; 33) " "
24 BIN_EXPR@[33; 46) 24 BIN_EXPR@[33; 54)
25 LITERAL@[33; 34) 25 BIN_EXPR@[33; 46)
26 INT_NUMBER@[33; 34) "1" 26 LITERAL@[33; 34)
27 WHITESPACE@[34; 35) " " 27 INT_NUMBER@[33; 34) "1"
28 PLUS@[35; 36) "+" 28 WHITESPACE@[34; 35) " "
29 WHITESPACE@[36; 37) " " 29 PLUS@[35; 36) "+"
30 BIN_EXPR@[37; 46) 30 WHITESPACE@[36; 37) " "
31 BIN_EXPR@[37; 42) 31 BIN_EXPR@[37; 46)
32 LITERAL@[37; 38) 32 BIN_EXPR@[37; 42)
33 INT_NUMBER@[37; 38) "2" 33 LITERAL@[37; 38)
34 WHITESPACE@[38; 39) " " 34 INT_NUMBER@[37; 38) "2"
35 STAR@[39; 40) "*" 35 WHITESPACE@[38; 39) " "
36 WHITESPACE@[40; 41) " " 36 STAR@[39; 40) "*"
37 LITERAL@[41; 42) 37 WHITESPACE@[40; 41) " "
38 INT_NUMBER@[41; 42) "3" 38 LITERAL@[41; 42)
39 WHITESPACE@[42; 43) " " 39 INT_NUMBER@[41; 42) "3"
40 PERCENT@[43; 44) "%" 40 WHITESPACE@[42; 43) " "
41 WHITESPACE@[44; 45) " " 41 PERCENT@[43; 44) "%"
42 LITERAL@[45; 46) 42 WHITESPACE@[44; 45) " "
43 INT_NUMBER@[45; 46) "4" 43 LITERAL@[45; 46)
44 WHITESPACE@[46; 47) " " 44 INT_NUMBER@[45; 46) "4"
45 MINUS@[47; 48) "-" 45 WHITESPACE@[46; 47) " "
46 WHITESPACE@[48; 49) " " 46 MINUS@[47; 48) "-"
47 BIN_EXPR@[49; 54) 47 WHITESPACE@[48; 49) " "
48 LITERAL@[49; 50) 48 BIN_EXPR@[49; 54)
49 INT_NUMBER@[49; 50) "5" 49 LITERAL@[49; 50)
50 WHITESPACE@[50; 51) " " 50 INT_NUMBER@[49; 50) "5"
51 SLASH@[51; 52) "/" 51 WHITESPACE@[50; 51) " "
52 WHITESPACE@[52; 53) " " 52 SLASH@[51; 52) "/"
53 LITERAL@[53; 54) 53 WHITESPACE@[52; 53) " "
54 INT_NUMBER@[53; 54) "6" 54 LITERAL@[53; 54)
55 SEMI@[54; 55) ";" 55 INT_NUMBER@[53; 54) "6"
56 WHITESPACE@[55; 60) "\n " 56 SEMI@[54; 55) ";"
57 EXPR_STMT@[60; 70) 57 WHITESPACE@[55; 60) "\n "
58 BIN_EXPR@[60; 69) 58 EXPR_STMT@[60; 70)
59 LITERAL@[60; 61) 59 BIN_EXPR@[60; 69)
60 INT_NUMBER@[60; 61) "1" 60 LITERAL@[60; 61)
61 WHITESPACE@[61; 62) " " 61 INT_NUMBER@[60; 61) "1"
62 PLUS@[62; 63) "+" 62 WHITESPACE@[61; 62) " "
63 WHITESPACE@[63; 64) " " 63 PLUS@[62; 63) "+"
64 BIN_EXPR@[64; 69) 64 WHITESPACE@[63; 64) " "
65 LITERAL@[64; 65) 65 BIN_EXPR@[64; 69)
66 INT_NUMBER@[64; 65) "2" 66 LITERAL@[64; 65)
67 WHITESPACE@[65; 66) " " 67 INT_NUMBER@[64; 65) "2"
68 STAR@[66; 67) "*" 68 WHITESPACE@[65; 66) " "
69 WHITESPACE@[67; 68) " " 69 STAR@[66; 67) "*"
70 LITERAL@[68; 69) 70 WHITESPACE@[67; 68) " "
71 INT_NUMBER@[68; 69) "3" 71 LITERAL@[68; 69)
72 SEMI@[69; 70) ";" 72 INT_NUMBER@[68; 69) "3"
73 WHITESPACE@[70; 75) "\n " 73 SEMI@[69; 70) ";"
74 EXPR_STMT@[75; 86) 74 WHITESPACE@[70; 75) "\n "
75 BIN_EXPR@[75; 85) 75 EXPR_STMT@[75; 86)
76 LITERAL@[75; 76) 76 BIN_EXPR@[75; 85)
77 INT_NUMBER@[75; 76) "1" 77 LITERAL@[75; 76)
78 WHITESPACE@[76; 77) " " 78 INT_NUMBER@[75; 76) "1"
79 SHL@[77; 79) "<<" 79 WHITESPACE@[76; 77) " "
80 WHITESPACE@[79; 80) " " 80 SHL@[77; 79) "<<"
81 BIN_EXPR@[80; 85) 81 WHITESPACE@[79; 80) " "
82 LITERAL@[80; 81) 82 BIN_EXPR@[80; 85)
83 INT_NUMBER@[80; 81) "2" 83 LITERAL@[80; 81)
84 WHITESPACE@[81; 82) " " 84 INT_NUMBER@[80; 81) "2"
85 PLUS@[82; 83) "+" 85 WHITESPACE@[81; 82) " "
86 WHITESPACE@[83; 84) " " 86 PLUS@[82; 83) "+"
87 LITERAL@[84; 85) 87 WHITESPACE@[83; 84) " "
88 INT_NUMBER@[84; 85) "3" 88 LITERAL@[84; 85)
89 SEMI@[85; 86) ";" 89 INT_NUMBER@[84; 85) "3"
90 WHITESPACE@[86; 91) "\n " 90 SEMI@[85; 86) ";"
91 EXPR_STMT@[91; 102) 91 WHITESPACE@[86; 91) "\n "
92 BIN_EXPR@[91; 101) 92 EXPR_STMT@[91; 102)
93 LITERAL@[91; 92) 93 BIN_EXPR@[91; 101)
94 INT_NUMBER@[91; 92) "1" 94 LITERAL@[91; 92)
95 WHITESPACE@[92; 93) " " 95 INT_NUMBER@[91; 92) "1"
96 AMP@[93; 94) "&" 96 WHITESPACE@[92; 93) " "
97 WHITESPACE@[94; 95) " " 97 AMP@[93; 94) "&"
98 BIN_EXPR@[95; 101) 98 WHITESPACE@[94; 95) " "
99 LITERAL@[95; 96) 99 BIN_EXPR@[95; 101)
100 INT_NUMBER@[95; 96) "2" 100 LITERAL@[95; 96)
101 WHITESPACE@[96; 97) " " 101 INT_NUMBER@[95; 96) "2"
102 SHR@[97; 99) ">>" 102 WHITESPACE@[96; 97) " "
103 WHITESPACE@[99; 100) " " 103 SHR@[97; 99) ">>"
104 LITERAL@[100; 101) 104 WHITESPACE@[99; 100) " "
105 INT_NUMBER@[100; 101) "3" 105 LITERAL@[100; 101)
106 SEMI@[101; 102) ";" 106 INT_NUMBER@[100; 101) "3"
107 WHITESPACE@[102; 107) "\n " 107 SEMI@[101; 102) ";"
108 EXPR_STMT@[107; 117) 108 WHITESPACE@[102; 107) "\n "
109 BIN_EXPR@[107; 116) 109 EXPR_STMT@[107; 117)
110 LITERAL@[107; 108) 110 BIN_EXPR@[107; 116)
111 INT_NUMBER@[107; 108) "1" 111 LITERAL@[107; 108)
112 WHITESPACE@[108; 109) " " 112 INT_NUMBER@[107; 108) "1"
113 CARET@[109; 110) "^" 113 WHITESPACE@[108; 109) " "
114 WHITESPACE@[110; 111) " " 114 CARET@[109; 110) "^"
115 BIN_EXPR@[111; 116) 115 WHITESPACE@[110; 111) " "
116 LITERAL@[111; 112) 116 BIN_EXPR@[111; 116)
117 INT_NUMBER@[111; 112) "2" 117 LITERAL@[111; 112)
118 WHITESPACE@[112; 113) " " 118 INT_NUMBER@[111; 112) "2"
119 AMP@[113; 114) "&" 119 WHITESPACE@[112; 113) " "
120 WHITESPACE@[114; 115) " " 120 AMP@[113; 114) "&"
121 LITERAL@[115; 116) 121 WHITESPACE@[114; 115) " "
122 INT_NUMBER@[115; 116) "3" 122 LITERAL@[115; 116)
123 SEMI@[116; 117) ";" 123 INT_NUMBER@[115; 116) "3"
124 WHITESPACE@[117; 122) "\n " 124 SEMI@[116; 117) ";"
125 EXPR_STMT@[122; 132) 125 WHITESPACE@[117; 122) "\n "
126 BIN_EXPR@[122; 131) 126 EXPR_STMT@[122; 132)
127 LITERAL@[122; 123) 127 BIN_EXPR@[122; 131)
128 INT_NUMBER@[122; 123) "1" 128 LITERAL@[122; 123)
129 WHITESPACE@[123; 124) " " 129 INT_NUMBER@[122; 123) "1"
130 PIPE@[124; 125) "|" 130 WHITESPACE@[123; 124) " "
131 WHITESPACE@[125; 126) " " 131 PIPE@[124; 125) "|"
132 BIN_EXPR@[126; 131) 132 WHITESPACE@[125; 126) " "
133 LITERAL@[126; 127) 133 BIN_EXPR@[126; 131)
134 INT_NUMBER@[126; 127) "2" 134 LITERAL@[126; 127)
135 WHITESPACE@[127; 128) " " 135 INT_NUMBER@[126; 127) "2"
136 CARET@[128; 129) "^" 136 WHITESPACE@[127; 128) " "
137 WHITESPACE@[129; 130) " " 137 CARET@[128; 129) "^"
138 LITERAL@[130; 131) 138 WHITESPACE@[129; 130) " "
139 INT_NUMBER@[130; 131) "3" 139 LITERAL@[130; 131)
140 SEMI@[131; 132) ";" 140 INT_NUMBER@[130; 131) "3"
141 WHITESPACE@[132; 137) "\n " 141 SEMI@[131; 132) ";"
142 EXPR_STMT@[137; 148) 142 WHITESPACE@[132; 137) "\n "
143 BIN_EXPR@[137; 147) 143 EXPR_STMT@[137; 148)
144 LITERAL@[137; 138) 144 BIN_EXPR@[137; 147)
145 INT_NUMBER@[137; 138) "1" 145 LITERAL@[137; 138)
146 WHITESPACE@[138; 139) " " 146 INT_NUMBER@[137; 138) "1"
147 EQEQ@[139; 141) "==" 147 WHITESPACE@[138; 139) " "
148 WHITESPACE@[141; 142) " " 148 EQEQ@[139; 141) "=="
149 BIN_EXPR@[142; 147) 149 WHITESPACE@[141; 142) " "
150 LITERAL@[142; 143) 150 BIN_EXPR@[142; 147)
151 INT_NUMBER@[142; 143) "2" 151 LITERAL@[142; 143)
152 WHITESPACE@[143; 144) " " 152 INT_NUMBER@[142; 143) "2"
153 PIPE@[144; 145) "|" 153 WHITESPACE@[143; 144) " "
154 WHITESPACE@[145; 146) " " 154 PIPE@[144; 145) "|"
155 LITERAL@[146; 147) 155 WHITESPACE@[145; 146) " "
156 INT_NUMBER@[146; 147) "3" 156 LITERAL@[146; 147)
157 SEMI@[147; 148) ";" 157 INT_NUMBER@[146; 147) "3"
158 WHITESPACE@[148; 153) "\n " 158 SEMI@[147; 148) ";"
159 EXPR_STMT@[153; 165) 159 WHITESPACE@[148; 153) "\n "
160 BIN_EXPR@[153; 164) 160 EXPR_STMT@[153; 165)
161 LITERAL@[153; 154) 161 BIN_EXPR@[153; 164)
162 INT_NUMBER@[153; 154) "1" 162 LITERAL@[153; 154)
163 WHITESPACE@[154; 155) " " 163 INT_NUMBER@[153; 154) "1"
164 AMPAMP@[155; 157) "&&" 164 WHITESPACE@[154; 155) " "
165 WHITESPACE@[157; 158) " " 165 AMPAMP@[155; 157) "&&"
166 BIN_EXPR@[158; 164) 166 WHITESPACE@[157; 158) " "
167 LITERAL@[158; 159) 167 BIN_EXPR@[158; 164)
168 INT_NUMBER@[158; 159) "2" 168 LITERAL@[158; 159)
169 WHITESPACE@[159; 160) " " 169 INT_NUMBER@[158; 159) "2"
170 EQEQ@[160; 162) "==" 170 WHITESPACE@[159; 160) " "
171 WHITESPACE@[162; 163) " " 171 EQEQ@[160; 162) "=="
172 LITERAL@[163; 164) 172 WHITESPACE@[162; 163) " "
173 INT_NUMBER@[163; 164) "3" 173 LITERAL@[163; 164)
174 SEMI@[164; 165) ";" 174 INT_NUMBER@[163; 164) "3"
175 WHITESPACE@[165; 170) "\n " 175 SEMI@[164; 165) ";"
176 COMMENT@[170; 184) "//1 || 2 && 2;" 176 WHITESPACE@[165; 170) "\n "
177 WHITESPACE@[184; 189) "\n " 177 COMMENT@[170; 184) "//1 || 2 && 2;"
178 COMMENT@[189; 203) "//1 .. 2 || 3;" 178 WHITESPACE@[184; 189) "\n "
179 WHITESPACE@[203; 208) "\n " 179 COMMENT@[189; 203) "//1 .. 2 || 3;"
180 COMMENT@[208; 221) "//1 = 2 .. 3;" 180 WHITESPACE@[203; 208) "\n "
181 WHITESPACE@[221; 226) "\n " 181 COMMENT@[208; 221) "//1 = 2 .. 3;"
182 COMMENT@[226; 245) "//---&*1 - --2 * 9;" 182 WHITESPACE@[221; 226) "\n "
183 WHITESPACE@[245; 246) "\n" 183 COMMENT@[226; 245) "//---&*1 - --2 * 9;"
184 R_CURLY@[246; 247) "}" 184 WHITESPACE@[245; 246) "\n"
185 R_CURLY@[246; 247) "}"
185 WHITESPACE@[247; 248) "\n" 186 WHITESPACE@[247; 248) "\n"
diff --git a/crates/ra_syntax/test_data/parser/ok/0029_range_forms.txt b/crates/ra_syntax/test_data/parser/ok/0029_range_forms.txt
index e4db98c88..95dae4870 100644
--- a/crates/ra_syntax/test_data/parser/ok/0029_range_forms.txt
+++ b/crates/ra_syntax/test_data/parser/ok/0029_range_forms.txt
@@ -8,144 +8,145 @@ SOURCE_FILE@[0; 153)
8 L_PAREN@[6; 7) "(" 8 L_PAREN@[6; 7) "("
9 R_PAREN@[7; 8) ")" 9 R_PAREN@[7; 8) ")"
10 WHITESPACE@[8; 9) " " 10 WHITESPACE@[8; 9) " "
11 BLOCK@[9; 152) 11 BLOCK_EXPR@[9; 152)
12 L_CURLY@[9; 10) "{" 12 BLOCK@[9; 152)
13 WHITESPACE@[10; 15) "\n " 13 L_CURLY@[9; 10) "{"
14 EXPR_STMT@[15; 23) 14 WHITESPACE@[10; 15) "\n "
15 RANGE_EXPR@[15; 22) 15 EXPR_STMT@[15; 23)
16 DOTDOT@[15; 17) ".." 16 RANGE_EXPR@[15; 22)
17 BIN_EXPR@[17; 22) 17 DOTDOT@[15; 17) ".."
18 LITERAL@[17; 18) 18 BIN_EXPR@[17; 22)
19 INT_NUMBER@[17; 18) "1" 19 LITERAL@[17; 18)
20 WHITESPACE@[18; 19) " " 20 INT_NUMBER@[17; 18) "1"
21 PLUS@[19; 20) "+" 21 WHITESPACE@[18; 19) " "
22 WHITESPACE@[20; 21) " " 22 PLUS@[19; 20) "+"
23 LITERAL@[21; 22) 23 WHITESPACE@[20; 21) " "
24 INT_NUMBER@[21; 22) "1" 24 LITERAL@[21; 22)
25 SEMI@[22; 23) ";" 25 INT_NUMBER@[21; 22) "1"
26 WHITESPACE@[23; 28) "\n " 26 SEMI@[22; 23) ";"
27 EXPR_STMT@[28; 36) 27 WHITESPACE@[23; 28) "\n "
28 BIN_EXPR@[28; 35) 28 EXPR_STMT@[28; 36)
29 RANGE_EXPR@[28; 31) 29 BIN_EXPR@[28; 35)
30 DOTDOT@[28; 30) ".." 30 RANGE_EXPR@[28; 31)
31 PATH_EXPR@[30; 31) 31 DOTDOT@[28; 30) ".."
32 PATH@[30; 31) 32 PATH_EXPR@[30; 31)
33 PATH_SEGMENT@[30; 31) 33 PATH@[30; 31)
34 NAME_REF@[30; 31) 34 PATH_SEGMENT@[30; 31)
35 IDENT@[30; 31) "z" 35 NAME_REF@[30; 31)
36 WHITESPACE@[31; 32) " " 36 IDENT@[30; 31) "z"
37 EQ@[32; 33) "=" 37 WHITESPACE@[31; 32) " "
38 WHITESPACE@[33; 34) " " 38 EQ@[32; 33) "="
39 LITERAL@[34; 35) 39 WHITESPACE@[33; 34) " "
40 INT_NUMBER@[34; 35) "2" 40 LITERAL@[34; 35)
41 SEMI@[35; 36) ";" 41 INT_NUMBER@[34; 35) "2"
42 WHITESPACE@[36; 41) "\n " 42 SEMI@[35; 36) ";"
43 EXPR_STMT@[41; 59) 43 WHITESPACE@[36; 41) "\n "
44 BIN_EXPR@[41; 58) 44 EXPR_STMT@[41; 59)
45 PATH_EXPR@[41; 42) 45 BIN_EXPR@[41; 58)
46 PATH@[41; 42) 46 PATH_EXPR@[41; 42)
47 PATH_SEGMENT@[41; 42) 47 PATH@[41; 42)
48 NAME_REF@[41; 42) 48 PATH_SEGMENT@[41; 42)
49 IDENT@[41; 42) "x" 49 NAME_REF@[41; 42)
50 WHITESPACE@[42; 43) " " 50 IDENT@[41; 42) "x"
51 EQ@[43; 44) "=" 51 WHITESPACE@[42; 43) " "
52 WHITESPACE@[44; 45) " " 52 EQ@[43; 44) "="
53 RANGE_EXPR@[45; 58) 53 WHITESPACE@[44; 45) " "
54 LITERAL@[45; 50) 54 RANGE_EXPR@[45; 58)
55 FALSE_KW@[45; 50) "false" 55 LITERAL@[45; 50)
56 DOTDOT@[50; 52) ".." 56 FALSE_KW@[45; 50) "false"
57 BIN_EXPR@[52; 58) 57 DOTDOT@[50; 52) ".."
58 LITERAL@[52; 53) 58 BIN_EXPR@[52; 58)
59 INT_NUMBER@[52; 53) "1" 59 LITERAL@[52; 53)
60 WHITESPACE@[53; 54) " " 60 INT_NUMBER@[52; 53) "1"
61 EQEQ@[54; 56) "==" 61 WHITESPACE@[53; 54) " "
62 WHITESPACE@[56; 57) " " 62 EQEQ@[54; 56) "=="
63 LITERAL@[57; 58) 63 WHITESPACE@[56; 57) " "
64 INT_NUMBER@[57; 58) "1" 64 LITERAL@[57; 58)
65 SEMI@[58; 59) ";" 65 INT_NUMBER@[57; 58) "1"
66 WHITESPACE@[59; 64) "\n " 66 SEMI@[58; 59) ";"
67 LET_STMT@[64; 76) 67 WHITESPACE@[59; 64) "\n "
68 LET_KW@[64; 67) "let" 68 LET_STMT@[64; 76)
69 WHITESPACE@[67; 68) " " 69 LET_KW@[64; 67) "let"
70 BIND_PAT@[68; 69) 70 WHITESPACE@[67; 68) " "
71 NAME@[68; 69) 71 BIND_PAT@[68; 69)
72 IDENT@[68; 69) "x" 72 NAME@[68; 69)
73 WHITESPACE@[69; 70) " " 73 IDENT@[68; 69) "x"
74 EQ@[70; 71) "=" 74 WHITESPACE@[69; 70) " "
75 WHITESPACE@[71; 72) " " 75 EQ@[70; 71) "="
76 RANGE_EXPR@[72; 75) 76 WHITESPACE@[71; 72) " "
77 LITERAL@[72; 73) 77 RANGE_EXPR@[72; 75)
78 INT_NUMBER@[72; 73) "1" 78 LITERAL@[72; 73)
79 DOTDOT@[73; 75) ".." 79 INT_NUMBER@[72; 73) "1"
80 SEMI@[75; 76) ";" 80 DOTDOT@[73; 75) ".."
81 WHITESPACE@[76; 86) "\n \n " 81 SEMI@[75; 76) ";"
82 EXPR_STMT@[86; 95) 82 WHITESPACE@[76; 86) "\n \n "
83 RANGE_EXPR@[86; 94) 83 EXPR_STMT@[86; 95)
84 DOTDOTEQ@[86; 89) "..=" 84 RANGE_EXPR@[86; 94)
85 BIN_EXPR@[89; 94) 85 DOTDOTEQ@[86; 89) "..="
86 LITERAL@[89; 90) 86 BIN_EXPR@[89; 94)
87 INT_NUMBER@[89; 90) "1" 87 LITERAL@[89; 90)
88 WHITESPACE@[90; 91) " " 88 INT_NUMBER@[89; 90) "1"
89 PLUS@[91; 92) "+" 89 WHITESPACE@[90; 91) " "
90 WHITESPACE@[92; 93) " " 90 PLUS@[91; 92) "+"
91 LITERAL@[93; 94) 91 WHITESPACE@[92; 93) " "
92 INT_NUMBER@[93; 94) "1" 92 LITERAL@[93; 94)
93 SEMI@[94; 95) ";" 93 INT_NUMBER@[93; 94) "1"
94 WHITESPACE@[95; 100) "\n " 94 SEMI@[94; 95) ";"
95 EXPR_STMT@[100; 109) 95 WHITESPACE@[95; 100) "\n "
96 BIN_EXPR@[100; 108) 96 EXPR_STMT@[100; 109)
97 RANGE_EXPR@[100; 104) 97 BIN_EXPR@[100; 108)
98 DOTDOTEQ@[100; 103) "..=" 98 RANGE_EXPR@[100; 104)
99 PATH_EXPR@[103; 104) 99 DOTDOTEQ@[100; 103) "..="
100 PATH@[103; 104) 100 PATH_EXPR@[103; 104)
101 PATH_SEGMENT@[103; 104) 101 PATH@[103; 104)
102 NAME_REF@[103; 104) 102 PATH_SEGMENT@[103; 104)
103 IDENT@[103; 104) "z" 103 NAME_REF@[103; 104)
104 WHITESPACE@[104; 105) " " 104 IDENT@[103; 104) "z"
105 EQ@[105; 106) "=" 105 WHITESPACE@[104; 105) " "
106 WHITESPACE@[106; 107) " " 106 EQ@[105; 106) "="
107 LITERAL@[107; 108) 107 WHITESPACE@[106; 107) " "
108 INT_NUMBER@[107; 108) "2" 108 LITERAL@[107; 108)
109 SEMI@[108; 109) ";" 109 INT_NUMBER@[107; 108) "2"
110 WHITESPACE@[109; 114) "\n " 110 SEMI@[108; 109) ";"
111 EXPR_STMT@[114; 133) 111 WHITESPACE@[109; 114) "\n "
112 BIN_EXPR@[114; 132) 112 EXPR_STMT@[114; 133)
113 PATH_EXPR@[114; 115) 113 BIN_EXPR@[114; 132)
114 PATH@[114; 115) 114 PATH_EXPR@[114; 115)
115 PATH_SEGMENT@[114; 115) 115 PATH@[114; 115)
116 NAME_REF@[114; 115) 116 PATH_SEGMENT@[114; 115)
117 IDENT@[114; 115) "x" 117 NAME_REF@[114; 115)
118 WHITESPACE@[115; 116) " " 118 IDENT@[114; 115) "x"
119 EQ@[116; 117) "=" 119 WHITESPACE@[115; 116) " "
120 WHITESPACE@[117; 118) " " 120 EQ@[116; 117) "="
121 RANGE_EXPR@[118; 132) 121 WHITESPACE@[117; 118) " "
122 LITERAL@[118; 123) 122 RANGE_EXPR@[118; 132)
123 FALSE_KW@[118; 123) "false" 123 LITERAL@[118; 123)
124 DOTDOTEQ@[123; 126) "..=" 124 FALSE_KW@[118; 123) "false"
125 BIN_EXPR@[126; 132) 125 DOTDOTEQ@[123; 126) "..="
126 LITERAL@[126; 127) 126 BIN_EXPR@[126; 132)
127 INT_NUMBER@[126; 127) "1" 127 LITERAL@[126; 127)
128 WHITESPACE@[127; 128) " " 128 INT_NUMBER@[126; 127) "1"
129 EQEQ@[128; 130) "==" 129 WHITESPACE@[127; 128) " "
130 WHITESPACE@[130; 131) " " 130 EQEQ@[128; 130) "=="
131 LITERAL@[131; 132) 131 WHITESPACE@[130; 131) " "
132 INT_NUMBER@[131; 132) "1" 132 LITERAL@[131; 132)
133 SEMI@[132; 133) ";" 133 INT_NUMBER@[131; 132) "1"
134 WHITESPACE@[133; 138) "\n " 134 SEMI@[132; 133) ";"
135 LET_STMT@[138; 150) 135 WHITESPACE@[133; 138) "\n "
136 LET_KW@[138; 141) "let" 136 LET_STMT@[138; 150)
137 WHITESPACE@[141; 142) " " 137 LET_KW@[138; 141) "let"
138 BIND_PAT@[142; 143) 138 WHITESPACE@[141; 142) " "
139 NAME@[142; 143) 139 BIND_PAT@[142; 143)
140 IDENT@[142; 143) "x" 140 NAME@[142; 143)
141 WHITESPACE@[143; 144) " " 141 IDENT@[142; 143) "x"
142 EQ@[144; 145) "=" 142 WHITESPACE@[143; 144) " "
143 WHITESPACE@[145; 146) " " 143 EQ@[144; 145) "="
144 RANGE_EXPR@[146; 149) 144 WHITESPACE@[145; 146) " "
145 LITERAL@[146; 147) 145 RANGE_EXPR@[146; 149)
146 INT_NUMBER@[146; 147) "1" 146 LITERAL@[146; 147)
147 DOTDOT@[147; 149) ".." 147 INT_NUMBER@[146; 147) "1"
148 SEMI@[149; 150) ";" 148 DOTDOT@[147; 149) ".."
149 WHITESPACE@[150; 151) "\n" 149 SEMI@[149; 150) ";"
150 R_CURLY@[151; 152) "}" 150 WHITESPACE@[150; 151) "\n"
151 R_CURLY@[151; 152) "}"
151 WHITESPACE@[152; 153) "\n" 152 WHITESPACE@[152; 153) "\n"
diff --git a/crates/ra_syntax/test_data/parser/ok/0030_string_suffixes.txt b/crates/ra_syntax/test_data/parser/ok/0030_string_suffixes.txt
index 4f7e809c5..cdc9f05ae 100644
--- a/crates/ra_syntax/test_data/parser/ok/0030_string_suffixes.txt
+++ b/crates/ra_syntax/test_data/parser/ok/0030_string_suffixes.txt
@@ -8,56 +8,57 @@ SOURCE_FILE@[0; 112)
8 L_PAREN@[7; 8) "(" 8 L_PAREN@[7; 8) "("
9 R_PAREN@[8; 9) ")" 9 R_PAREN@[8; 9) ")"
10 WHITESPACE@[9; 10) " " 10 WHITESPACE@[9; 10) " "
11 BLOCK@[10; 111) 11 BLOCK_EXPR@[10; 111)
12 L_CURLY@[10; 11) "{" 12 BLOCK@[10; 111)
13 WHITESPACE@[11; 16) "\n " 13 L_CURLY@[10; 11) "{"
14 LET_STMT@[16; 31) 14 WHITESPACE@[11; 16) "\n "
15 LET_KW@[16; 19) "let" 15 LET_STMT@[16; 31)
16 WHITESPACE@[19; 20) " " 16 LET_KW@[16; 19) "let"
17 PLACEHOLDER_PAT@[20; 21) 17 WHITESPACE@[19; 20) " "
18 UNDERSCORE@[20; 21) "_" 18 PLACEHOLDER_PAT@[20; 21)
19 WHITESPACE@[21; 22) " " 19 UNDERSCORE@[20; 21) "_"
20 EQ@[22; 23) "=" 20 WHITESPACE@[21; 22) " "
21 WHITESPACE@[23; 24) " " 21 EQ@[22; 23) "="
22 LITERAL@[24; 30) 22 WHITESPACE@[23; 24) " "
23 CHAR@[24; 30) "\'c\'u32" 23 LITERAL@[24; 30)
24 SEMI@[30; 31) ";" 24 CHAR@[24; 30) "\'c\'u32"
25 WHITESPACE@[31; 36) "\n " 25 SEMI@[30; 31) ";"
26 LET_STMT@[36; 60) 26 WHITESPACE@[31; 36) "\n "
27 LET_KW@[36; 39) "let" 27 LET_STMT@[36; 60)
28 WHITESPACE@[39; 40) " " 28 LET_KW@[36; 39) "let"
29 PLACEHOLDER_PAT@[40; 41) 29 WHITESPACE@[39; 40) " "
30 UNDERSCORE@[40; 41) "_" 30 PLACEHOLDER_PAT@[40; 41)
31 WHITESPACE@[41; 42) " " 31 UNDERSCORE@[40; 41) "_"
32 EQ@[42; 43) "=" 32 WHITESPACE@[41; 42) " "
33 WHITESPACE@[43; 44) " " 33 EQ@[42; 43) "="
34 LITERAL@[44; 59) 34 WHITESPACE@[43; 44) " "
35 STRING@[44; 59) "\"string\"invalid" 35 LITERAL@[44; 59)
36 SEMI@[59; 60) ";" 36 STRING@[44; 59) "\"string\"invalid"
37 WHITESPACE@[60; 65) "\n " 37 SEMI@[59; 60) ";"
38 LET_STMT@[65; 83) 38 WHITESPACE@[60; 65) "\n "
39 LET_KW@[65; 68) "let" 39 LET_STMT@[65; 83)
40 WHITESPACE@[68; 69) " " 40 LET_KW@[65; 68) "let"
41 PLACEHOLDER_PAT@[69; 70) 41 WHITESPACE@[68; 69) " "
42 UNDERSCORE@[69; 70) "_" 42 PLACEHOLDER_PAT@[69; 70)
43 WHITESPACE@[70; 71) " " 43 UNDERSCORE@[69; 70) "_"
44 EQ@[71; 72) "=" 44 WHITESPACE@[70; 71) " "
45 WHITESPACE@[72; 73) " " 45 EQ@[71; 72) "="
46 LITERAL@[73; 82) 46 WHITESPACE@[72; 73) " "
47 BYTE@[73; 82) "b\'b\'_suff" 47 LITERAL@[73; 82)
48 SEMI@[82; 83) ";" 48 BYTE@[73; 82) "b\'b\'_suff"
49 WHITESPACE@[83; 88) "\n " 49 SEMI@[82; 83) ";"
50 LET_STMT@[88; 109) 50 WHITESPACE@[83; 88) "\n "
51 LET_KW@[88; 91) "let" 51 LET_STMT@[88; 109)
52 WHITESPACE@[91; 92) " " 52 LET_KW@[88; 91) "let"
53 PLACEHOLDER_PAT@[92; 93) 53 WHITESPACE@[91; 92) " "
54 UNDERSCORE@[92; 93) "_" 54 PLACEHOLDER_PAT@[92; 93)
55 WHITESPACE@[93; 94) " " 55 UNDERSCORE@[92; 93) "_"
56 EQ@[94; 95) "=" 56 WHITESPACE@[93; 94) " "
57 WHITESPACE@[95; 96) " " 57 EQ@[94; 95) "="
58 LITERAL@[96; 108) 58 WHITESPACE@[95; 96) " "
59 BYTE_STRING@[96; 108) "b\"bs\"invalid" 59 LITERAL@[96; 108)
60 SEMI@[108; 109) ";" 60 BYTE_STRING@[96; 108) "b\"bs\"invalid"
61 WHITESPACE@[109; 110) "\n" 61 SEMI@[108; 109) ";"
62 R_CURLY@[110; 111) "}" 62 WHITESPACE@[109; 110) "\n"
63 R_CURLY@[110; 111) "}"
63 WHITESPACE@[111; 112) "\n" 64 WHITESPACE@[111; 112) "\n"
diff --git a/crates/ra_syntax/test_data/parser/ok/0032_where_for.txt b/crates/ra_syntax/test_data/parser/ok/0032_where_for.txt
index 9b1d0e84a..3a333480e 100644
--- a/crates/ra_syntax/test_data/parser/ok/0032_where_for.txt
+++ b/crates/ra_syntax/test_data/parser/ok/0032_where_for.txt
@@ -84,7 +84,8 @@ SOURCE_FILE@[0; 116)
84 IDENT@[106; 111) "Debug" 84 IDENT@[106; 111) "Debug"
85 COMMA@[111; 112) "," 85 COMMA@[111; 112) ","
86 WHITESPACE@[112; 113) "\n" 86 WHITESPACE@[112; 113) "\n"
87 BLOCK@[113; 115) 87 BLOCK_EXPR@[113; 115)
88 L_CURLY@[113; 114) "{" 88 BLOCK@[113; 115)
89 R_CURLY@[114; 115) "}" 89 L_CURLY@[113; 114) "{"
90 R_CURLY@[114; 115) "}"
90 WHITESPACE@[115; 116) "\n" 91 WHITESPACE@[115; 116) "\n"
diff --git a/crates/ra_syntax/test_data/parser/ok/0033_label_break.txt b/crates/ra_syntax/test_data/parser/ok/0033_label_break.txt
index 845a8d7af..bd9e3fd85 100644
--- a/crates/ra_syntax/test_data/parser/ok/0033_label_break.txt
+++ b/crates/ra_syntax/test_data/parser/ok/0033_label_break.txt
@@ -10,206 +10,211 @@ SOURCE_FILE@[0; 506)
10 L_PAREN@[41; 42) "(" 10 L_PAREN@[41; 42) "("
11 R_PAREN@[42; 43) ")" 11 R_PAREN@[42; 43) ")"
12 WHITESPACE@[43; 44) " " 12 WHITESPACE@[43; 44) " "
13 BLOCK@[44; 505) 13 BLOCK_EXPR@[44; 505)
14 L_CURLY@[44; 45) "{" 14 BLOCK@[44; 505)
15 WHITESPACE@[45; 50) "\n " 15 L_CURLY@[44; 45) "{"
16 EXPR_STMT@[50; 66) 16 WHITESPACE@[45; 50) "\n "
17 BLOCK_EXPR@[50; 66) 17 EXPR_STMT@[50; 66)
18 LABEL@[50; 63) 18 BLOCK_EXPR@[50; 66)
19 LIFETIME@[50; 62) "\'empty_block" 19 LABEL@[50; 63)
20 COLON@[62; 63) ":" 20 LIFETIME@[50; 62) "\'empty_block"
21 WHITESPACE@[63; 64) " " 21 COLON@[62; 63) ":"
22 BLOCK@[64; 66) 22 WHITESPACE@[63; 64) " "
23 L_CURLY@[64; 65) "{" 23 BLOCK@[64; 66)
24 R_CURLY@[65; 66) "}" 24 L_CURLY@[64; 65) "{"
25 WHITESPACE@[66; 72) "\n\n " 25 R_CURLY@[65; 66) "}"
26 EXPR_STMT@[72; 295) 26 WHITESPACE@[66; 72) "\n\n "
27 BLOCK_EXPR@[72; 295) 27 EXPR_STMT@[72; 295)
28 LABEL@[72; 79) 28 BLOCK_EXPR@[72; 295)
29 LIFETIME@[72; 78) "\'block" 29 LABEL@[72; 79)
30 COLON@[78; 79) ":" 30 LIFETIME@[72; 78) "\'block"
31 WHITESPACE@[79; 80) " " 31 COLON@[78; 79) ":"
32 BLOCK@[80; 295) 32 WHITESPACE@[79; 80) " "
33 L_CURLY@[80; 81) "{" 33 BLOCK@[80; 295)
34 WHITESPACE@[81; 90) "\n " 34 L_CURLY@[80; 81) "{"
35 EXPR_STMT@[90; 101) 35 WHITESPACE@[81; 90) "\n "
36 CALL_EXPR@[90; 100) 36 EXPR_STMT@[90; 101)
37 PATH_EXPR@[90; 98) 37 CALL_EXPR@[90; 100)
38 PATH@[90; 98) 38 PATH_EXPR@[90; 98)
39 PATH_SEGMENT@[90; 98) 39 PATH@[90; 98)
40 NAME_REF@[90; 98) 40 PATH_SEGMENT@[90; 98)
41 IDENT@[90; 98) "do_thing" 41 NAME_REF@[90; 98)
42 ARG_LIST@[98; 100) 42 IDENT@[90; 98) "do_thing"
43 L_PAREN@[98; 99) "(" 43 ARG_LIST@[98; 100)
44 R_PAREN@[99; 100) ")" 44 L_PAREN@[98; 99) "("
45 SEMI@[100; 101) ";" 45 R_PAREN@[99; 100) ")"
46 WHITESPACE@[101; 110) "\n " 46 SEMI@[100; 101) ";"
47 EXPR_STMT@[110; 170) 47 WHITESPACE@[101; 110) "\n "
48 IF_EXPR@[110; 170) 48 EXPR_STMT@[110; 170)
49 IF_KW@[110; 112) "if" 49 IF_EXPR@[110; 170)
50 WHITESPACE@[112; 113) " " 50 IF_KW@[110; 112) "if"
51 CONDITION@[113; 132) 51 WHITESPACE@[112; 113) " "
52 CALL_EXPR@[113; 132) 52 CONDITION@[113; 132)
53 PATH_EXPR@[113; 130) 53 CALL_EXPR@[113; 132)
54 PATH@[113; 130) 54 PATH_EXPR@[113; 130)
55 PATH_SEGMENT@[113; 130) 55 PATH@[113; 130)
56 NAME_REF@[113; 130) 56 PATH_SEGMENT@[113; 130)
57 IDENT@[113; 130) "condition_not_met" 57 NAME_REF@[113; 130)
58 ARG_LIST@[130; 132) 58 IDENT@[113; 130) "condition_not_met"
59 L_PAREN@[130; 131) "(" 59 ARG_LIST@[130; 132)
60 R_PAREN@[131; 132) ")" 60 L_PAREN@[130; 131) "("
61 WHITESPACE@[132; 133) " " 61 R_PAREN@[131; 132) ")"
62 BLOCK@[133; 170) 62 WHITESPACE@[132; 133) " "
63 L_CURLY@[133; 134) "{" 63 BLOCK_EXPR@[133; 170)
64 WHITESPACE@[134; 147) "\n " 64 BLOCK@[133; 170)
65 EXPR_STMT@[147; 160) 65 L_CURLY@[133; 134) "{"
66 BREAK_EXPR@[147; 159) 66 WHITESPACE@[134; 147) "\n "
67 BREAK_KW@[147; 152) "break" 67 EXPR_STMT@[147; 160)
68 WHITESPACE@[152; 153) " " 68 BREAK_EXPR@[147; 159)
69 LIFETIME@[153; 159) "\'block" 69 BREAK_KW@[147; 152) "break"
70 SEMI@[159; 160) ";" 70 WHITESPACE@[152; 153) " "
71 WHITESPACE@[160; 169) "\n " 71 LIFETIME@[153; 159) "\'block"
72 R_CURLY@[169; 170) "}" 72 SEMI@[159; 160) ";"
73 WHITESPACE@[170; 179) "\n " 73 WHITESPACE@[160; 169) "\n "
74 EXPR_STMT@[179; 195) 74 R_CURLY@[169; 170) "}"
75 CALL_EXPR@[179; 194) 75 WHITESPACE@[170; 179) "\n "
76 PATH_EXPR@[179; 192) 76 EXPR_STMT@[179; 195)
77 PATH@[179; 192) 77 CALL_EXPR@[179; 194)
78 PATH_SEGMENT@[179; 192) 78 PATH_EXPR@[179; 192)
79 NAME_REF@[179; 192) 79 PATH@[179; 192)
80 IDENT@[179; 192) "do_next_thing" 80 PATH_SEGMENT@[179; 192)
81 ARG_LIST@[192; 194) 81 NAME_REF@[179; 192)
82 L_PAREN@[192; 193) "(" 82 IDENT@[179; 192) "do_next_thing"
83 R_PAREN@[193; 194) ")" 83 ARG_LIST@[192; 194)
84 SEMI@[194; 195) ";" 84 L_PAREN@[192; 193) "("
85 WHITESPACE@[195; 204) "\n " 85 R_PAREN@[193; 194) ")"
86 EXPR_STMT@[204; 264) 86 SEMI@[194; 195) ";"
87 IF_EXPR@[204; 264) 87 WHITESPACE@[195; 204) "\n "
88 IF_KW@[204; 206) "if" 88 EXPR_STMT@[204; 264)
89 WHITESPACE@[206; 207) " " 89 IF_EXPR@[204; 264)
90 CONDITION@[207; 226) 90 IF_KW@[204; 206) "if"
91 CALL_EXPR@[207; 226) 91 WHITESPACE@[206; 207) " "
92 PATH_EXPR@[207; 224) 92 CONDITION@[207; 226)
93 PATH@[207; 224) 93 CALL_EXPR@[207; 226)
94 PATH_SEGMENT@[207; 224) 94 PATH_EXPR@[207; 224)
95 NAME_REF@[207; 224) 95 PATH@[207; 224)
96 IDENT@[207; 224) "condition_not_met" 96 PATH_SEGMENT@[207; 224)
97 ARG_LIST@[224; 226) 97 NAME_REF@[207; 224)
98 L_PAREN@[224; 225) "(" 98 IDENT@[207; 224) "condition_not_met"
99 R_PAREN@[225; 226) ")" 99 ARG_LIST@[224; 226)
100 WHITESPACE@[226; 227) " " 100 L_PAREN@[224; 225) "("
101 BLOCK@[227; 264) 101 R_PAREN@[225; 226) ")"
102 L_CURLY@[227; 228) "{" 102 WHITESPACE@[226; 227) " "
103 WHITESPACE@[228; 241) "\n " 103 BLOCK_EXPR@[227; 264)
104 EXPR_STMT@[241; 254) 104 BLOCK@[227; 264)
105 BREAK_EXPR@[241; 253) 105 L_CURLY@[227; 228) "{"
106 BREAK_KW@[241; 246) "break" 106 WHITESPACE@[228; 241) "\n "
107 WHITESPACE@[246; 247) " " 107 EXPR_STMT@[241; 254)
108 LIFETIME@[247; 253) "\'block" 108 BREAK_EXPR@[241; 253)
109 SEMI@[253; 254) ";" 109 BREAK_KW@[241; 246) "break"
110 WHITESPACE@[254; 263) "\n " 110 WHITESPACE@[246; 247) " "
111 R_CURLY@[263; 264) "}" 111 LIFETIME@[247; 253) "\'block"
112 WHITESPACE@[264; 273) "\n " 112 SEMI@[253; 254) ";"
113 EXPR_STMT@[273; 289) 113 WHITESPACE@[254; 263) "\n "
114 CALL_EXPR@[273; 288) 114 R_CURLY@[263; 264) "}"
115 PATH_EXPR@[273; 286) 115 WHITESPACE@[264; 273) "\n "
116 PATH@[273; 286) 116 EXPR_STMT@[273; 289)
117 PATH_SEGMENT@[273; 286) 117 CALL_EXPR@[273; 288)
118 NAME_REF@[273; 286) 118 PATH_EXPR@[273; 286)
119 IDENT@[273; 286) "do_last_thing" 119 PATH@[273; 286)
120 ARG_LIST@[286; 288) 120 PATH_SEGMENT@[273; 286)
121 L_PAREN@[286; 287) "(" 121 NAME_REF@[273; 286)
122 R_PAREN@[287; 288) ")" 122 IDENT@[273; 286) "do_last_thing"
123 SEMI@[288; 289) ";" 123 ARG_LIST@[286; 288)
124 WHITESPACE@[289; 294) "\n " 124 L_PAREN@[286; 287) "("
125 R_CURLY@[294; 295) "}" 125 R_PAREN@[287; 288) ")"
126 WHITESPACE@[295; 301) "\n\n " 126 SEMI@[288; 289) ";"
127 LET_STMT@[301; 503) 127 WHITESPACE@[289; 294) "\n "
128 LET_KW@[301; 304) "let" 128 R_CURLY@[294; 295) "}"
129 WHITESPACE@[304; 305) " " 129 WHITESPACE@[295; 301) "\n\n "
130 BIND_PAT@[305; 311) 130 LET_STMT@[301; 503)
131 NAME@[305; 311) 131 LET_KW@[301; 304) "let"
132 IDENT@[305; 311) "result" 132 WHITESPACE@[304; 305) " "
133 WHITESPACE@[311; 312) " " 133 BIND_PAT@[305; 311)
134 EQ@[312; 313) "=" 134 NAME@[305; 311)
135 WHITESPACE@[313; 314) " " 135 IDENT@[305; 311) "result"
136 BLOCK_EXPR@[314; 502) 136 WHITESPACE@[311; 312) " "
137 LABEL@[314; 321) 137 EQ@[312; 313) "="
138 LIFETIME@[314; 320) "\'block" 138 WHITESPACE@[313; 314) " "
139 COLON@[320; 321) ":" 139 BLOCK_EXPR@[314; 502)
140 WHITESPACE@[321; 322) " " 140 LABEL@[314; 321)
141 BLOCK@[322; 502) 141 LIFETIME@[314; 320) "\'block"
142 L_CURLY@[322; 323) "{" 142 COLON@[320; 321) ":"
143 WHITESPACE@[323; 332) "\n " 143 WHITESPACE@[321; 322) " "
144 EXPR_STMT@[332; 403) 144 BLOCK@[322; 502)
145 IF_EXPR@[332; 403) 145 L_CURLY@[322; 323) "{"
146 IF_KW@[332; 334) "if" 146 WHITESPACE@[323; 332) "\n "
147 WHITESPACE@[334; 335) " " 147 EXPR_STMT@[332; 403)
148 CONDITION@[335; 340) 148 IF_EXPR@[332; 403)
149 CALL_EXPR@[335; 340) 149 IF_KW@[332; 334) "if"
150 PATH_EXPR@[335; 338) 150 WHITESPACE@[334; 335) " "
151 PATH@[335; 338) 151 CONDITION@[335; 340)
152 PATH_SEGMENT@[335; 338) 152 CALL_EXPR@[335; 340)
153 NAME_REF@[335; 338) 153 PATH_EXPR@[335; 338)
154 IDENT@[335; 338) "foo" 154 PATH@[335; 338)
155 ARG_LIST@[338; 340) 155 PATH_SEGMENT@[335; 338)
156 L_PAREN@[338; 339) "(" 156 NAME_REF@[335; 338)
157 R_PAREN@[339; 340) ")" 157 IDENT@[335; 338) "foo"
158 WHITESPACE@[340; 341) " " 158 ARG_LIST@[338; 340)
159 BLOCK@[341; 403) 159 L_PAREN@[338; 339) "("
160 L_CURLY@[341; 342) "{" 160 R_PAREN@[339; 340) ")"
161 WHITESPACE@[342; 355) "\n " 161 WHITESPACE@[340; 341) " "
162 COMMENT@[355; 365) "// comment" 162 BLOCK_EXPR@[341; 403)
163 WHITESPACE@[365; 378) "\n " 163 BLOCK@[341; 403)
164 EXPR_STMT@[378; 393) 164 L_CURLY@[341; 342) "{"
165 BREAK_EXPR@[378; 392) 165 WHITESPACE@[342; 355) "\n "
166 BREAK_KW@[378; 383) "break" 166 COMMENT@[355; 365) "// comment"
167 WHITESPACE@[383; 384) " " 167 WHITESPACE@[365; 378) "\n "
168 LIFETIME@[384; 390) "\'block" 168 EXPR_STMT@[378; 393)
169 WHITESPACE@[390; 391) " " 169 BREAK_EXPR@[378; 392)
170 LITERAL@[391; 392) 170 BREAK_KW@[378; 383) "break"
171 INT_NUMBER@[391; 392) "1" 171 WHITESPACE@[383; 384) " "
172 SEMI@[392; 393) ";" 172 LIFETIME@[384; 390) "\'block"
173 WHITESPACE@[393; 402) "\n " 173 WHITESPACE@[390; 391) " "
174 R_CURLY@[402; 403) "}" 174 LITERAL@[391; 392)
175 WHITESPACE@[403; 412) "\n " 175 INT_NUMBER@[391; 392) "1"
176 EXPR_STMT@[412; 486) 176 SEMI@[392; 393) ";"
177 IF_EXPR@[412; 486) 177 WHITESPACE@[393; 402) "\n "
178 IF_KW@[412; 414) "if" 178 R_CURLY@[402; 403) "}"
179 WHITESPACE@[414; 415) " " 179 WHITESPACE@[403; 412) "\n "
180 CONDITION@[415; 420) 180 EXPR_STMT@[412; 486)
181 CALL_EXPR@[415; 420) 181 IF_EXPR@[412; 486)
182 PATH_EXPR@[415; 418) 182 IF_KW@[412; 414) "if"
183 PATH@[415; 418) 183 WHITESPACE@[414; 415) " "
184 PATH_SEGMENT@[415; 418) 184 CONDITION@[415; 420)
185 NAME_REF@[415; 418) 185 CALL_EXPR@[415; 420)
186 IDENT@[415; 418) "bar" 186 PATH_EXPR@[415; 418)
187 ARG_LIST@[418; 420) 187 PATH@[415; 418)
188 L_PAREN@[418; 419) "(" 188 PATH_SEGMENT@[415; 418)
189 R_PAREN@[419; 420) ")" 189 NAME_REF@[415; 418)
190 WHITESPACE@[420; 421) " " 190 IDENT@[415; 418) "bar"
191 BLOCK@[421; 486) 191 ARG_LIST@[418; 420)
192 L_CURLY@[421; 422) "{" 192 L_PAREN@[418; 419) "("
193 WHITESPACE@[422; 435) "\n " 193 R_PAREN@[419; 420) ")"
194 COMMENT@[435; 448) "/* comment */" 194 WHITESPACE@[420; 421) " "
195 WHITESPACE@[448; 461) "\n " 195 BLOCK_EXPR@[421; 486)
196 EXPR_STMT@[461; 476) 196 BLOCK@[421; 486)
197 BREAK_EXPR@[461; 475) 197 L_CURLY@[421; 422) "{"
198 BREAK_KW@[461; 466) "break" 198 WHITESPACE@[422; 435) "\n "
199 WHITESPACE@[466; 467) " " 199 COMMENT@[435; 448) "/* comment */"
200 LIFETIME@[467; 473) "\'block" 200 WHITESPACE@[448; 461) "\n "
201 WHITESPACE@[473; 474) " " 201 EXPR_STMT@[461; 476)
202 LITERAL@[474; 475) 202 BREAK_EXPR@[461; 475)
203 INT_NUMBER@[474; 475) "2" 203 BREAK_KW@[461; 466) "break"
204 SEMI@[475; 476) ";" 204 WHITESPACE@[466; 467) " "
205 WHITESPACE@[476; 485) "\n " 205 LIFETIME@[467; 473) "\'block"
206 R_CURLY@[485; 486) "}" 206 WHITESPACE@[473; 474) " "
207 WHITESPACE@[486; 495) "\n " 207 LITERAL@[474; 475)
208 LITERAL@[495; 496) 208 INT_NUMBER@[474; 475) "2"
209 INT_NUMBER@[495; 496) "3" 209 SEMI@[475; 476) ";"
210 WHITESPACE@[496; 501) "\n " 210 WHITESPACE@[476; 485) "\n "
211 R_CURLY@[501; 502) "}" 211 R_CURLY@[485; 486) "}"
212 SEMI@[502; 503) ";" 212 WHITESPACE@[486; 495) "\n "
213 WHITESPACE@[503; 504) "\n" 213 LITERAL@[495; 496)
214 R_CURLY@[504; 505) "}" 214 INT_NUMBER@[495; 496) "3"
215 WHITESPACE@[496; 501) "\n "
216 R_CURLY@[501; 502) "}"
217 SEMI@[502; 503) ";"
218 WHITESPACE@[503; 504) "\n"
219 R_CURLY@[504; 505) "}"
215 WHITESPACE@[505; 506) "\n" 220 WHITESPACE@[505; 506) "\n"
diff --git a/crates/ra_syntax/test_data/parser/ok/0034_crate_path_in_call.txt b/crates/ra_syntax/test_data/parser/ok/0034_crate_path_in_call.txt
index a77d4aabe..fc0d452f4 100644
--- a/crates/ra_syntax/test_data/parser/ok/0034_crate_path_in_call.txt
+++ b/crates/ra_syntax/test_data/parser/ok/0034_crate_path_in_call.txt
@@ -8,34 +8,35 @@ SOURCE_FILE@[0; 62)
8 L_PAREN@[7; 8) "(" 8 L_PAREN@[7; 8) "("
9 R_PAREN@[8; 9) ")" 9 R_PAREN@[8; 9) ")"
10 WHITESPACE@[9; 10) " " 10 WHITESPACE@[9; 10) " "
11 BLOCK@[10; 61) 11 BLOCK_EXPR@[10; 61)
12 L_CURLY@[10; 11) "{" 12 BLOCK@[10; 61)
13 WHITESPACE@[11; 16) "\n " 13 L_CURLY@[10; 11) "{"
14 EXPR_STMT@[16; 59) 14 WHITESPACE@[11; 16) "\n "
15 CALL_EXPR@[16; 58) 15 EXPR_STMT@[16; 59)
16 PATH_EXPR@[16; 26) 16 CALL_EXPR@[16; 58)
17 PATH@[16; 26) 17 PATH_EXPR@[16; 26)
18 PATH_SEGMENT@[16; 26) 18 PATH@[16; 26)
19 NAME_REF@[16; 26) 19 PATH_SEGMENT@[16; 26)
20 IDENT@[16; 26) "make_query" 20 NAME_REF@[16; 26)
21 ARG_LIST@[26; 58) 21 IDENT@[16; 26) "make_query"
22 L_PAREN@[26; 27) "(" 22 ARG_LIST@[26; 58)
23 PATH_EXPR@[27; 57) 23 L_PAREN@[26; 27) "("
24 PATH@[27; 57) 24 PATH_EXPR@[27; 57)
25 PATH@[27; 44) 25 PATH@[27; 57)
26 PATH@[27; 32) 26 PATH@[27; 44)
27 PATH_SEGMENT@[27; 32) 27 PATH@[27; 32)
28 CRATE_KW@[27; 32) "crate" 28 PATH_SEGMENT@[27; 32)
29 COLONCOLON@[32; 34) "::" 29 CRATE_KW@[27; 32) "crate"
30 PATH_SEGMENT@[34; 44) 30 COLONCOLON@[32; 34) "::"
31 NAME_REF@[34; 44) 31 PATH_SEGMENT@[34; 44)
32 IDENT@[34; 44) "module_map" 32 NAME_REF@[34; 44)
33 COLONCOLON@[44; 46) "::" 33 IDENT@[34; 44) "module_map"
34 PATH_SEGMENT@[46; 57) 34 COLONCOLON@[44; 46) "::"
35 NAME_REF@[46; 57) 35 PATH_SEGMENT@[46; 57)
36 IDENT@[46; 57) "module_tree" 36 NAME_REF@[46; 57)
37 R_PAREN@[57; 58) ")" 37 IDENT@[46; 57) "module_tree"
38 SEMI@[58; 59) ";" 38 R_PAREN@[57; 58) ")"
39 WHITESPACE@[59; 60) "\n" 39 SEMI@[58; 59) ";"
40 R_CURLY@[60; 61) "}" 40 WHITESPACE@[59; 60) "\n"
41 R_CURLY@[60; 61) "}"
41 WHITESPACE@[61; 62) "\n" 42 WHITESPACE@[61; 62) "\n"
diff --git a/crates/ra_syntax/test_data/parser/ok/0035_weird_exprs.txt b/crates/ra_syntax/test_data/parser/ok/0035_weird_exprs.txt
index c13ebfe37..c18e3c329 100644
--- a/crates/ra_syntax/test_data/parser/ok/0035_weird_exprs.txt
+++ b/crates/ra_syntax/test_data/parser/ok/0035_weird_exprs.txt
@@ -127,33 +127,34 @@ SOURCE_FILE@[0; 3813)
127 NAME_REF@[536; 540) 127 NAME_REF@[536; 540)
128 IDENT@[536; 540) "bool" 128 IDENT@[536; 540) "bool"
129 WHITESPACE@[540; 541) " " 129 WHITESPACE@[540; 541) " "
130 BLOCK@[541; 572) 130 BLOCK_EXPR@[541; 572)
131 L_CURLY@[541; 542) "{" 131 BLOCK@[541; 572)
132 WHITESPACE@[542; 543) " " 132 L_CURLY@[541; 542) "{"
133 LET_STMT@[543; 570) 133 WHITESPACE@[542; 543) " "
134 LET_KW@[543; 546) "let" 134 LET_STMT@[543; 570)
135 WHITESPACE@[546; 547) " " 135 LET_KW@[543; 546) "let"
136 BIND_PAT@[547; 549) 136 WHITESPACE@[546; 547) " "
137 NAME@[547; 549) 137 BIND_PAT@[547; 549)
138 IDENT@[547; 549) "_x" 138 NAME@[547; 549)
139 COLON@[549; 550) ":" 139 IDENT@[547; 549) "_x"
140 WHITESPACE@[550; 551) " " 140 COLON@[549; 550) ":"
141 PATH_TYPE@[551; 555) 141 WHITESPACE@[550; 551) " "
142 PATH@[551; 555) 142 PATH_TYPE@[551; 555)
143 PATH_SEGMENT@[551; 555) 143 PATH@[551; 555)
144 NAME_REF@[551; 555) 144 PATH_SEGMENT@[551; 555)
145 IDENT@[551; 555) "bool" 145 NAME_REF@[551; 555)
146 WHITESPACE@[555; 556) " " 146 IDENT@[551; 555) "bool"
147 EQ@[556; 557) "=" 147 WHITESPACE@[555; 556) " "
148 WHITESPACE@[557; 558) " " 148 EQ@[556; 557) "="
149 RETURN_EXPR@[558; 569) 149 WHITESPACE@[557; 558) " "
150 RETURN_KW@[558; 564) "return" 150 RETURN_EXPR@[558; 569)
151 WHITESPACE@[564; 565) " " 151 RETURN_KW@[558; 564) "return"
152 LITERAL@[565; 569) 152 WHITESPACE@[564; 565) " "
153 TRUE_KW@[565; 569) "true" 153 LITERAL@[565; 569)
154 SEMI@[569; 570) ";" 154 TRUE_KW@[565; 569) "true"
155 WHITESPACE@[570; 571) " " 155 SEMI@[569; 570) ";"
156 R_CURLY@[571; 572) "}" 156 WHITESPACE@[570; 571) " "
157 R_CURLY@[571; 572) "}"
157 WHITESPACE@[572; 574) "\n\n" 158 WHITESPACE@[572; 574) "\n\n"
158 FN_DEF@[574; 624) 159 FN_DEF@[574; 624)
159 FN_KW@[574; 576) "fn" 160 FN_KW@[574; 576) "fn"
@@ -164,47 +165,49 @@ SOURCE_FILE@[0; 3813)
164 L_PAREN@[582; 583) "(" 165 L_PAREN@[582; 583) "("
165 R_PAREN@[583; 584) ")" 166 R_PAREN@[583; 584) ")"
166 WHITESPACE@[584; 585) " " 167 WHITESPACE@[584; 585) " "
167 BLOCK@[585; 624) 168 BLOCK_EXPR@[585; 624)
168 L_CURLY@[585; 586) "{" 169 BLOCK@[585; 624)
169 WHITESPACE@[586; 591) "\n " 170 L_CURLY@[585; 586) "{"
170 FN_DEF@[591; 607) 171 WHITESPACE@[586; 591) "\n "
171 FN_KW@[591; 593) "fn" 172 FN_DEF@[591; 607)
172 WHITESPACE@[593; 594) " " 173 FN_KW@[591; 593) "fn"
173 NAME@[594; 595) 174 WHITESPACE@[593; 594) " "
174 IDENT@[594; 595) "f" 175 NAME@[594; 595)
175 PARAM_LIST@[595; 603) 176 IDENT@[594; 595) "f"
176 L_PAREN@[595; 596) "(" 177 PARAM_LIST@[595; 603)
177 PARAM@[596; 602) 178 L_PAREN@[595; 596) "("
178 BIND_PAT@[596; 598) 179 PARAM@[596; 602)
179 NAME@[596; 598) 180 BIND_PAT@[596; 598)
180 IDENT@[596; 598) "_x" 181 NAME@[596; 598)
181 COLON@[598; 599) ":" 182 IDENT@[596; 598) "_x"
182 WHITESPACE@[599; 600) " " 183 COLON@[598; 599) ":"
183 TUPLE_TYPE@[600; 602) 184 WHITESPACE@[599; 600) " "
184 L_PAREN@[600; 601) "(" 185 TUPLE_TYPE@[600; 602)
185 R_PAREN@[601; 602) ")" 186 L_PAREN@[600; 601) "("
186 R_PAREN@[602; 603) ")" 187 R_PAREN@[601; 602) ")"
187 WHITESPACE@[603; 604) " " 188 R_PAREN@[602; 603) ")"
188 BLOCK@[604; 607) 189 WHITESPACE@[603; 604) " "
189 L_CURLY@[604; 605) "{" 190 BLOCK_EXPR@[604; 607)
190 WHITESPACE@[605; 606) " " 191 BLOCK@[604; 607)
191 R_CURLY@[606; 607) "}" 192 L_CURLY@[604; 605) "{"
192 WHITESPACE@[607; 612) "\n " 193 WHITESPACE@[605; 606) " "
193 EXPR_STMT@[612; 622) 194 R_CURLY@[606; 607) "}"
194 CALL_EXPR@[612; 621) 195 WHITESPACE@[607; 612) "\n "
195 PATH_EXPR@[612; 613) 196 EXPR_STMT@[612; 622)
196 PATH@[612; 613) 197 CALL_EXPR@[612; 621)
197 PATH_SEGMENT@[612; 613) 198 PATH_EXPR@[612; 613)
198 NAME_REF@[612; 613) 199 PATH@[612; 613)
199 IDENT@[612; 613) "f" 200 PATH_SEGMENT@[612; 613)
200 ARG_LIST@[613; 621) 201 NAME_REF@[612; 613)
201 L_PAREN@[613; 614) "(" 202 IDENT@[612; 613) "f"
202 RETURN_EXPR@[614; 620) 203 ARG_LIST@[613; 621)
203 RETURN_KW@[614; 620) "return" 204 L_PAREN@[613; 614) "("
204 R_PAREN@[620; 621) ")" 205 RETURN_EXPR@[614; 620)
205 SEMI@[621; 622) ";" 206 RETURN_KW@[614; 620) "return"
206 WHITESPACE@[622; 623) "\n" 207 R_PAREN@[620; 621) ")"
207 R_CURLY@[623; 624) "}" 208 SEMI@[621; 622) ";"
209 WHITESPACE@[622; 623) "\n"
210 R_CURLY@[623; 624) "}"
208 WHITESPACE@[624; 626) "\n\n" 211 WHITESPACE@[624; 626) "\n\n"
209 FN_DEF@[626; 816) 212 FN_DEF@[626; 816)
210 FN_KW@[626; 628) "fn" 213 FN_KW@[626; 628) "fn"
@@ -215,187 +218,190 @@ SOURCE_FILE@[0; 3813)
215 L_PAREN@[633; 634) "(" 218 L_PAREN@[633; 634) "("
216 R_PAREN@[634; 635) ")" 219 R_PAREN@[634; 635) ")"
217 WHITESPACE@[635; 636) " " 220 WHITESPACE@[635; 636) " "
218 BLOCK@[636; 816) 221 BLOCK_EXPR@[636; 816)
219 L_CURLY@[636; 637) "{" 222 BLOCK@[636; 816)
220 WHITESPACE@[637; 642) "\n " 223 L_CURLY@[636; 637) "{"
221 FN_DEF@[642; 720) 224 WHITESPACE@[637; 642) "\n "
222 FN_KW@[642; 644) "fn" 225 FN_DEF@[642; 720)
223 WHITESPACE@[644; 645) " " 226 FN_KW@[642; 644) "fn"
224 NAME@[645; 648) 227 WHITESPACE@[644; 645) " "
225 IDENT@[645; 648) "the" 228 NAME@[645; 648)
226 PARAM_LIST@[648; 664) 229 IDENT@[645; 648) "the"
227 L_PAREN@[648; 649) "(" 230 PARAM_LIST@[648; 664)
228 PARAM@[649; 663) 231 L_PAREN@[648; 649) "("
229 BIND_PAT@[649; 650) 232 PARAM@[649; 663)
230 NAME@[649; 650) 233 BIND_PAT@[649; 650)
231 IDENT@[649; 650) "x" 234 NAME@[649; 650)
232 COLON@[650; 651) ":" 235 IDENT@[649; 650) "x"
233 WHITESPACE@[651; 652) " " 236 COLON@[650; 651) ":"
234 REFERENCE_TYPE@[652; 663) 237 WHITESPACE@[651; 652) " "
235 AMP@[652; 653) "&" 238 REFERENCE_TYPE@[652; 663)
236 PATH_TYPE@[653; 663) 239 AMP@[652; 653) "&"
237 PATH@[653; 663) 240 PATH_TYPE@[653; 663)
238 PATH_SEGMENT@[653; 663) 241 PATH@[653; 663)
239 NAME_REF@[653; 657) 242 PATH_SEGMENT@[653; 663)
240 IDENT@[653; 657) "Cell" 243 NAME_REF@[653; 657)
241 TYPE_ARG_LIST@[657; 663) 244 IDENT@[653; 657) "Cell"
242 L_ANGLE@[657; 658) "<" 245 TYPE_ARG_LIST@[657; 663)
243 TYPE_ARG@[658; 662) 246 L_ANGLE@[657; 658) "<"
244 PATH_TYPE@[658; 662) 247 TYPE_ARG@[658; 662)
245 PATH@[658; 662) 248 PATH_TYPE@[658; 662)
246 PATH_SEGMENT@[658; 662) 249 PATH@[658; 662)
247 NAME_REF@[658; 662) 250 PATH_SEGMENT@[658; 662)
248 IDENT@[658; 662) "bool" 251 NAME_REF@[658; 662)
249 R_ANGLE@[662; 663) ">" 252 IDENT@[658; 662) "bool"
250 R_PAREN@[663; 664) ")" 253 R_ANGLE@[662; 663) ">"
251 WHITESPACE@[664; 665) " " 254 R_PAREN@[663; 664) ")"
252 BLOCK@[665; 720) 255 WHITESPACE@[664; 665) " "
253 L_CURLY@[665; 666) "{" 256 BLOCK_EXPR@[665; 720)
254 WHITESPACE@[666; 675) "\n " 257 BLOCK@[665; 720)
255 EXPR_STMT@[675; 714) 258 L_CURLY@[665; 666) "{"
256 RETURN_EXPR@[675; 713) 259 WHITESPACE@[666; 675) "\n "
257 RETURN_KW@[675; 681) "return" 260 EXPR_STMT@[675; 714)
258 WHITESPACE@[681; 682) " " 261 RETURN_EXPR@[675; 713)
259 WHILE_EXPR@[682; 713) 262 RETURN_KW@[675; 681) "return"
260 WHILE_KW@[682; 687) "while" 263 WHITESPACE@[681; 682) " "
261 WHITESPACE@[687; 688) " " 264 WHILE_EXPR@[682; 713)
262 CONDITION@[688; 696) 265 WHILE_KW@[682; 687) "while"
263 PREFIX_EXPR@[688; 696) 266 WHITESPACE@[687; 688) " "
264 EXCL@[688; 689) "!" 267 CONDITION@[688; 696)
265 METHOD_CALL_EXPR@[689; 696) 268 PREFIX_EXPR@[688; 696)
266 PATH_EXPR@[689; 690) 269 EXCL@[688; 689) "!"
267 PATH@[689; 690) 270 METHOD_CALL_EXPR@[689; 696)
268 PATH_SEGMENT@[689; 690) 271 PATH_EXPR@[689; 690)
269 NAME_REF@[689; 690) 272 PATH@[689; 690)
270 IDENT@[689; 690) "x" 273 PATH_SEGMENT@[689; 690)
271 DOT@[690; 691) "." 274 NAME_REF@[689; 690)
272 NAME_REF@[691; 694) 275 IDENT@[689; 690) "x"
273 IDENT@[691; 694) "get" 276 DOT@[690; 691) "."
274 ARG_LIST@[694; 696) 277 NAME_REF@[691; 694)
275 L_PAREN@[694; 695) "(" 278 IDENT@[691; 694) "get"
276 R_PAREN@[695; 696) ")" 279 ARG_LIST@[694; 696)
277 WHITESPACE@[696; 697) " " 280 L_PAREN@[694; 695) "("
278 BLOCK@[697; 713) 281 R_PAREN@[695; 696) ")"
279 L_CURLY@[697; 698) "{" 282 WHITESPACE@[696; 697) " "
280 WHITESPACE@[698; 699) " " 283 BLOCK_EXPR@[697; 713)
281 EXPR_STMT@[699; 711) 284 BLOCK@[697; 713)
282 METHOD_CALL_EXPR@[699; 710) 285 L_CURLY@[697; 698) "{"
283 PATH_EXPR@[699; 700) 286 WHITESPACE@[698; 699) " "
284 PATH@[699; 700) 287 EXPR_STMT@[699; 711)
285 PATH_SEGMENT@[699; 700) 288 METHOD_CALL_EXPR@[699; 710)
286 NAME_REF@[699; 700) 289 PATH_EXPR@[699; 700)
287 IDENT@[699; 700) "x" 290 PATH@[699; 700)
288 DOT@[700; 701) "." 291 PATH_SEGMENT@[699; 700)
289 NAME_REF@[701; 704) 292 NAME_REF@[699; 700)
290 IDENT@[701; 704) "set" 293 IDENT@[699; 700) "x"
291 ARG_LIST@[704; 710) 294 DOT@[700; 701) "."
292 L_PAREN@[704; 705) "(" 295 NAME_REF@[701; 704)
293 LITERAL@[705; 709) 296 IDENT@[701; 704) "set"
294 TRUE_KW@[705; 709) "true" 297 ARG_LIST@[704; 710)
295 R_PAREN@[709; 710) ")" 298 L_PAREN@[704; 705) "("
296 SEMI@[710; 711) ";" 299 LITERAL@[705; 709)
297 WHITESPACE@[711; 712) " " 300 TRUE_KW@[705; 709) "true"
298 R_CURLY@[712; 713) "}" 301 R_PAREN@[709; 710) ")"
299 SEMI@[713; 714) ";" 302 SEMI@[710; 711) ";"
300 WHITESPACE@[714; 719) "\n " 303 WHITESPACE@[711; 712) " "
301 R_CURLY@[719; 720) "}" 304 R_CURLY@[712; 713) "}"
302 WHITESPACE@[720; 725) "\n " 305 SEMI@[713; 714) ";"
303 LET_STMT@[725; 751) 306 WHITESPACE@[714; 719) "\n "
304 LET_KW@[725; 728) "let" 307 R_CURLY@[719; 720) "}"
305 WHITESPACE@[728; 729) " " 308 WHITESPACE@[720; 725) "\n "
306 BIND_PAT@[729; 730) 309 LET_STMT@[725; 751)
307 NAME@[729; 730) 310 LET_KW@[725; 728) "let"
308 IDENT@[729; 730) "i" 311 WHITESPACE@[728; 729) " "
309 WHITESPACE@[730; 731) " " 312 BIND_PAT@[729; 730)
310 EQ@[731; 732) "=" 313 NAME@[729; 730)
311 WHITESPACE@[732; 733) " " 314 IDENT@[729; 730) "i"
312 REF_EXPR@[733; 750) 315 WHITESPACE@[730; 731) " "
313 AMP@[733; 734) "&" 316 EQ@[731; 732) "="
314 CALL_EXPR@[734; 750) 317 WHITESPACE@[732; 733) " "
315 PATH_EXPR@[734; 743) 318 REF_EXPR@[733; 750)
316 PATH@[734; 743) 319 AMP@[733; 734) "&"
317 PATH@[734; 738) 320 CALL_EXPR@[734; 750)
318 PATH_SEGMENT@[734; 738) 321 PATH_EXPR@[734; 743)
319 NAME_REF@[734; 738) 322 PATH@[734; 743)
320 IDENT@[734; 738) "Cell" 323 PATH@[734; 738)
321 COLONCOLON@[738; 740) "::" 324 PATH_SEGMENT@[734; 738)
322 PATH_SEGMENT@[740; 743) 325 NAME_REF@[734; 738)
323 NAME_REF@[740; 743) 326 IDENT@[734; 738) "Cell"
324 IDENT@[740; 743) "new" 327 COLONCOLON@[738; 740) "::"
325 ARG_LIST@[743; 750) 328 PATH_SEGMENT@[740; 743)
326 L_PAREN@[743; 744) "(" 329 NAME_REF@[740; 743)
327 LITERAL@[744; 749) 330 IDENT@[740; 743) "new"
328 FALSE_KW@[744; 749) "false" 331 ARG_LIST@[743; 750)
329 R_PAREN@[749; 750) ")" 332 L_PAREN@[743; 744) "("
330 SEMI@[750; 751) ";" 333 LITERAL@[744; 749)
331 WHITESPACE@[751; 756) "\n " 334 FALSE_KW@[744; 749) "false"
332 LET_STMT@[756; 778) 335 R_PAREN@[749; 750) ")"
333 LET_KW@[756; 759) "let" 336 SEMI@[750; 751) ";"
334 WHITESPACE@[759; 760) " " 337 WHITESPACE@[751; 756) "\n "
335 BIND_PAT@[760; 764) 338 LET_STMT@[756; 778)
336 NAME@[760; 764) 339 LET_KW@[756; 759) "let"
337 IDENT@[760; 764) "dont" 340 WHITESPACE@[759; 760) " "
338 WHITESPACE@[764; 765) " " 341 BIND_PAT@[760; 764)
339 EQ@[765; 766) "=" 342 NAME@[760; 764)
340 WHITESPACE@[766; 767) " " 343 IDENT@[760; 764) "dont"
341 BLOCK_EXPR@[767; 777) 344 WHITESPACE@[764; 765) " "
342 BLOCK@[767; 777) 345 EQ@[765; 766) "="
343 L_CURLY@[767; 768) "{" 346 WHITESPACE@[766; 767) " "
344 LAMBDA_EXPR@[768; 776) 347 BLOCK_EXPR@[767; 777)
345 PARAM_LIST@[768; 770) 348 BLOCK@[767; 777)
346 PIPE@[768; 769) "|" 349 L_CURLY@[767; 768) "{"
347 PIPE@[769; 770) "|" 350 LAMBDA_EXPR@[768; 776)
348 CALL_EXPR@[770; 776) 351 PARAM_LIST@[768; 770)
349 PATH_EXPR@[770; 773) 352 PIPE@[768; 769) "|"
350 PATH@[770; 773) 353 PIPE@[769; 770) "|"
351 PATH_SEGMENT@[770; 773) 354 CALL_EXPR@[770; 776)
352 NAME_REF@[770; 773) 355 PATH_EXPR@[770; 773)
353 IDENT@[770; 773) "the" 356 PATH@[770; 773)
354 ARG_LIST@[773; 776) 357 PATH_SEGMENT@[770; 773)
355 L_PAREN@[773; 774) "(" 358 NAME_REF@[770; 773)
356 PATH_EXPR@[774; 775) 359 IDENT@[770; 773) "the"
357 PATH@[774; 775) 360 ARG_LIST@[773; 776)
358 PATH_SEGMENT@[774; 775) 361 L_PAREN@[773; 774) "("
359 NAME_REF@[774; 775) 362 PATH_EXPR@[774; 775)
360 IDENT@[774; 775) "i" 363 PATH@[774; 775)
361 R_PAREN@[775; 776) ")" 364 PATH_SEGMENT@[774; 775)
362 R_CURLY@[776; 777) "}" 365 NAME_REF@[774; 775)
363 SEMI@[777; 778) ";" 366 IDENT@[774; 775) "i"
364 WHITESPACE@[778; 783) "\n " 367 R_PAREN@[775; 776) ")"
365 EXPR_STMT@[783; 790) 368 R_CURLY@[776; 777) "}"
366 CALL_EXPR@[783; 789) 369 SEMI@[777; 778) ";"
367 PATH_EXPR@[783; 787) 370 WHITESPACE@[778; 783) "\n "
368 PATH@[783; 787) 371 EXPR_STMT@[783; 790)
369 PATH_SEGMENT@[783; 787) 372 CALL_EXPR@[783; 789)
370 NAME_REF@[783; 787) 373 PATH_EXPR@[783; 787)
371 IDENT@[783; 787) "dont" 374 PATH@[783; 787)
372 ARG_LIST@[787; 789) 375 PATH_SEGMENT@[783; 787)
373 L_PAREN@[787; 788) "(" 376 NAME_REF@[783; 787)
374 R_PAREN@[788; 789) ")" 377 IDENT@[783; 787) "dont"
375 SEMI@[789; 790) ";" 378 ARG_LIST@[787; 789)
376 WHITESPACE@[790; 795) "\n " 379 L_PAREN@[787; 788) "("
377 EXPR_STMT@[795; 814) 380 R_PAREN@[788; 789) ")"
378 MACRO_CALL@[795; 813) 381 SEMI@[789; 790) ";"
379 PATH@[795; 801) 382 WHITESPACE@[790; 795) "\n "
380 PATH_SEGMENT@[795; 801) 383 EXPR_STMT@[795; 814)
381 NAME_REF@[795; 801) 384 MACRO_CALL@[795; 813)
382 IDENT@[795; 801) "assert" 385 PATH@[795; 801)
383 EXCL@[801; 802) "!" 386 PATH_SEGMENT@[795; 801)
384 TOKEN_TREE@[802; 813) 387 NAME_REF@[795; 801)
385 L_PAREN@[802; 803) "(" 388 IDENT@[795; 801) "assert"
386 TOKEN_TREE@[803; 812) 389 EXCL@[801; 802) "!"
387 L_PAREN@[803; 804) "(" 390 TOKEN_TREE@[802; 813)
388 IDENT@[804; 805) "i" 391 L_PAREN@[802; 803) "("
389 DOT@[805; 806) "." 392 TOKEN_TREE@[803; 812)
390 IDENT@[806; 809) "get" 393 L_PAREN@[803; 804) "("
391 TOKEN_TREE@[809; 811) 394 IDENT@[804; 805) "i"
392 L_PAREN@[809; 810) "(" 395 DOT@[805; 806) "."
393 R_PAREN@[810; 811) ")" 396 IDENT@[806; 809) "get"
394 R_PAREN@[811; 812) ")" 397 TOKEN_TREE@[809; 811)
395 R_PAREN@[812; 813) ")" 398 L_PAREN@[809; 810) "("
396 SEMI@[813; 814) ";" 399 R_PAREN@[810; 811) ")"
397 WHITESPACE@[814; 815) "\n" 400 R_PAREN@[811; 812) ")"
398 R_CURLY@[815; 816) "}" 401 R_PAREN@[812; 813) ")"
402 SEMI@[813; 814) ";"
403 WHITESPACE@[814; 815) "\n"
404 R_CURLY@[815; 816) "}"
399 WHITESPACE@[816; 818) "\n\n" 405 WHITESPACE@[816; 818) "\n\n"
400 FN_DEF@[818; 1322) 406 FN_DEF@[818; 1322)
401 FN_KW@[818; 820) "fn" 407 FN_KW@[818; 820) "fn"
@@ -406,163 +412,171 @@ SOURCE_FILE@[0; 3813)
406 L_PAREN@[832; 833) "(" 412 L_PAREN@[832; 833) "("
407 R_PAREN@[833; 834) ")" 413 R_PAREN@[833; 834) ")"
408 WHITESPACE@[834; 835) " " 414 WHITESPACE@[834; 835) " "
409 BLOCK@[835; 1322) 415 BLOCK_EXPR@[835; 1322)
410 L_CURLY@[835; 836) "{" 416 BLOCK@[835; 1322)
411 WHITESPACE@[836; 841) "\n " 417 L_CURLY@[835; 836) "{"
412 LOOP_EXPR@[841; 1320) 418 WHITESPACE@[836; 841) "\n "
413 LOOP_KW@[841; 845) "loop" 419 LOOP_EXPR@[841; 1320)
414 WHITESPACE@[845; 846) " " 420 LOOP_KW@[841; 845) "loop"
415 BLOCK@[846; 1320) 421 WHITESPACE@[845; 846) " "
416 L_CURLY@[846; 847) "{" 422 BLOCK_EXPR@[846; 1320)
417 WHITESPACE@[847; 856) "\n " 423 BLOCK@[846; 1320)
418 EXPR_STMT@[856; 1283) 424 L_CURLY@[846; 847) "{"
419 WHILE_EXPR@[856; 1283) 425 WHITESPACE@[847; 856) "\n "
420 WHILE_KW@[856; 861) "while" 426 EXPR_STMT@[856; 1283)
421 WHITESPACE@[861; 862) " " 427 WHILE_EXPR@[856; 1283)
422 CONDITION@[862; 870) 428 WHILE_KW@[856; 861) "while"
423 PAREN_EXPR@[862; 870) 429 WHITESPACE@[861; 862) " "
424 L_PAREN@[862; 863) "(" 430 CONDITION@[862; 870)
425 RETURN_EXPR@[863; 869) 431 PAREN_EXPR@[862; 870)
426 RETURN_KW@[863; 869) "return" 432 L_PAREN@[862; 863) "("
427 R_PAREN@[869; 870) ")" 433 RETURN_EXPR@[863; 869)
428 WHITESPACE@[870; 871) " " 434 RETURN_KW@[863; 869) "return"
429 BLOCK@[871; 1283) 435 R_PAREN@[869; 870) ")"
430 L_CURLY@[871; 872) "{" 436 WHITESPACE@[870; 871) " "
431 WHITESPACE@[872; 885) "\n " 437 BLOCK_EXPR@[871; 1283)
432 IF_EXPR@[885; 1273) 438 BLOCK@[871; 1283)
433 IF_KW@[885; 887) "if" 439 L_CURLY@[871; 872) "{"
434 WHITESPACE@[887; 888) " " 440 WHITESPACE@[872; 885) "\n "
435 CONDITION@[888; 896) 441 IF_EXPR@[885; 1273)
436 PAREN_EXPR@[888; 896) 442 IF_KW@[885; 887) "if"
437 L_PAREN@[888; 889) "(" 443 WHITESPACE@[887; 888) " "
438 RETURN_EXPR@[889; 895) 444 CONDITION@[888; 896)
439 RETURN_KW@[889; 895) "return" 445 PAREN_EXPR@[888; 896)
440 R_PAREN@[895; 896) ")" 446 L_PAREN@[888; 889) "("
441 WHITESPACE@[896; 897) " " 447 RETURN_EXPR@[889; 895)
442 BLOCK@[897; 1216) 448 RETURN_KW@[889; 895) "return"
443 L_CURLY@[897; 898) "{" 449 R_PAREN@[895; 896) ")"
444 WHITESPACE@[898; 915) "\n " 450 WHITESPACE@[896; 897) " "
445 EXPR_STMT@[915; 1202) 451 BLOCK_EXPR@[897; 1216)
446 MATCH_EXPR@[915; 1201) 452 BLOCK@[897; 1216)
447 MATCH_KW@[915; 920) "match" 453 L_CURLY@[897; 898) "{"
448 WHITESPACE@[920; 921) " " 454 WHITESPACE@[898; 915) "\n "
449 PAREN_EXPR@[921; 929) 455 EXPR_STMT@[915; 1202)
450 L_PAREN@[921; 922) "(" 456 MATCH_EXPR@[915; 1201)
451 RETURN_EXPR@[922; 928) 457 MATCH_KW@[915; 920) "match"
452 RETURN_KW@[922; 928) "return" 458 WHITESPACE@[920; 921) " "
453 R_PAREN@[928; 929) ")" 459 PAREN_EXPR@[921; 929)
454 WHITESPACE@[929; 930) " " 460 L_PAREN@[921; 922) "("
455 MATCH_ARM_LIST@[930; 1201) 461 RETURN_EXPR@[922; 928)
456 L_CURLY@[930; 931) "{" 462 RETURN_KW@[922; 928) "return"
457 WHITESPACE@[931; 952) "\n " 463 R_PAREN@[928; 929) ")"
458 MATCH_ARM@[952; 1147) 464 WHITESPACE@[929; 930) " "
459 LITERAL_PAT@[952; 953) 465 MATCH_ARM_LIST@[930; 1201)
460 LITERAL@[952; 953) 466 L_CURLY@[930; 931) "{"
461 INT_NUMBER@[952; 953) "1" 467 WHITESPACE@[931; 952) "\n "
462 WHITESPACE@[953; 954) " " 468 MATCH_ARM@[952; 1147)
463 FAT_ARROW@[954; 956) "=>" 469 LITERAL_PAT@[952; 953)
464 WHITESPACE@[956; 957) " " 470 LITERAL@[952; 953)
465 BLOCK_EXPR@[957; 1147) 471 INT_NUMBER@[952; 953) "1"
466 BLOCK@[957; 1147) 472 WHITESPACE@[953; 954) " "
467 L_CURLY@[957; 958) "{" 473 FAT_ARROW@[954; 956) "=>"
468 WHITESPACE@[958; 983) "\n ..." 474 WHITESPACE@[956; 957) " "
469 IF_EXPR@[983; 1125) 475 BLOCK_EXPR@[957; 1147)
470 IF_KW@[983; 985) "if" 476 BLOCK@[957; 1147)
471 WHITESPACE@[985; 986) " " 477 L_CURLY@[957; 958) "{"
472 CONDITION@[986; 994) 478 WHITESPACE@[958; 983) "\n ..."
473 PAREN_EXPR@[986; 994) 479 IF_EXPR@[983; 1125)
474 L_PAREN@[986; 987) "(" 480 IF_KW@[983; 985) "if"
475 RETURN_EXPR@[987; 993) 481 WHITESPACE@[985; 986) " "
476 RETURN_KW@[987; 993) "return" 482 CONDITION@[986; 994)
477 R_PAREN@[993; 994) ")" 483 PAREN_EXPR@[986; 994)
478 WHITESPACE@[994; 995) " " 484 L_PAREN@[986; 987) "("
479 BLOCK@[995; 1057) 485 RETURN_EXPR@[987; 993)
480 L_CURLY@[995; 996) "{" 486 RETURN_KW@[987; 993) "return"
481 WHITESPACE@[996; 1025) "\n ..." 487 R_PAREN@[993; 994) ")"
482 RETURN_EXPR@[1025; 1031) 488 WHITESPACE@[994; 995) " "
483 RETURN_KW@[1025; 1031) "return" 489 BLOCK_EXPR@[995; 1057)
484 WHITESPACE@[1031; 1056) "\n ..." 490 BLOCK@[995; 1057)
485 R_CURLY@[1056; 1057) "}" 491 L_CURLY@[995; 996) "{"
486 WHITESPACE@[1057; 1058) " " 492 WHITESPACE@[996; 1025) "\n ..."
487 ELSE_KW@[1058; 1062) "else" 493 RETURN_EXPR@[1025; 1031)
488 WHITESPACE@[1062; 1063) " " 494 RETURN_KW@[1025; 1031) "return"
489 BLOCK@[1063; 1125) 495 WHITESPACE@[1031; 1056) "\n ..."
490 L_CURLY@[1063; 1064) "{" 496 R_CURLY@[1056; 1057) "}"
491 WHITESPACE@[1064; 1093) "\n ..." 497 WHITESPACE@[1057; 1058) " "
492 RETURN_EXPR@[1093; 1099) 498 ELSE_KW@[1058; 1062) "else"
493 RETURN_KW@[1093; 1099) "return" 499 WHITESPACE@[1062; 1063) " "
494 WHITESPACE@[1099; 1124) "\n ..." 500 BLOCK_EXPR@[1063; 1125)
495 R_CURLY@[1124; 1125) "}" 501 BLOCK@[1063; 1125)
496 WHITESPACE@[1125; 1146) "\n " 502 L_CURLY@[1063; 1064) "{"
497 R_CURLY@[1146; 1147) "}" 503 WHITESPACE@[1064; 1093) "\n ..."
498 WHITESPACE@[1147; 1168) "\n " 504 RETURN_EXPR@[1093; 1099)
499 MATCH_ARM@[1168; 1183) 505 RETURN_KW@[1093; 1099) "return"
500 PLACEHOLDER_PAT@[1168; 1169) 506 WHITESPACE@[1099; 1124) "\n ..."
501 UNDERSCORE@[1168; 1169) "_" 507 R_CURLY@[1124; 1125) "}"
502 WHITESPACE@[1169; 1170) " " 508 WHITESPACE@[1125; 1146) "\n "
503 FAT_ARROW@[1170; 1172) "=>" 509 R_CURLY@[1146; 1147) "}"
504 WHITESPACE@[1172; 1173) " " 510 WHITESPACE@[1147; 1168) "\n "
505 BLOCK_EXPR@[1173; 1183) 511 MATCH_ARM@[1168; 1183)
506 BLOCK@[1173; 1183) 512 PLACEHOLDER_PAT@[1168; 1169)
507 L_CURLY@[1173; 1174) "{" 513 UNDERSCORE@[1168; 1169) "_"
508 WHITESPACE@[1174; 1175) " " 514 WHITESPACE@[1169; 1170) " "
509 RETURN_EXPR@[1175; 1181) 515 FAT_ARROW@[1170; 1172) "=>"
510 RETURN_KW@[1175; 1181) "return" 516 WHITESPACE@[1172; 1173) " "
511 WHITESPACE@[1181; 1182) " " 517 BLOCK_EXPR@[1173; 1183)
512 R_CURLY@[1182; 1183) "}" 518 BLOCK@[1173; 1183)
513 WHITESPACE@[1183; 1200) "\n " 519 L_CURLY@[1173; 1174) "{"
514 R_CURLY@[1200; 1201) "}" 520 WHITESPACE@[1174; 1175) " "
515 SEMI@[1201; 1202) ";" 521 RETURN_EXPR@[1175; 1181)
516 WHITESPACE@[1202; 1215) "\n " 522 RETURN_KW@[1175; 1181) "return"
517 R_CURLY@[1215; 1216) "}" 523 WHITESPACE@[1181; 1182) " "
518 WHITESPACE@[1216; 1217) " " 524 R_CURLY@[1182; 1183) "}"
519 ELSE_KW@[1217; 1221) "else" 525 WHITESPACE@[1183; 1200) "\n "
520 WHITESPACE@[1221; 1222) " " 526 R_CURLY@[1200; 1201) "}"
521 IF_EXPR@[1222; 1273) 527 SEMI@[1201; 1202) ";"
522 IF_KW@[1222; 1224) "if" 528 WHITESPACE@[1202; 1215) "\n "
523 WHITESPACE@[1224; 1225) " " 529 R_CURLY@[1215; 1216) "}"
524 CONDITION@[1225; 1233) 530 WHITESPACE@[1216; 1217) " "
525 PAREN_EXPR@[1225; 1233) 531 ELSE_KW@[1217; 1221) "else"
526 L_PAREN@[1225; 1226) "(" 532 WHITESPACE@[1221; 1222) " "
527 RETURN_EXPR@[1226; 1232) 533 IF_EXPR@[1222; 1273)
528 RETURN_KW@[1226; 1232) "return" 534 IF_KW@[1222; 1224) "if"
529 R_PAREN@[1232; 1233) ")" 535 WHITESPACE@[1224; 1225) " "
530 WHITESPACE@[1233; 1234) " " 536 CONDITION@[1225; 1233)
531 BLOCK@[1234; 1273) 537 PAREN_EXPR@[1225; 1233)
532 L_CURLY@[1234; 1235) "{" 538 L_PAREN@[1225; 1226) "("
533 WHITESPACE@[1235; 1252) "\n " 539 RETURN_EXPR@[1226; 1232)
534 EXPR_STMT@[1252; 1259) 540 RETURN_KW@[1226; 1232) "return"
535 RETURN_EXPR@[1252; 1258) 541 R_PAREN@[1232; 1233) ")"
536 RETURN_KW@[1252; 1258) "return" 542 WHITESPACE@[1233; 1234) " "
537 SEMI@[1258; 1259) ";" 543 BLOCK_EXPR@[1234; 1273)
538 WHITESPACE@[1259; 1272) "\n " 544 BLOCK@[1234; 1273)
539 R_CURLY@[1272; 1273) "}" 545 L_CURLY@[1234; 1235) "{"
540 WHITESPACE@[1273; 1282) "\n " 546 WHITESPACE@[1235; 1252) "\n "
541 R_CURLY@[1282; 1283) "}" 547 EXPR_STMT@[1252; 1259)
542 WHITESPACE@[1283; 1292) "\n " 548 RETURN_EXPR@[1252; 1258)
543 IF_EXPR@[1292; 1314) 549 RETURN_KW@[1252; 1258) "return"
544 IF_KW@[1292; 1294) "if" 550 SEMI@[1258; 1259) ";"
545 WHITESPACE@[1294; 1295) " " 551 WHITESPACE@[1259; 1272) "\n "
546 CONDITION@[1295; 1303) 552 R_CURLY@[1272; 1273) "}"
547 PAREN_EXPR@[1295; 1303) 553 WHITESPACE@[1273; 1282) "\n "
548 L_PAREN@[1295; 1296) "(" 554 R_CURLY@[1282; 1283) "}"
549 RETURN_EXPR@[1296; 1302) 555 WHITESPACE@[1283; 1292) "\n "
550 RETURN_KW@[1296; 1302) "return" 556 IF_EXPR@[1292; 1314)
551 R_PAREN@[1302; 1303) ")" 557 IF_KW@[1292; 1294) "if"
552 WHITESPACE@[1303; 1304) " " 558 WHITESPACE@[1294; 1295) " "
553 BLOCK@[1304; 1314) 559 CONDITION@[1295; 1303)
554 L_CURLY@[1304; 1305) "{" 560 PAREN_EXPR@[1295; 1303)
555 WHITESPACE@[1305; 1306) " " 561 L_PAREN@[1295; 1296) "("
556 EXPR_STMT@[1306; 1312) 562 RETURN_EXPR@[1296; 1302)
557 BREAK_EXPR@[1306; 1311) 563 RETURN_KW@[1296; 1302) "return"
558 BREAK_KW@[1306; 1311) "break" 564 R_PAREN@[1302; 1303) ")"
559 SEMI@[1311; 1312) ";" 565 WHITESPACE@[1303; 1304) " "
560 WHITESPACE@[1312; 1313) " " 566 BLOCK_EXPR@[1304; 1314)
561 R_CURLY@[1313; 1314) "}" 567 BLOCK@[1304; 1314)
562 WHITESPACE@[1314; 1319) "\n " 568 L_CURLY@[1304; 1305) "{"
563 R_CURLY@[1319; 1320) "}" 569 WHITESPACE@[1305; 1306) " "
564 WHITESPACE@[1320; 1321) "\n" 570 EXPR_STMT@[1306; 1312)
565 R_CURLY@[1321; 1322) "}" 571 BREAK_EXPR@[1306; 1311)
572 BREAK_KW@[1306; 1311) "break"
573 SEMI@[1311; 1312) ";"
574 WHITESPACE@[1312; 1313) " "
575 R_CURLY@[1313; 1314) "}"
576 WHITESPACE@[1314; 1319) "\n "
577 R_CURLY@[1319; 1320) "}"
578 WHITESPACE@[1320; 1321) "\n"
579 R_CURLY@[1321; 1322) "}"
566 WHITESPACE@[1322; 1324) "\n\n" 580 WHITESPACE@[1322; 1324) "\n\n"
567 FN_DEF@[1324; 1539) 581 FN_DEF@[1324; 1539)
568 FN_KW@[1324; 1326) "fn" 582 FN_KW@[1324; 1326) "fn"
@@ -573,233 +587,234 @@ SOURCE_FILE@[0; 3813)
573 L_PAREN@[1334; 1335) "(" 587 L_PAREN@[1334; 1335) "("
574 R_PAREN@[1335; 1336) ")" 588 R_PAREN@[1335; 1336) ")"
575 WHITESPACE@[1336; 1337) " " 589 WHITESPACE@[1336; 1337) " "
576 BLOCK@[1337; 1539) 590 BLOCK_EXPR@[1337; 1539)
577 L_CURLY@[1337; 1338) "{" 591 BLOCK@[1337; 1539)
578 WHITESPACE@[1338; 1343) "\n " 592 L_CURLY@[1337; 1338) "{"
579 LET_STMT@[1343; 1361) 593 WHITESPACE@[1338; 1343) "\n "
580 LET_KW@[1343; 1346) "let" 594 LET_STMT@[1343; 1361)
581 WHITESPACE@[1346; 1347) " " 595 LET_KW@[1343; 1346) "let"
582 BIND_PAT@[1347; 1353) 596 WHITESPACE@[1346; 1347) " "
583 MUT_KW@[1347; 1350) "mut" 597 BIND_PAT@[1347; 1353)
584 WHITESPACE@[1350; 1351) " " 598 MUT_KW@[1347; 1350) "mut"
585 NAME@[1351; 1353) 599 WHITESPACE@[1350; 1351) " "
586 IDENT@[1351; 1353) "_x" 600 NAME@[1351; 1353)
587 COLON@[1353; 1354) ":" 601 IDENT@[1351; 1353) "_x"
588 WHITESPACE@[1354; 1355) " " 602 COLON@[1353; 1354) ":"
589 PATH_TYPE@[1355; 1360) 603 WHITESPACE@[1354; 1355) " "
590 PATH@[1355; 1360) 604 PATH_TYPE@[1355; 1360)
591 PATH_SEGMENT@[1355; 1360) 605 PATH@[1355; 1360)
592 NAME_REF@[1355; 1360) 606 PATH_SEGMENT@[1355; 1360)
593 IDENT@[1355; 1360) "isize" 607 NAME_REF@[1355; 1360)
594 SEMI@[1360; 1361) ";" 608 IDENT@[1355; 1360) "isize"
595 WHITESPACE@[1361; 1366) "\n " 609 SEMI@[1360; 1361) ";"
596 LET_STMT@[1366; 1400) 610 WHITESPACE@[1361; 1366) "\n "
597 LET_KW@[1366; 1369) "let" 611 LET_STMT@[1366; 1400)
598 WHITESPACE@[1369; 1370) " " 612 LET_KW@[1366; 1369) "let"
599 BIND_PAT@[1370; 1376) 613 WHITESPACE@[1369; 1370) " "
600 MUT_KW@[1370; 1373) "mut" 614 BIND_PAT@[1370; 1376)
601 WHITESPACE@[1373; 1374) " " 615 MUT_KW@[1370; 1373) "mut"
602 NAME@[1374; 1376) 616 WHITESPACE@[1373; 1374) " "
603 IDENT@[1374; 1376) "_y" 617 NAME@[1374; 1376)
604 WHITESPACE@[1376; 1377) " " 618 IDENT@[1374; 1376) "_y"
605 EQ@[1377; 1378) "=" 619 WHITESPACE@[1376; 1377) " "
606 WHITESPACE@[1378; 1379) " " 620 EQ@[1377; 1378) "="
607 BIN_EXPR@[1379; 1399) 621 WHITESPACE@[1378; 1379) " "
608 PAREN_EXPR@[1379; 1387) 622 BIN_EXPR@[1379; 1399)
609 L_PAREN@[1379; 1380) "(" 623 PAREN_EXPR@[1379; 1387)
610 BIN_EXPR@[1380; 1386) 624 L_PAREN@[1379; 1380) "("
611 PATH_EXPR@[1380; 1382) 625 BIN_EXPR@[1380; 1386)
612 PATH@[1380; 1382) 626 PATH_EXPR@[1380; 1382)
613 PATH_SEGMENT@[1380; 1382) 627 PATH@[1380; 1382)
614 NAME_REF@[1380; 1382) 628 PATH_SEGMENT@[1380; 1382)
615 IDENT@[1380; 1382) "_x" 629 NAME_REF@[1380; 1382)
616 WHITESPACE@[1382; 1383) " " 630 IDENT@[1380; 1382) "_x"
617 EQ@[1383; 1384) "=" 631 WHITESPACE@[1382; 1383) " "
618 WHITESPACE@[1384; 1385) " " 632 EQ@[1383; 1384) "="
619 LITERAL@[1385; 1386) 633 WHITESPACE@[1384; 1385) " "
620 INT_NUMBER@[1385; 1386) "0" 634 LITERAL@[1385; 1386)
621 R_PAREN@[1386; 1387) ")" 635 INT_NUMBER@[1385; 1386) "0"
622 WHITESPACE@[1387; 1388) " " 636 R_PAREN@[1386; 1387) ")"
623 EQEQ@[1388; 1390) "==" 637 WHITESPACE@[1387; 1388) " "
624 WHITESPACE@[1390; 1391) " " 638 EQEQ@[1388; 1390) "=="
625 PAREN_EXPR@[1391; 1399) 639 WHITESPACE@[1390; 1391) " "
626 L_PAREN@[1391; 1392) "(" 640 PAREN_EXPR@[1391; 1399)
627 BIN_EXPR@[1392; 1398) 641 L_PAREN@[1391; 1392) "("
628 PATH_EXPR@[1392; 1394) 642 BIN_EXPR@[1392; 1398)
629 PATH@[1392; 1394) 643 PATH_EXPR@[1392; 1394)
630 PATH_SEGMENT@[1392; 1394) 644 PATH@[1392; 1394)
631 NAME_REF@[1392; 1394) 645 PATH_SEGMENT@[1392; 1394)
632 IDENT@[1392; 1394) "_x" 646 NAME_REF@[1392; 1394)
633 WHITESPACE@[1394; 1395) " " 647 IDENT@[1392; 1394) "_x"
634 EQ@[1395; 1396) "=" 648 WHITESPACE@[1394; 1395) " "
635 WHITESPACE@[1396; 1397) " " 649 EQ@[1395; 1396) "="
636 LITERAL@[1397; 1398) 650 WHITESPACE@[1396; 1397) " "
637 INT_NUMBER@[1397; 1398) "0" 651 LITERAL@[1397; 1398)
638 R_PAREN@[1398; 1399) ")" 652 INT_NUMBER@[1397; 1398) "0"
639 SEMI@[1399; 1400) ";" 653 R_PAREN@[1398; 1399) ")"
640 WHITESPACE@[1400; 1405) "\n " 654 SEMI@[1399; 1400) ";"
641 LET_STMT@[1405; 1438) 655 WHITESPACE@[1400; 1405) "\n "
642 LET_KW@[1405; 1408) "let" 656 LET_STMT@[1405; 1438)
643 WHITESPACE@[1408; 1409) " " 657 LET_KW@[1405; 1408) "let"
644 BIND_PAT@[1409; 1415) 658 WHITESPACE@[1408; 1409) " "
645 MUT_KW@[1409; 1412) "mut" 659 BIND_PAT@[1409; 1415)
646 WHITESPACE@[1412; 1413) " " 660 MUT_KW@[1409; 1412) "mut"
647 NAME@[1413; 1415) 661 WHITESPACE@[1412; 1413) " "
648 IDENT@[1413; 1415) "_z" 662 NAME@[1413; 1415)
649 WHITESPACE@[1415; 1416) " " 663 IDENT@[1413; 1415) "_z"
650 EQ@[1416; 1417) "=" 664 WHITESPACE@[1415; 1416) " "
651 WHITESPACE@[1417; 1418) " " 665 EQ@[1416; 1417) "="
652 BIN_EXPR@[1418; 1437) 666 WHITESPACE@[1417; 1418) " "
653 PAREN_EXPR@[1418; 1426) 667 BIN_EXPR@[1418; 1437)
654 L_PAREN@[1418; 1419) "(" 668 PAREN_EXPR@[1418; 1426)
655 BIN_EXPR@[1419; 1425) 669 L_PAREN@[1418; 1419) "("
656 PATH_EXPR@[1419; 1421) 670 BIN_EXPR@[1419; 1425)
657 PATH@[1419; 1421) 671 PATH_EXPR@[1419; 1421)
658 PATH_SEGMENT@[1419; 1421) 672 PATH@[1419; 1421)
659 NAME_REF@[1419; 1421) 673 PATH_SEGMENT@[1419; 1421)
660 IDENT@[1419; 1421) "_x" 674 NAME_REF@[1419; 1421)
661 WHITESPACE@[1421; 1422) " " 675 IDENT@[1419; 1421) "_x"
662 EQ@[1422; 1423) "=" 676 WHITESPACE@[1421; 1422) " "
663 WHITESPACE@[1423; 1424) " " 677 EQ@[1422; 1423) "="
664 LITERAL@[1424; 1425) 678 WHITESPACE@[1423; 1424) " "
665 INT_NUMBER@[1424; 1425) "0" 679 LITERAL@[1424; 1425)
666 R_PAREN@[1425; 1426) ")" 680 INT_NUMBER@[1424; 1425) "0"
667 WHITESPACE@[1426; 1427) " " 681 R_PAREN@[1425; 1426) ")"
668 L_ANGLE@[1427; 1428) "<" 682 WHITESPACE@[1426; 1427) " "
669 WHITESPACE@[1428; 1429) " " 683 L_ANGLE@[1427; 1428) "<"
670 PAREN_EXPR@[1429; 1437) 684 WHITESPACE@[1428; 1429) " "
671 L_PAREN@[1429; 1430) "(" 685 PAREN_EXPR@[1429; 1437)
672 BIN_EXPR@[1430; 1436) 686 L_PAREN@[1429; 1430) "("
673 PATH_EXPR@[1430; 1432) 687 BIN_EXPR@[1430; 1436)
674 PATH@[1430; 1432) 688 PATH_EXPR@[1430; 1432)
675 PATH_SEGMENT@[1430; 1432) 689 PATH@[1430; 1432)
676 NAME_REF@[1430; 1432) 690 PATH_SEGMENT@[1430; 1432)
677 IDENT@[1430; 1432) "_x" 691 NAME_REF@[1430; 1432)
678 WHITESPACE@[1432; 1433) " " 692 IDENT@[1430; 1432) "_x"
679 EQ@[1433; 1434) "=" 693 WHITESPACE@[1432; 1433) " "
680 WHITESPACE@[1434; 1435) " " 694 EQ@[1433; 1434) "="
681 LITERAL@[1435; 1436) 695 WHITESPACE@[1434; 1435) " "
682 INT_NUMBER@[1435; 1436) "0" 696 LITERAL@[1435; 1436)
683 R_PAREN@[1436; 1437) ")" 697 INT_NUMBER@[1435; 1436) "0"
684 SEMI@[1437; 1438) ";" 698 R_PAREN@[1436; 1437) ")"
685 WHITESPACE@[1438; 1443) "\n " 699 SEMI@[1437; 1438) ";"
686 LET_STMT@[1443; 1474) 700 WHITESPACE@[1438; 1443) "\n "
687 LET_KW@[1443; 1446) "let" 701 LET_STMT@[1443; 1474)
688 WHITESPACE@[1446; 1447) " " 702 LET_KW@[1443; 1446) "let"
689 BIND_PAT@[1447; 1449) 703 WHITESPACE@[1446; 1447) " "
690 NAME@[1447; 1449) 704 BIND_PAT@[1447; 1449)
691 IDENT@[1447; 1449) "_a" 705 NAME@[1447; 1449)
692 WHITESPACE@[1449; 1450) " " 706 IDENT@[1447; 1449) "_a"
693 EQ@[1450; 1451) "=" 707 WHITESPACE@[1449; 1450) " "
694 WHITESPACE@[1451; 1452) " " 708 EQ@[1450; 1451) "="
695 BIN_EXPR@[1452; 1473) 709 WHITESPACE@[1451; 1452) " "
696 PAREN_EXPR@[1452; 1461) 710 BIN_EXPR@[1452; 1473)
697 L_PAREN@[1452; 1453) "(" 711 PAREN_EXPR@[1452; 1461)
698 BIN_EXPR@[1453; 1460) 712 L_PAREN@[1452; 1453) "("
699 PATH_EXPR@[1453; 1455) 713 BIN_EXPR@[1453; 1460)
700 PATH@[1453; 1455) 714 PATH_EXPR@[1453; 1455)
701 PATH_SEGMENT@[1453; 1455) 715 PATH@[1453; 1455)
702 NAME_REF@[1453; 1455) 716 PATH_SEGMENT@[1453; 1455)
703 IDENT@[1453; 1455) "_x" 717 NAME_REF@[1453; 1455)
704 WHITESPACE@[1455; 1456) " " 718 IDENT@[1453; 1455) "_x"
705 PLUSEQ@[1456; 1458) "+=" 719 WHITESPACE@[1455; 1456) " "
706 WHITESPACE@[1458; 1459) " " 720 PLUSEQ@[1456; 1458) "+="
707 LITERAL@[1459; 1460) 721 WHITESPACE@[1458; 1459) " "
708 INT_NUMBER@[1459; 1460) "0" 722 LITERAL@[1459; 1460)
709 R_PAREN@[1460; 1461) ")" 723 INT_NUMBER@[1459; 1460) "0"
710 WHITESPACE@[1461; 1462) " " 724 R_PAREN@[1460; 1461) ")"
711 EQEQ@[1462; 1464) "==" 725 WHITESPACE@[1461; 1462) " "
712 WHITESPACE@[1464; 1465) " " 726 EQEQ@[1462; 1464) "=="
713 PAREN_EXPR@[1465; 1473) 727 WHITESPACE@[1464; 1465) " "
714 L_PAREN@[1465; 1466) "(" 728 PAREN_EXPR@[1465; 1473)
715 BIN_EXPR@[1466; 1472) 729 L_PAREN@[1465; 1466) "("
716 PATH_EXPR@[1466; 1468) 730 BIN_EXPR@[1466; 1472)
717 PATH@[1466; 1468) 731 PATH_EXPR@[1466; 1468)
718 PATH_SEGMENT@[1466; 1468) 732 PATH@[1466; 1468)
719 NAME_REF@[1466; 1468) 733 PATH_SEGMENT@[1466; 1468)
720 IDENT@[1466; 1468) "_x" 734 NAME_REF@[1466; 1468)
721 WHITESPACE@[1468; 1469) " " 735 IDENT@[1466; 1468) "_x"
722 EQ@[1469; 1470) "=" 736 WHITESPACE@[1468; 1469) " "
723 WHITESPACE@[1470; 1471) " " 737 EQ@[1469; 1470) "="
724 LITERAL@[1471; 1472) 738 WHITESPACE@[1470; 1471) " "
725 INT_NUMBER@[1471; 1472) "0" 739 LITERAL@[1471; 1472)
726 R_PAREN@[1472; 1473) ")" 740 INT_NUMBER@[1471; 1472) "0"
727 SEMI@[1473; 1474) ";" 741 R_PAREN@[1472; 1473) ")"
728 WHITESPACE@[1474; 1479) "\n " 742 SEMI@[1473; 1474) ";"
729 LET_STMT@[1479; 1537) 743 WHITESPACE@[1474; 1479) "\n "
730 LET_KW@[1479; 1482) "let" 744 LET_STMT@[1479; 1537)
731 WHITESPACE@[1482; 1483) " " 745 LET_KW@[1479; 1482) "let"
732 BIND_PAT@[1483; 1485) 746 WHITESPACE@[1482; 1483) " "
733 NAME@[1483; 1485) 747 BIND_PAT@[1483; 1485)
734 IDENT@[1483; 1485) "_b" 748 NAME@[1483; 1485)
735 WHITESPACE@[1485; 1486) " " 749 IDENT@[1483; 1485) "_b"
736 EQ@[1486; 1487) "=" 750 WHITESPACE@[1485; 1486) " "
737 WHITESPACE@[1487; 1488) " " 751 EQ@[1486; 1487) "="
738 BIN_EXPR@[1488; 1536) 752 WHITESPACE@[1487; 1488) " "
739 CALL_EXPR@[1488; 1510) 753 BIN_EXPR@[1488; 1536)
740 PATH_EXPR@[1488; 1492) 754 CALL_EXPR@[1488; 1510)
741 PATH@[1488; 1492) 755 PATH_EXPR@[1488; 1492)
742 PATH_SEGMENT@[1488; 1492) 756 PATH@[1488; 1492)
743 NAME_REF@[1488; 1492) 757 PATH_SEGMENT@[1488; 1492)
744 IDENT@[1488; 1492) "swap" 758 NAME_REF@[1488; 1492)
745 ARG_LIST@[1492; 1510) 759 IDENT@[1488; 1492) "swap"
746 L_PAREN@[1492; 1493) "(" 760 ARG_LIST@[1492; 1510)
747 REF_EXPR@[1493; 1500) 761 L_PAREN@[1492; 1493) "("
748 AMP@[1493; 1494) "&" 762 REF_EXPR@[1493; 1500)
749 MUT_KW@[1494; 1497) "mut" 763 AMP@[1493; 1494) "&"
750 WHITESPACE@[1497; 1498) " " 764 MUT_KW@[1494; 1497) "mut"
751 PATH_EXPR@[1498; 1500) 765 WHITESPACE@[1497; 1498) " "
752 PATH@[1498; 1500) 766 PATH_EXPR@[1498; 1500)
753 PATH_SEGMENT@[1498; 1500) 767 PATH@[1498; 1500)
754 NAME_REF@[1498; 1500) 768 PATH_SEGMENT@[1498; 1500)
755 IDENT@[1498; 1500) "_y" 769 NAME_REF@[1498; 1500)
756 COMMA@[1500; 1501) "," 770 IDENT@[1498; 1500) "_y"
757 WHITESPACE@[1501; 1502) " " 771 COMMA@[1500; 1501) ","
758 REF_EXPR@[1502; 1509) 772 WHITESPACE@[1501; 1502) " "
759 AMP@[1502; 1503) "&" 773 REF_EXPR@[1502; 1509)
760 MUT_KW@[1503; 1506) "mut" 774 AMP@[1502; 1503) "&"
761 WHITESPACE@[1506; 1507) " " 775 MUT_KW@[1503; 1506) "mut"
762 PATH_EXPR@[1507; 1509) 776 WHITESPACE@[1506; 1507) " "
763 PATH@[1507; 1509) 777 PATH_EXPR@[1507; 1509)
764 PATH_SEGMENT@[1507; 1509) 778 PATH@[1507; 1509)
765 NAME_REF@[1507; 1509) 779 PATH_SEGMENT@[1507; 1509)
766 IDENT@[1507; 1509) "_z" 780 NAME_REF@[1507; 1509)
767 R_PAREN@[1509; 1510) ")" 781 IDENT@[1507; 1509) "_z"
768 WHITESPACE@[1510; 1511) " " 782 R_PAREN@[1509; 1510) ")"
769 EQEQ@[1511; 1513) "==" 783 WHITESPACE@[1510; 1511) " "
770 WHITESPACE@[1513; 1514) " " 784 EQEQ@[1511; 1513) "=="
771 CALL_EXPR@[1514; 1536) 785 WHITESPACE@[1513; 1514) " "
772 PATH_EXPR@[1514; 1518) 786 CALL_EXPR@[1514; 1536)
773 PATH@[1514; 1518) 787 PATH_EXPR@[1514; 1518)
774 PATH_SEGMENT@[1514; 1518) 788 PATH@[1514; 1518)
775 NAME_REF@[1514; 1518) 789 PATH_SEGMENT@[1514; 1518)
776 IDENT@[1514; 1518) "swap" 790 NAME_REF@[1514; 1518)
777 ARG_LIST@[1518; 1536) 791 IDENT@[1514; 1518) "swap"
778 L_PAREN@[1518; 1519) "(" 792 ARG_LIST@[1518; 1536)
779 REF_EXPR@[1519; 1526) 793 L_PAREN@[1518; 1519) "("
780 AMP@[1519; 1520) "&" 794 REF_EXPR@[1519; 1526)
781 MUT_KW@[1520; 1523) "mut" 795 AMP@[1519; 1520) "&"
782 WHITESPACE@[1523; 1524) " " 796 MUT_KW@[1520; 1523) "mut"
783 PATH_EXPR@[1524; 1526) 797 WHITESPACE@[1523; 1524) " "
784 PATH@[1524; 1526) 798 PATH_EXPR@[1524; 1526)
785 PATH_SEGMENT@[1524; 1526) 799 PATH@[1524; 1526)
786 NAME_REF@[1524; 1526) 800 PATH_SEGMENT@[1524; 1526)
787 IDENT@[1524; 1526) "_y" 801 NAME_REF@[1524; 1526)
788 COMMA@[1526; 1527) "," 802 IDENT@[1524; 1526) "_y"
789 WHITESPACE@[1527; 1528) " " 803 COMMA@[1526; 1527) ","
790 REF_EXPR@[1528; 1535) 804 WHITESPACE@[1527; 1528) " "
791 AMP@[1528; 1529) "&" 805 REF_EXPR@[1528; 1535)
792 MUT_KW@[1529; 1532) "mut" 806 AMP@[1528; 1529) "&"
793 WHITESPACE@[1532; 1533) " " 807 MUT_KW@[1529; 1532) "mut"
794 PATH_EXPR@[1533; 1535) 808 WHITESPACE@[1532; 1533) " "
795 PATH@[1533; 1535) 809 PATH_EXPR@[1533; 1535)
796 PATH_SEGMENT@[1533; 1535) 810 PATH@[1533; 1535)
797 NAME_REF@[1533; 1535) 811 PATH_SEGMENT@[1533; 1535)
798 IDENT@[1533; 1535) "_z" 812 NAME_REF@[1533; 1535)
799 R_PAREN@[1535; 1536) ")" 813 IDENT@[1533; 1535) "_z"
800 SEMI@[1536; 1537) ";" 814 R_PAREN@[1535; 1536) ")"
801 WHITESPACE@[1537; 1538) "\n" 815 SEMI@[1536; 1537) ";"
802 R_CURLY@[1538; 1539) "}" 816 WHITESPACE@[1537; 1538) "\n"
817 R_CURLY@[1538; 1539) "}"
803 WHITESPACE@[1539; 1541) "\n\n" 818 WHITESPACE@[1539; 1541) "\n\n"
804 FN_DEF@[1541; 1741) 819 FN_DEF@[1541; 1741)
805 FN_KW@[1541; 1543) "fn" 820 FN_KW@[1541; 1543) "fn"
@@ -819,166 +834,168 @@ SOURCE_FILE@[0; 3813)
819 NAME_REF@[1563; 1568) 834 NAME_REF@[1563; 1568)
820 IDENT@[1563; 1568) "usize" 835 IDENT@[1563; 1568) "usize"
821 WHITESPACE@[1568; 1569) " " 836 WHITESPACE@[1568; 1569) " "
822 BLOCK@[1569; 1741) 837 BLOCK_EXPR@[1569; 1741)
823 L_CURLY@[1569; 1570) "{" 838 BLOCK@[1569; 1741)
824 WHITESPACE@[1570; 1575) "\n " 839 L_CURLY@[1569; 1570) "{"
825 FN_DEF@[1575; 1598) 840 WHITESPACE@[1570; 1575) "\n "
826 FN_KW@[1575; 1577) "fn" 841 FN_DEF@[1575; 1598)
827 WHITESPACE@[1577; 1578) " " 842 FN_KW@[1575; 1577) "fn"
828 NAME@[1578; 1579) 843 WHITESPACE@[1577; 1578) " "
829 IDENT@[1578; 1579) "p" 844 NAME@[1578; 1579)
830 PARAM_LIST@[1579; 1581) 845 IDENT@[1578; 1579) "p"
831 L_PAREN@[1579; 1580) "(" 846 PARAM_LIST@[1579; 1581)
832 R_PAREN@[1580; 1581) ")" 847 L_PAREN@[1579; 1580) "("
833 WHITESPACE@[1581; 1582) " " 848 R_PAREN@[1580; 1581) ")"
834 RET_TYPE@[1582; 1589) 849 WHITESPACE@[1581; 1582) " "
835 THIN_ARROW@[1582; 1584) "->" 850 RET_TYPE@[1582; 1589)
836 WHITESPACE@[1584; 1585) " " 851 THIN_ARROW@[1582; 1584) "->"
837 PATH_TYPE@[1585; 1589) 852 WHITESPACE@[1584; 1585) " "
838 PATH@[1585; 1589) 853 PATH_TYPE@[1585; 1589)
839 PATH_SEGMENT@[1585; 1589) 854 PATH@[1585; 1589)
840 NAME_REF@[1585; 1589) 855 PATH_SEGMENT@[1585; 1589)
841 IDENT@[1585; 1589) "bool" 856 NAME_REF@[1585; 1589)
842 WHITESPACE@[1589; 1590) " " 857 IDENT@[1585; 1589) "bool"
843 BLOCK@[1590; 1598) 858 WHITESPACE@[1589; 1590) " "
844 L_CURLY@[1590; 1591) "{" 859 BLOCK_EXPR@[1590; 1598)
845 WHITESPACE@[1591; 1592) " " 860 BLOCK@[1590; 1598)
846 LITERAL@[1592; 1596) 861 L_CURLY@[1590; 1591) "{"
847 TRUE_KW@[1592; 1596) "true" 862 WHITESPACE@[1591; 1592) " "
848 WHITESPACE@[1596; 1597) " " 863 LITERAL@[1592; 1596)
849 R_CURLY@[1597; 1598) "}" 864 TRUE_KW@[1592; 1596) "true"
850 WHITESPACE@[1598; 1603) "\n " 865 WHITESPACE@[1596; 1597) " "
851 LET_STMT@[1603; 1648) 866 R_CURLY@[1597; 1598) "}"
852 LET_KW@[1603; 1606) "let" 867 WHITESPACE@[1598; 1603) "\n "
853 WHITESPACE@[1606; 1607) " " 868 LET_STMT@[1603; 1648)
854 BIND_PAT@[1607; 1609) 869 LET_KW@[1603; 1606) "let"
855 NAME@[1607; 1609) 870 WHITESPACE@[1606; 1607) " "
856 IDENT@[1607; 1609) "_a" 871 BIND_PAT@[1607; 1609)
857 WHITESPACE@[1609; 1610) " " 872 NAME@[1607; 1609)
858 EQ@[1610; 1611) "=" 873 IDENT@[1607; 1609) "_a"
859 WHITESPACE@[1611; 1612) " " 874 WHITESPACE@[1609; 1610) " "
860 PAREN_EXPR@[1612; 1647) 875 EQ@[1610; 1611) "="
861 L_PAREN@[1612; 1613) "(" 876 WHITESPACE@[1611; 1612) " "
862 BIN_EXPR@[1613; 1646) 877 PAREN_EXPR@[1612; 1647)
863 MACRO_CALL@[1613; 1628) 878 L_PAREN@[1612; 1613) "("
864 PATH@[1613; 1619) 879 BIN_EXPR@[1613; 1646)
865 PATH_SEGMENT@[1613; 1619) 880 MACRO_CALL@[1613; 1628)
866 NAME_REF@[1613; 1619) 881 PATH@[1613; 1619)
867 IDENT@[1613; 1619) "assert" 882 PATH_SEGMENT@[1613; 1619)
868 EXCL@[1619; 1620) "!" 883 NAME_REF@[1613; 1619)
869 TOKEN_TREE@[1620; 1628) 884 IDENT@[1613; 1619) "assert"
870 L_PAREN@[1620; 1621) "(" 885 EXCL@[1619; 1620) "!"
871 TOKEN_TREE@[1621; 1627) 886 TOKEN_TREE@[1620; 1628)
872 L_PAREN@[1621; 1622) "(" 887 L_PAREN@[1620; 1621) "("
873 TRUE_KW@[1622; 1626) "true" 888 TOKEN_TREE@[1621; 1627)
874 R_PAREN@[1626; 1627) ")" 889 L_PAREN@[1621; 1622) "("
875 R_PAREN@[1627; 1628) ")" 890 TRUE_KW@[1622; 1626) "true"
876 WHITESPACE@[1628; 1629) " " 891 R_PAREN@[1626; 1627) ")"
877 EQEQ@[1629; 1631) "==" 892 R_PAREN@[1627; 1628) ")"
878 WHITESPACE@[1631; 1632) " " 893 WHITESPACE@[1628; 1629) " "
879 PAREN_EXPR@[1632; 1646) 894 EQEQ@[1629; 1631) "=="
880 L_PAREN@[1632; 1633) "(" 895 WHITESPACE@[1631; 1632) " "
881 MACRO_CALL@[1633; 1645) 896 PAREN_EXPR@[1632; 1646)
882 PATH@[1633; 1639) 897 L_PAREN@[1632; 1633) "("
883 PATH_SEGMENT@[1633; 1639) 898 MACRO_CALL@[1633; 1645)
884 NAME_REF@[1633; 1639) 899 PATH@[1633; 1639)
885 IDENT@[1633; 1639) "assert" 900 PATH_SEGMENT@[1633; 1639)
886 EXCL@[1639; 1640) "!" 901 NAME_REF@[1633; 1639)
887 TOKEN_TREE@[1640; 1645) 902 IDENT@[1633; 1639) "assert"
888 L_PAREN@[1640; 1641) "(" 903 EXCL@[1639; 1640) "!"
889 IDENT@[1641; 1642) "p" 904 TOKEN_TREE@[1640; 1645)
890 TOKEN_TREE@[1642; 1644) 905 L_PAREN@[1640; 1641) "("
891 L_PAREN@[1642; 1643) "(" 906 IDENT@[1641; 1642) "p"
892 R_PAREN@[1643; 1644) ")" 907 TOKEN_TREE@[1642; 1644)
893 R_PAREN@[1644; 1645) ")" 908 L_PAREN@[1642; 1643) "("
894 R_PAREN@[1645; 1646) ")" 909 R_PAREN@[1643; 1644) ")"
895 R_PAREN@[1646; 1647) ")" 910 R_PAREN@[1644; 1645) ")"
896 SEMI@[1647; 1648) ";" 911 R_PAREN@[1645; 1646) ")"
897 WHITESPACE@[1648; 1653) "\n " 912 R_PAREN@[1646; 1647) ")"
898 LET_STMT@[1653; 1685) 913 SEMI@[1647; 1648) ";"
899 LET_KW@[1653; 1656) "let" 914 WHITESPACE@[1648; 1653) "\n "
900 WHITESPACE@[1656; 1657) " " 915 LET_STMT@[1653; 1685)
901 BIND_PAT@[1657; 1659) 916 LET_KW@[1653; 1656) "let"
902 NAME@[1657; 1659) 917 WHITESPACE@[1656; 1657) " "
903 IDENT@[1657; 1659) "_c" 918 BIND_PAT@[1657; 1659)
904 WHITESPACE@[1659; 1660) " " 919 NAME@[1657; 1659)
905 EQ@[1660; 1661) "=" 920 IDENT@[1657; 1659) "_c"
906 WHITESPACE@[1661; 1662) " " 921 WHITESPACE@[1659; 1660) " "
907 PAREN_EXPR@[1662; 1684) 922 EQ@[1660; 1661) "="
908 L_PAREN@[1662; 1663) "(" 923 WHITESPACE@[1661; 1662) " "
909 BIN_EXPR@[1663; 1683) 924 PAREN_EXPR@[1662; 1684)
910 MACRO_CALL@[1663; 1677) 925 L_PAREN@[1662; 1663) "("
911 PATH@[1663; 1669) 926 BIN_EXPR@[1663; 1683)
912 PATH_SEGMENT@[1663; 1669) 927 MACRO_CALL@[1663; 1677)
913 NAME_REF@[1663; 1669) 928 PATH@[1663; 1669)
914 IDENT@[1663; 1669) "assert" 929 PATH_SEGMENT@[1663; 1669)
915 EXCL@[1669; 1670) "!" 930 NAME_REF@[1663; 1669)
916 TOKEN_TREE@[1670; 1677) 931 IDENT@[1663; 1669) "assert"
917 L_PAREN@[1670; 1671) "(" 932 EXCL@[1669; 1670) "!"
918 TOKEN_TREE@[1671; 1676) 933 TOKEN_TREE@[1670; 1677)
919 L_PAREN@[1671; 1672) "(" 934 L_PAREN@[1670; 1671) "("
920 IDENT@[1672; 1673) "p" 935 TOKEN_TREE@[1671; 1676)
921 TOKEN_TREE@[1673; 1675) 936 L_PAREN@[1671; 1672) "("
922 L_PAREN@[1673; 1674) "(" 937 IDENT@[1672; 1673) "p"
923 R_PAREN@[1674; 1675) ")" 938 TOKEN_TREE@[1673; 1675)
924 R_PAREN@[1675; 1676) ")" 939 L_PAREN@[1673; 1674) "("
925 R_PAREN@[1676; 1677) ")" 940 R_PAREN@[1674; 1675) ")"
926 WHITESPACE@[1677; 1678) " " 941 R_PAREN@[1675; 1676) ")"
927 EQEQ@[1678; 1680) "==" 942 R_PAREN@[1676; 1677) ")"
928 WHITESPACE@[1680; 1681) " " 943 WHITESPACE@[1677; 1678) " "
929 TUPLE_EXPR@[1681; 1683) 944 EQEQ@[1678; 1680) "=="
930 L_PAREN@[1681; 1682) "(" 945 WHITESPACE@[1680; 1681) " "
931 R_PAREN@[1682; 1683) ")" 946 TUPLE_EXPR@[1681; 1683)
932 R_PAREN@[1683; 1684) ")" 947 L_PAREN@[1681; 1682) "("
933 SEMI@[1684; 1685) ";" 948 R_PAREN@[1682; 1683) ")"
934 WHITESPACE@[1685; 1690) "\n " 949 R_PAREN@[1683; 1684) ")"
935 LET_STMT@[1690; 1739) 950 SEMI@[1684; 1685) ";"
936 LET_KW@[1690; 1693) "let" 951 WHITESPACE@[1685; 1690) "\n "
937 WHITESPACE@[1693; 1694) " " 952 LET_STMT@[1690; 1739)
938 BIND_PAT@[1694; 1696) 953 LET_KW@[1690; 1693) "let"
939 NAME@[1694; 1696) 954 WHITESPACE@[1693; 1694) " "
940 IDENT@[1694; 1696) "_b" 955 BIND_PAT@[1694; 1696)
941 COLON@[1696; 1697) ":" 956 NAME@[1694; 1696)
942 WHITESPACE@[1697; 1698) " " 957 IDENT@[1694; 1696) "_b"
943 PATH_TYPE@[1698; 1702) 958 COLON@[1696; 1697) ":"
944 PATH@[1698; 1702) 959 WHITESPACE@[1697; 1698) " "
945 PATH_SEGMENT@[1698; 1702) 960 PATH_TYPE@[1698; 1702)
946 NAME_REF@[1698; 1702) 961 PATH@[1698; 1702)
947 IDENT@[1698; 1702) "bool" 962 PATH_SEGMENT@[1698; 1702)
948 WHITESPACE@[1702; 1703) " " 963 NAME_REF@[1698; 1702)
949 EQ@[1703; 1704) "=" 964 IDENT@[1698; 1702) "bool"
950 WHITESPACE@[1704; 1705) " " 965 WHITESPACE@[1702; 1703) " "
951 PAREN_EXPR@[1705; 1738) 966 EQ@[1703; 1704) "="
952 L_PAREN@[1705; 1706) "(" 967 WHITESPACE@[1704; 1705) " "
953 BIN_EXPR@[1706; 1737) 968 PAREN_EXPR@[1705; 1738)
954 MACRO_CALL@[1706; 1723) 969 L_PAREN@[1705; 1706) "("
955 PATH@[1706; 1713) 970 BIN_EXPR@[1706; 1737)
956 PATH_SEGMENT@[1706; 1713) 971 MACRO_CALL@[1706; 1723)
957 NAME_REF@[1706; 1713) 972 PATH@[1706; 1713)
958 IDENT@[1706; 1713) "println" 973 PATH_SEGMENT@[1706; 1713)
959 EXCL@[1713; 1714) "!" 974 NAME_REF@[1706; 1713)
960 TOKEN_TREE@[1714; 1723) 975 IDENT@[1706; 1713) "println"
961 L_PAREN@[1714; 1715) "(" 976 EXCL@[1713; 1714) "!"
962 STRING@[1715; 1719) "\"{}\"" 977 TOKEN_TREE@[1714; 1723)
963 COMMA@[1719; 1720) "," 978 L_PAREN@[1714; 1715) "("
964 WHITESPACE@[1720; 1721) " " 979 STRING@[1715; 1719) "\"{}\""
965 INT_NUMBER@[1721; 1722) "0" 980 COMMA@[1719; 1720) ","
966 R_PAREN@[1722; 1723) ")" 981 WHITESPACE@[1720; 1721) " "
967 WHITESPACE@[1723; 1724) " " 982 INT_NUMBER@[1721; 1722) "0"
968 EQEQ@[1724; 1726) "==" 983 R_PAREN@[1722; 1723) ")"
969 WHITESPACE@[1726; 1727) " " 984 WHITESPACE@[1723; 1724) " "
970 PAREN_EXPR@[1727; 1737) 985 EQEQ@[1724; 1726) "=="
971 L_PAREN@[1727; 1728) "(" 986 WHITESPACE@[1726; 1727) " "
972 RETURN_EXPR@[1728; 1736) 987 PAREN_EXPR@[1727; 1737)
973 RETURN_KW@[1728; 1734) "return" 988 L_PAREN@[1727; 1728) "("
974 WHITESPACE@[1734; 1735) " " 989 RETURN_EXPR@[1728; 1736)
975 LITERAL@[1735; 1736) 990 RETURN_KW@[1728; 1734) "return"
976 INT_NUMBER@[1735; 1736) "0" 991 WHITESPACE@[1734; 1735) " "
977 R_PAREN@[1736; 1737) ")" 992 LITERAL@[1735; 1736)
978 R_PAREN@[1737; 1738) ")" 993 INT_NUMBER@[1735; 1736) "0"
979 SEMI@[1738; 1739) ";" 994 R_PAREN@[1736; 1737) ")"
980 WHITESPACE@[1739; 1740) "\n" 995 R_PAREN@[1737; 1738) ")"
981 R_CURLY@[1740; 1741) "}" 996 SEMI@[1738; 1739) ";"
997 WHITESPACE@[1739; 1740) "\n"
998 R_CURLY@[1740; 1741) "}"
982 WHITESPACE@[1741; 1743) "\n\n" 999 WHITESPACE@[1741; 1743) "\n\n"
983 FN_DEF@[1743; 1904) 1000 FN_DEF@[1743; 1904)
984 FN_KW@[1743; 1745) "fn" 1001 FN_KW@[1743; 1745) "fn"
@@ -989,140 +1006,145 @@ SOURCE_FILE@[0; 3813)
989 L_PAREN@[1755; 1756) "(" 1006 L_PAREN@[1755; 1756) "("
990 R_PAREN@[1756; 1757) ")" 1007 R_PAREN@[1756; 1757) ")"
991 WHITESPACE@[1757; 1758) " " 1008 WHITESPACE@[1757; 1758) " "
992 BLOCK@[1758; 1904) 1009 BLOCK_EXPR@[1758; 1904)
993 L_CURLY@[1758; 1759) "{" 1010 BLOCK@[1758; 1904)
994 WHITESPACE@[1759; 1764) "\n " 1011 L_CURLY@[1758; 1759) "{"
995 EXPR_STMT@[1764; 1785) 1012 WHITESPACE@[1759; 1764) "\n "
996 LOOP_EXPR@[1764; 1785) 1013 EXPR_STMT@[1764; 1785)
997 LOOP_KW@[1764; 1768) "loop" 1014 LOOP_EXPR@[1764; 1785)
998 WHITESPACE@[1768; 1769) " " 1015 LOOP_KW@[1764; 1768) "loop"
999 BLOCK@[1769; 1785) 1016 WHITESPACE@[1768; 1769) " "
1000 L_CURLY@[1769; 1770) "{" 1017 BLOCK_EXPR@[1769; 1785)
1001 WHITESPACE@[1770; 1771) " " 1018 BLOCK@[1769; 1785)
1002 IF_EXPR@[1771; 1783) 1019 L_CURLY@[1769; 1770) "{"
1003 IF_KW@[1771; 1773) "if" 1020 WHITESPACE@[1770; 1771) " "
1004 WHITESPACE@[1773; 1774) " " 1021 IF_EXPR@[1771; 1783)
1005 CONDITION@[1774; 1779) 1022 IF_KW@[1771; 1773) "if"
1006 BREAK_EXPR@[1774; 1779) 1023 WHITESPACE@[1773; 1774) " "
1007 BREAK_KW@[1774; 1779) "break" 1024 CONDITION@[1774; 1779)
1008 WHITESPACE@[1779; 1780) " " 1025 BREAK_EXPR@[1774; 1779)
1009 BLOCK@[1780; 1783) 1026 BREAK_KW@[1774; 1779) "break"
1010 L_CURLY@[1780; 1781) "{" 1027 WHITESPACE@[1779; 1780) " "
1011 WHITESPACE@[1781; 1782) " " 1028 BLOCK_EXPR@[1780; 1783)
1012 R_CURLY@[1782; 1783) "}" 1029 BLOCK@[1780; 1783)
1013 WHITESPACE@[1783; 1784) " " 1030 L_CURLY@[1780; 1781) "{"
1014 R_CURLY@[1784; 1785) "}" 1031 WHITESPACE@[1781; 1782) " "
1015 WHITESPACE@[1785; 1790) "\n " 1032 R_CURLY@[1782; 1783) "}"
1016 LET_STMT@[1790; 1804) 1033 WHITESPACE@[1783; 1784) " "
1017 LET_KW@[1790; 1793) "let" 1034 R_CURLY@[1784; 1785) "}"
1018 WHITESPACE@[1793; 1794) " " 1035 WHITESPACE@[1785; 1790) "\n "
1019 BIND_PAT@[1794; 1799) 1036 LET_STMT@[1790; 1804)
1020 MUT_KW@[1794; 1797) "mut" 1037 LET_KW@[1790; 1793) "let"
1021 WHITESPACE@[1797; 1798) " " 1038 WHITESPACE@[1793; 1794) " "
1022 NAME@[1798; 1799) 1039 BIND_PAT@[1794; 1799)
1023 IDENT@[1798; 1799) "i" 1040 MUT_KW@[1794; 1797) "mut"
1024 WHITESPACE@[1799; 1800) " " 1041 WHITESPACE@[1797; 1798) " "
1025 EQ@[1800; 1801) "=" 1042 NAME@[1798; 1799)
1026 WHITESPACE@[1801; 1802) " " 1043 IDENT@[1798; 1799) "i"
1027 LITERAL@[1802; 1803) 1044 WHITESPACE@[1799; 1800) " "
1028 INT_NUMBER@[1802; 1803) "0" 1045 EQ@[1800; 1801) "="
1029 SEMI@[1803; 1804) ";" 1046 WHITESPACE@[1801; 1802) " "
1030 WHITESPACE@[1804; 1809) "\n " 1047 LITERAL@[1802; 1803)
1031 LOOP_EXPR@[1809; 1902) 1048 INT_NUMBER@[1802; 1803) "0"
1032 LOOP_KW@[1809; 1813) "loop" 1049 SEMI@[1803; 1804) ";"
1033 WHITESPACE@[1813; 1814) " " 1050 WHITESPACE@[1804; 1809) "\n "
1034 BLOCK@[1814; 1902) 1051 LOOP_EXPR@[1809; 1902)
1035 L_CURLY@[1814; 1815) "{" 1052 LOOP_KW@[1809; 1813) "loop"
1036 WHITESPACE@[1815; 1816) " " 1053 WHITESPACE@[1813; 1814) " "
1037 EXPR_STMT@[1816; 1823) 1054 BLOCK_EXPR@[1814; 1902)
1038 BIN_EXPR@[1816; 1822) 1055 BLOCK@[1814; 1902)
1039 PATH_EXPR@[1816; 1817) 1056 L_CURLY@[1814; 1815) "{"
1040 PATH@[1816; 1817) 1057 WHITESPACE@[1815; 1816) " "
1041 PATH_SEGMENT@[1816; 1817) 1058 EXPR_STMT@[1816; 1823)
1042 NAME_REF@[1816; 1817) 1059 BIN_EXPR@[1816; 1822)
1043 IDENT@[1816; 1817) "i" 1060 PATH_EXPR@[1816; 1817)
1044 WHITESPACE@[1817; 1818) " " 1061 PATH@[1816; 1817)
1045 PLUSEQ@[1818; 1820) "+=" 1062 PATH_SEGMENT@[1816; 1817)
1046 WHITESPACE@[1820; 1821) " " 1063 NAME_REF@[1816; 1817)
1047 LITERAL@[1821; 1822) 1064 IDENT@[1816; 1817) "i"
1048 INT_NUMBER@[1821; 1822) "1" 1065 WHITESPACE@[1817; 1818) " "
1049 SEMI@[1822; 1823) ";" 1066 PLUSEQ@[1818; 1820) "+="
1050 WHITESPACE@[1823; 1824) " " 1067 WHITESPACE@[1820; 1821) " "
1051 EXPR_STMT@[1824; 1887) 1068 LITERAL@[1821; 1822)
1052 IF_EXPR@[1824; 1887) 1069 INT_NUMBER@[1821; 1822) "1"
1053 IF_KW@[1824; 1826) "if" 1070 SEMI@[1822; 1823) ";"
1054 WHITESPACE@[1826; 1827) " " 1071 WHITESPACE@[1823; 1824) " "
1055 CONDITION@[1827; 1833) 1072 EXPR_STMT@[1824; 1887)
1056 BIN_EXPR@[1827; 1833) 1073 IF_EXPR@[1824; 1887)
1057 PATH_EXPR@[1827; 1828) 1074 IF_KW@[1824; 1826) "if"
1058 PATH@[1827; 1828) 1075 WHITESPACE@[1826; 1827) " "
1059 PATH_SEGMENT@[1827; 1828) 1076 CONDITION@[1827; 1833)
1060 NAME_REF@[1827; 1828) 1077 BIN_EXPR@[1827; 1833)
1061 IDENT@[1827; 1828) "i" 1078 PATH_EXPR@[1827; 1828)
1062 WHITESPACE@[1828; 1829) " " 1079 PATH@[1827; 1828)
1063 EQEQ@[1829; 1831) "==" 1080 PATH_SEGMENT@[1827; 1828)
1064 WHITESPACE@[1831; 1832) " " 1081 NAME_REF@[1827; 1828)
1065 LITERAL@[1832; 1833) 1082 IDENT@[1827; 1828) "i"
1066 INT_NUMBER@[1832; 1833) "1" 1083 WHITESPACE@[1828; 1829) " "
1067 WHITESPACE@[1833; 1834) " " 1084 EQEQ@[1829; 1831) "=="
1068 BLOCK@[1834; 1887) 1085 WHITESPACE@[1831; 1832) " "
1069 L_CURLY@[1834; 1835) "{" 1086 LITERAL@[1832; 1833)
1070 WHITESPACE@[1835; 1836) " " 1087 INT_NUMBER@[1832; 1833) "1"
1071 MATCH_EXPR@[1836; 1885) 1088 WHITESPACE@[1833; 1834) " "
1072 MATCH_KW@[1836; 1841) "match" 1089 BLOCK_EXPR@[1834; 1887)
1073 WHITESPACE@[1841; 1842) " " 1090 BLOCK@[1834; 1887)
1074 PAREN_EXPR@[1842; 1852) 1091 L_CURLY@[1834; 1835) "{"
1075 L_PAREN@[1842; 1843) "(" 1092 WHITESPACE@[1835; 1836) " "
1076 CONTINUE_EXPR@[1843; 1851) 1093 MATCH_EXPR@[1836; 1885)
1077 CONTINUE_KW@[1843; 1851) "continue" 1094 MATCH_KW@[1836; 1841) "match"
1078 R_PAREN@[1851; 1852) ")" 1095 WHITESPACE@[1841; 1842) " "
1079 WHITESPACE@[1852; 1853) " " 1096 PAREN_EXPR@[1842; 1852)
1080 MATCH_ARM_LIST@[1853; 1885) 1097 L_PAREN@[1842; 1843) "("
1081 L_CURLY@[1853; 1854) "{" 1098 CONTINUE_EXPR@[1843; 1851)
1082 WHITESPACE@[1854; 1855) " " 1099 CONTINUE_KW@[1843; 1851) "continue"
1083 MATCH_ARM@[1855; 1863) 1100 R_PAREN@[1851; 1852) ")"
1084 LITERAL_PAT@[1855; 1856) 1101 WHITESPACE@[1852; 1853) " "
1085 LITERAL@[1855; 1856) 1102 MATCH_ARM_LIST@[1853; 1885)
1086 INT_NUMBER@[1855; 1856) "1" 1103 L_CURLY@[1853; 1854) "{"
1087 WHITESPACE@[1856; 1857) " " 1104 WHITESPACE@[1854; 1855) " "
1088 FAT_ARROW@[1857; 1859) "=>" 1105 MATCH_ARM@[1855; 1863)
1089 WHITESPACE@[1859; 1860) " " 1106 LITERAL_PAT@[1855; 1856)
1090 BLOCK_EXPR@[1860; 1863) 1107 LITERAL@[1855; 1856)
1091 BLOCK@[1860; 1863) 1108 INT_NUMBER@[1855; 1856) "1"
1092 L_CURLY@[1860; 1861) "{" 1109 WHITESPACE@[1856; 1857) " "
1093 WHITESPACE@[1861; 1862) " " 1110 FAT_ARROW@[1857; 1859) "=>"
1094 R_CURLY@[1862; 1863) "}" 1111 WHITESPACE@[1859; 1860) " "
1095 COMMA@[1863; 1864) "," 1112 BLOCK_EXPR@[1860; 1863)
1096 WHITESPACE@[1864; 1865) " " 1113 BLOCK@[1860; 1863)
1097 MATCH_ARM@[1865; 1883) 1114 L_CURLY@[1860; 1861) "{"
1098 PLACEHOLDER_PAT@[1865; 1866) 1115 WHITESPACE@[1861; 1862) " "
1099 UNDERSCORE@[1865; 1866) "_" 1116 R_CURLY@[1862; 1863) "}"
1100 WHITESPACE@[1866; 1867) " " 1117 COMMA@[1863; 1864) ","
1101 FAT_ARROW@[1867; 1869) "=>" 1118 WHITESPACE@[1864; 1865) " "
1102 WHITESPACE@[1869; 1870) " " 1119 MATCH_ARM@[1865; 1883)
1103 MACRO_CALL@[1870; 1883) 1120 PLACEHOLDER_PAT@[1865; 1866)
1104 PATH@[1870; 1875) 1121 UNDERSCORE@[1865; 1866) "_"
1105 PATH_SEGMENT@[1870; 1875) 1122 WHITESPACE@[1866; 1867) " "
1106 NAME_REF@[1870; 1875) 1123 FAT_ARROW@[1867; 1869) "=>"
1107 IDENT@[1870; 1875) "panic" 1124 WHITESPACE@[1869; 1870) " "
1108 EXCL@[1875; 1876) "!" 1125 MACRO_CALL@[1870; 1883)
1109 TOKEN_TREE@[1876; 1883) 1126 PATH@[1870; 1875)
1110 L_PAREN@[1876; 1877) "(" 1127 PATH_SEGMENT@[1870; 1875)
1111 STRING@[1877; 1882) "\"wat\"" 1128 NAME_REF@[1870; 1875)
1112 R_PAREN@[1882; 1883) ")" 1129 IDENT@[1870; 1875) "panic"
1113 WHITESPACE@[1883; 1884) " " 1130 EXCL@[1875; 1876) "!"
1114 R_CURLY@[1884; 1885) "}" 1131 TOKEN_TREE@[1876; 1883)
1115 WHITESPACE@[1885; 1886) " " 1132 L_PAREN@[1876; 1877) "("
1116 R_CURLY@[1886; 1887) "}" 1133 STRING@[1877; 1882) "\"wat\""
1117 WHITESPACE@[1887; 1894) "\n " 1134 R_PAREN@[1882; 1883) ")"
1118 EXPR_STMT@[1894; 1900) 1135 WHITESPACE@[1883; 1884) " "
1119 BREAK_EXPR@[1894; 1899) 1136 R_CURLY@[1884; 1885) "}"
1120 BREAK_KW@[1894; 1899) "break" 1137 WHITESPACE@[1885; 1886) " "
1121 SEMI@[1899; 1900) ";" 1138 R_CURLY@[1886; 1887) "}"
1122 WHITESPACE@[1900; 1901) " " 1139 WHITESPACE@[1887; 1894) "\n "
1123 R_CURLY@[1901; 1902) "}" 1140 EXPR_STMT@[1894; 1900)
1124 WHITESPACE@[1902; 1903) "\n" 1141 BREAK_EXPR@[1894; 1899)
1125 R_CURLY@[1903; 1904) "}" 1142 BREAK_KW@[1894; 1899) "break"
1143 SEMI@[1899; 1900) ";"
1144 WHITESPACE@[1900; 1901) " "
1145 R_CURLY@[1901; 1902) "}"
1146 WHITESPACE@[1902; 1903) "\n"
1147 R_CURLY@[1903; 1904) "}"
1126 WHITESPACE@[1904; 1906) "\n\n" 1148 WHITESPACE@[1904; 1906) "\n\n"
1127 FN_DEF@[1906; 1960) 1149 FN_DEF@[1906; 1960)
1128 FN_KW@[1906; 1908) "fn" 1150 FN_KW@[1906; 1908) "fn"
@@ -1133,31 +1155,32 @@ SOURCE_FILE@[0; 3813)
1133 L_PAREN@[1921; 1922) "(" 1155 L_PAREN@[1921; 1922) "("
1134 R_PAREN@[1922; 1923) ")" 1156 R_PAREN@[1922; 1923) ")"
1135 WHITESPACE@[1923; 1924) " " 1157 WHITESPACE@[1923; 1924) " "
1136 BLOCK@[1924; 1960) 1158 BLOCK_EXPR@[1924; 1960)
1137 L_CURLY@[1924; 1925) "{" 1159 BLOCK@[1924; 1960)
1138 WHITESPACE@[1925; 1926) " " 1160 L_CURLY@[1924; 1925) "{"
1139 LET_STMT@[1926; 1958) 1161 WHITESPACE@[1925; 1926) " "
1140 LET_KW@[1926; 1929) "let" 1162 LET_STMT@[1926; 1958)
1141 WHITESPACE@[1929; 1930) " " 1163 LET_KW@[1926; 1929) "let"
1142 BIND_PAT@[1930; 1935) 1164 WHITESPACE@[1929; 1930) " "
1143 NAME@[1930; 1935) 1165 BIND_PAT@[1930; 1935)
1144 IDENT@[1930; 1935) "_evil" 1166 NAME@[1930; 1935)
1145 WHITESPACE@[1935; 1936) " " 1167 IDENT@[1930; 1935) "_evil"
1146 EQ@[1936; 1937) "=" 1168 WHITESPACE@[1935; 1936) " "
1147 WHITESPACE@[1937; 1938) " " 1169 EQ@[1936; 1937) "="
1148 MACRO_CALL@[1938; 1957) 1170 WHITESPACE@[1937; 1938) " "
1149 PATH@[1938; 1945) 1171 MACRO_CALL@[1938; 1957)
1150 PATH_SEGMENT@[1938; 1945) 1172 PATH@[1938; 1945)
1151 NAME_REF@[1938; 1945) 1173 PATH_SEGMENT@[1938; 1945)
1152 IDENT@[1938; 1945) "println" 1174 NAME_REF@[1938; 1945)
1153 EXCL@[1945; 1946) "!" 1175 IDENT@[1938; 1945) "println"
1154 TOKEN_TREE@[1946; 1957) 1176 EXCL@[1945; 1946) "!"
1155 L_PAREN@[1946; 1947) "(" 1177 TOKEN_TREE@[1946; 1957)
1156 STRING@[1947; 1956) "\"lincoln\"" 1178 L_PAREN@[1946; 1947) "("
1157 R_PAREN@[1956; 1957) ")" 1179 STRING@[1947; 1956) "\"lincoln\""
1158 SEMI@[1957; 1958) ";" 1180 R_PAREN@[1956; 1957) ")"
1159 WHITESPACE@[1958; 1959) " " 1181 SEMI@[1957; 1958) ";"
1160 R_CURLY@[1959; 1960) "}" 1182 WHITESPACE@[1958; 1959) " "
1183 R_CURLY@[1959; 1960) "}"
1161 WHITESPACE@[1960; 1962) "\n\n" 1184 WHITESPACE@[1960; 1962) "\n\n"
1162 FN_DEF@[1962; 2198) 1185 FN_DEF@[1962; 2198)
1163 FN_KW@[1962; 1964) "fn" 1186 FN_KW@[1962; 1964) "fn"
@@ -1168,114 +1191,115 @@ SOURCE_FILE@[0; 3813)
1168 L_PAREN@[1969; 1970) "(" 1191 L_PAREN@[1969; 1970) "("
1169 R_PAREN@[1970; 1971) ")" 1192 R_PAREN@[1970; 1971) ")"
1170 WHITESPACE@[1971; 1972) " " 1193 WHITESPACE@[1971; 1972) " "
1171 BLOCK@[1972; 2198) 1194 BLOCK_EXPR@[1972; 2198)
1172 L_CURLY@[1972; 1973) "{" 1195 BLOCK@[1972; 2198)
1173 WHITESPACE@[1973; 1978) "\n " 1196 L_CURLY@[1972; 1973) "{"
1174 EXPR_STMT@[1978; 2196) 1197 WHITESPACE@[1973; 1978) "\n "
1175 MACRO_CALL@[1978; 2195) 1198 EXPR_STMT@[1978; 2196)
1176 PATH@[1978; 1987) 1199 MACRO_CALL@[1978; 2195)
1177 PATH_SEGMENT@[1978; 1987) 1200 PATH@[1978; 1987)
1178 NAME_REF@[1978; 1987) 1201 PATH_SEGMENT@[1978; 1987)
1179 IDENT@[1978; 1987) "assert_eq" 1202 NAME_REF@[1978; 1987)
1180 EXCL@[1987; 1988) "!" 1203 IDENT@[1978; 1987) "assert_eq"
1181 TOKEN_TREE@[1988; 2195) 1204 EXCL@[1987; 1988) "!"
1182 L_PAREN@[1988; 1989) "(" 1205 TOKEN_TREE@[1988; 2195)
1183 IDENT@[1989; 1995) "String" 1206 L_PAREN@[1988; 1989) "("
1184 COLON@[1995; 1996) ":" 1207 IDENT@[1989; 1995) "String"
1185 COLON@[1996; 1997) ":" 1208 COLON@[1995; 1996) ":"
1186 IDENT@[1997; 2001) "from" 1209 COLON@[1996; 1997) ":"
1187 TOKEN_TREE@[2001; 2055) 1210 IDENT@[1997; 2001) "from"
1188 L_PAREN@[2001; 2002) "(" 1211 TOKEN_TREE@[2001; 2055)
1189 STRING@[2002; 2054) "\".................... ..." 1212 L_PAREN@[2001; 2002) "("
1190 R_PAREN@[2054; 2055) ")" 1213 STRING@[2002; 2054) "\".................... ..."
1191 COMMA@[2055; 2056) "," 1214 R_PAREN@[2054; 2055) ")"
1192 WHITESPACE@[2056; 2072) "\n " 1215 COMMA@[2055; 2056) ","
1193 IDENT@[2072; 2078) "format" 1216 WHITESPACE@[2056; 2072) "\n "
1194 EXCL@[2078; 2079) "!" 1217 IDENT@[2072; 2078) "format"
1195 TOKEN_TREE@[2079; 2194) 1218 EXCL@[2078; 2079) "!"
1196 L_PAREN@[2079; 2080) "(" 1219 TOKEN_TREE@[2079; 2194)
1197 STRING@[2080; 2086) "\"{:?}\"" 1220 L_PAREN@[2079; 2080) "("
1198 COMMA@[2086; 2087) "," 1221 STRING@[2080; 2086) "\"{:?}\""
1199 WHITESPACE@[2087; 2088) " " 1222 COMMA@[2086; 2087) ","
1200 DOT@[2088; 2089) "." 1223 WHITESPACE@[2087; 2088) " "
1201 DOT@[2089; 2090) "." 1224 DOT@[2088; 2089) "."
1202 WHITESPACE@[2090; 2091) " " 1225 DOT@[2089; 2090) "."
1203 DOT@[2091; 2092) "." 1226 WHITESPACE@[2090; 2091) " "
1204 DOT@[2092; 2093) "." 1227 DOT@[2091; 2092) "."
1205 WHITESPACE@[2093; 2094) " " 1228 DOT@[2092; 2093) "."
1206 DOT@[2094; 2095) "." 1229 WHITESPACE@[2093; 2094) " "
1207 DOT@[2095; 2096) "." 1230 DOT@[2094; 2095) "."
1208 WHITESPACE@[2096; 2097) " " 1231 DOT@[2095; 2096) "."
1209 DOT@[2097; 2098) "." 1232 WHITESPACE@[2096; 2097) " "
1210 DOT@[2098; 2099) "." 1233 DOT@[2097; 2098) "."
1211 WHITESPACE@[2099; 2100) " " 1234 DOT@[2098; 2099) "."
1212 DOT@[2100; 2101) "." 1235 WHITESPACE@[2099; 2100) " "
1213 DOT@[2101; 2102) "." 1236 DOT@[2100; 2101) "."
1214 WHITESPACE@[2102; 2103) " " 1237 DOT@[2101; 2102) "."
1215 DOT@[2103; 2104) "." 1238 WHITESPACE@[2102; 2103) " "
1216 DOT@[2104; 2105) "." 1239 DOT@[2103; 2104) "."
1217 WHITESPACE@[2105; 2106) " " 1240 DOT@[2104; 2105) "."
1218 DOT@[2106; 2107) "." 1241 WHITESPACE@[2105; 2106) " "
1219 DOT@[2107; 2108) "." 1242 DOT@[2106; 2107) "."
1220 WHITESPACE@[2108; 2109) " " 1243 DOT@[2107; 2108) "."
1221 DOT@[2109; 2110) "." 1244 WHITESPACE@[2108; 2109) " "
1222 DOT@[2110; 2111) "." 1245 DOT@[2109; 2110) "."
1223 WHITESPACE@[2111; 2112) " " 1246 DOT@[2110; 2111) "."
1224 DOT@[2112; 2113) "." 1247 WHITESPACE@[2111; 2112) " "
1225 DOT@[2113; 2114) "." 1248 DOT@[2112; 2113) "."
1226 WHITESPACE@[2114; 2115) " " 1249 DOT@[2113; 2114) "."
1227 DOT@[2115; 2116) "." 1250 WHITESPACE@[2114; 2115) " "
1228 DOT@[2116; 2117) "." 1251 DOT@[2115; 2116) "."
1229 WHITESPACE@[2117; 2118) " " 1252 DOT@[2116; 2117) "."
1230 DOT@[2118; 2119) "." 1253 WHITESPACE@[2117; 2118) " "
1231 DOT@[2119; 2120) "." 1254 DOT@[2118; 2119) "."
1232 WHITESPACE@[2120; 2121) " " 1255 DOT@[2119; 2120) "."
1233 DOT@[2121; 2122) "." 1256 WHITESPACE@[2120; 2121) " "
1234 DOT@[2122; 2123) "." 1257 DOT@[2121; 2122) "."
1235 WHITESPACE@[2123; 2124) " " 1258 DOT@[2122; 2123) "."
1236 DOT@[2124; 2125) "." 1259 WHITESPACE@[2123; 2124) " "
1237 DOT@[2125; 2126) "." 1260 DOT@[2124; 2125) "."
1238 WHITESPACE@[2126; 2158) "\n ..." 1261 DOT@[2125; 2126) "."
1239 DOT@[2158; 2159) "." 1262 WHITESPACE@[2126; 2158) "\n ..."
1240 DOT@[2159; 2160) "." 1263 DOT@[2158; 2159) "."
1241 WHITESPACE@[2160; 2161) " " 1264 DOT@[2159; 2160) "."
1242 DOT@[2161; 2162) "." 1265 WHITESPACE@[2160; 2161) " "
1243 DOT@[2162; 2163) "." 1266 DOT@[2161; 2162) "."
1244 WHITESPACE@[2163; 2164) " " 1267 DOT@[2162; 2163) "."
1245 DOT@[2164; 2165) "." 1268 WHITESPACE@[2163; 2164) " "
1246 DOT@[2165; 2166) "." 1269 DOT@[2164; 2165) "."
1247 WHITESPACE@[2166; 2167) " " 1270 DOT@[2165; 2166) "."
1248 DOT@[2167; 2168) "." 1271 WHITESPACE@[2166; 2167) " "
1249 DOT@[2168; 2169) "." 1272 DOT@[2167; 2168) "."
1250 WHITESPACE@[2169; 2170) " " 1273 DOT@[2168; 2169) "."
1251 DOT@[2170; 2171) "." 1274 WHITESPACE@[2169; 2170) " "
1252 DOT@[2171; 2172) "." 1275 DOT@[2170; 2171) "."
1253 WHITESPACE@[2172; 2173) " " 1276 DOT@[2171; 2172) "."
1254 DOT@[2173; 2174) "." 1277 WHITESPACE@[2172; 2173) " "
1255 DOT@[2174; 2175) "." 1278 DOT@[2173; 2174) "."
1256 WHITESPACE@[2175; 2176) " " 1279 DOT@[2174; 2175) "."
1257 DOT@[2176; 2177) "." 1280 WHITESPACE@[2175; 2176) " "
1258 DOT@[2177; 2178) "." 1281 DOT@[2176; 2177) "."
1259 WHITESPACE@[2178; 2179) " " 1282 DOT@[2177; 2178) "."
1260 DOT@[2179; 2180) "." 1283 WHITESPACE@[2178; 2179) " "
1261 DOT@[2180; 2181) "." 1284 DOT@[2179; 2180) "."
1262 WHITESPACE@[2181; 2182) " " 1285 DOT@[2180; 2181) "."
1263 DOT@[2182; 2183) "." 1286 WHITESPACE@[2181; 2182) " "
1264 DOT@[2183; 2184) "." 1287 DOT@[2182; 2183) "."
1265 WHITESPACE@[2184; 2185) " " 1288 DOT@[2183; 2184) "."
1266 DOT@[2185; 2186) "." 1289 WHITESPACE@[2184; 2185) " "
1267 DOT@[2186; 2187) "." 1290 DOT@[2185; 2186) "."
1268 WHITESPACE@[2187; 2188) " " 1291 DOT@[2186; 2187) "."
1269 DOT@[2188; 2189) "." 1292 WHITESPACE@[2187; 2188) " "
1270 DOT@[2189; 2190) "." 1293 DOT@[2188; 2189) "."
1271 WHITESPACE@[2190; 2191) " " 1294 DOT@[2189; 2190) "."
1272 DOT@[2191; 2192) "." 1295 WHITESPACE@[2190; 2191) " "
1273 DOT@[2192; 2193) "." 1296 DOT@[2191; 2192) "."
1274 R_PAREN@[2193; 2194) ")" 1297 DOT@[2192; 2193) "."
1275 R_PAREN@[2194; 2195) ")" 1298 R_PAREN@[2193; 2194) ")"
1276 SEMI@[2195; 2196) ";" 1299 R_PAREN@[2194; 2195) ")"
1277 WHITESPACE@[2196; 2197) "\n" 1300 SEMI@[2195; 2196) ";"
1278 R_CURLY@[2197; 2198) "}" 1301 WHITESPACE@[2196; 2197) "\n"
1302 R_CURLY@[2197; 2198) "}"
1279 WHITESPACE@[2198; 2200) "\n\n" 1303 WHITESPACE@[2198; 2200) "\n\n"
1280 FN_DEF@[2200; 2693) 1304 FN_DEF@[2200; 2693)
1281 FN_KW@[2200; 2202) "fn" 1305 FN_KW@[2200; 2202) "fn"
@@ -1297,169 +1321,171 @@ SOURCE_FILE@[0; 3813)
1297 IDENT@[2210; 2212) "u8" 1321 IDENT@[2210; 2212) "u8"
1298 R_PAREN@[2212; 2213) ")" 1322 R_PAREN@[2212; 2213) ")"
1299 WHITESPACE@[2213; 2214) " " 1323 WHITESPACE@[2213; 2214) " "
1300 BLOCK@[2214; 2693) 1324 BLOCK_EXPR@[2214; 2693)
1301 L_CURLY@[2214; 2215) "{" 1325 BLOCK@[2214; 2693)
1302 WHITESPACE@[2215; 2220) "\n " 1326 L_CURLY@[2214; 2215) "{"
1303 IF_EXPR@[2220; 2691) 1327 WHITESPACE@[2215; 2220) "\n "
1304 IF_KW@[2220; 2222) "if" 1328 IF_EXPR@[2220; 2691)
1305 WHITESPACE@[2222; 2223) " " 1329 IF_KW@[2220; 2222) "if"
1306 CONDITION@[2223; 2232) 1330 WHITESPACE@[2222; 2223) " "
1307 BIN_EXPR@[2223; 2232) 1331 CONDITION@[2223; 2232)
1308 PATH_EXPR@[2223; 2225) 1332 BIN_EXPR@[2223; 2232)
1309 PATH@[2223; 2225) 1333 PATH_EXPR@[2223; 2225)
1310 PATH_SEGMENT@[2223; 2225) 1334 PATH@[2223; 2225)
1311 NAME_REF@[2223; 2225) 1335 PATH_SEGMENT@[2223; 2225)
1312 IDENT@[2223; 2225) "u8" 1336 NAME_REF@[2223; 2225)
1313 WHITESPACE@[2225; 2226) " " 1337 IDENT@[2223; 2225) "u8"
1314 NEQ@[2226; 2228) "!=" 1338 WHITESPACE@[2225; 2226) " "
1315 WHITESPACE@[2228; 2229) " " 1339 NEQ@[2226; 2228) "!="
1316 LITERAL@[2229; 2232) 1340 WHITESPACE@[2228; 2229) " "
1317 INT_NUMBER@[2229; 2232) "0u8" 1341 LITERAL@[2229; 2232)
1318 WHITESPACE@[2232; 2233) " " 1342 INT_NUMBER@[2229; 2232) "0u8"
1319 BLOCK@[2233; 2691) 1343 WHITESPACE@[2232; 2233) " "
1320 L_CURLY@[2233; 2234) "{" 1344 BLOCK_EXPR@[2233; 2691)
1321 WHITESPACE@[2234; 2243) "\n " 1345 BLOCK@[2233; 2691)
1322 EXPR_STMT@[2243; 2685) 1346 L_CURLY@[2233; 2234) "{"
1323 MACRO_CALL@[2243; 2684) 1347 WHITESPACE@[2234; 2243) "\n "
1324 PATH@[2243; 2252) 1348 EXPR_STMT@[2243; 2685)
1325 PATH_SEGMENT@[2243; 2252) 1349 MACRO_CALL@[2243; 2684)
1326 NAME_REF@[2243; 2252) 1350 PATH@[2243; 2252)
1327 IDENT@[2243; 2252) "assert_eq" 1351 PATH_SEGMENT@[2243; 2252)
1328 EXCL@[2252; 2253) "!" 1352 NAME_REF@[2243; 2252)
1329 TOKEN_TREE@[2253; 2684) 1353 IDENT@[2243; 2252) "assert_eq"
1330 L_PAREN@[2253; 2254) "(" 1354 EXCL@[2252; 2253) "!"
1331 INT_NUMBER@[2254; 2257) "8u8" 1355 TOKEN_TREE@[2253; 2684)
1332 COMMA@[2257; 2258) "," 1356 L_PAREN@[2253; 2254) "("
1333 WHITESPACE@[2258; 2259) " " 1357 INT_NUMBER@[2254; 2257) "8u8"
1334 TOKEN_TREE@[2259; 2683) 1358 COMMA@[2257; 2258) ","
1335 L_CURLY@[2259; 2260) "{" 1359 WHITESPACE@[2258; 2259) " "
1336 WHITESPACE@[2260; 2273) "\n " 1360 TOKEN_TREE@[2259; 2683)
1337 IDENT@[2273; 2284) "macro_rules" 1361 L_CURLY@[2259; 2260) "{"
1338 EXCL@[2284; 2285) "!" 1362 WHITESPACE@[2260; 2273) "\n "
1339 WHITESPACE@[2285; 2286) " " 1363 IDENT@[2273; 2284) "macro_rules"
1340 IDENT@[2286; 2288) "u8" 1364 EXCL@[2284; 2285) "!"
1341 WHITESPACE@[2288; 2289) " " 1365 WHITESPACE@[2285; 2286) " "
1342 TOKEN_TREE@[2289; 2567) 1366 IDENT@[2286; 2288) "u8"
1343 L_CURLY@[2289; 2290) "{" 1367 WHITESPACE@[2288; 2289) " "
1344 WHITESPACE@[2290; 2307) "\n " 1368 TOKEN_TREE@[2289; 2567)
1345 TOKEN_TREE@[2307; 2311) 1369 L_CURLY@[2289; 2290) "{"
1346 L_PAREN@[2307; 2308) "(" 1370 WHITESPACE@[2290; 2307) "\n "
1347 IDENT@[2308; 2310) "u8" 1371 TOKEN_TREE@[2307; 2311)
1348 R_PAREN@[2310; 2311) ")" 1372 L_PAREN@[2307; 2308) "("
1349 WHITESPACE@[2311; 2312) " " 1373 IDENT@[2308; 2310) "u8"
1350 EQ@[2312; 2313) "=" 1374 R_PAREN@[2310; 2311) ")"
1351 R_ANGLE@[2313; 2314) ">" 1375 WHITESPACE@[2311; 2312) " "
1352 WHITESPACE@[2314; 2315) " " 1376 EQ@[2312; 2313) "="
1353 TOKEN_TREE@[2315; 2552) 1377 R_ANGLE@[2313; 2314) ">"
1354 L_CURLY@[2315; 2316) "{" 1378 WHITESPACE@[2314; 2315) " "
1355 WHITESPACE@[2316; 2337) "\n " 1379 TOKEN_TREE@[2315; 2552)
1356 MOD_KW@[2337; 2340) "mod" 1380 L_CURLY@[2315; 2316) "{"
1357 WHITESPACE@[2340; 2341) " " 1381 WHITESPACE@[2316; 2337) "\n "
1358 IDENT@[2341; 2343) "u8" 1382 MOD_KW@[2337; 2340) "mod"
1359 WHITESPACE@[2343; 2344) " " 1383 WHITESPACE@[2340; 2341) " "
1360 TOKEN_TREE@[2344; 2534) 1384 IDENT@[2341; 2343) "u8"
1361 L_CURLY@[2344; 2345) "{" 1385 WHITESPACE@[2343; 2344) " "
1362 WHITESPACE@[2345; 2370) "\n ..." 1386 TOKEN_TREE@[2344; 2534)
1363 PUB_KW@[2370; 2373) "pub" 1387 L_CURLY@[2344; 2345) "{"
1364 WHITESPACE@[2373; 2374) " " 1388 WHITESPACE@[2345; 2370) "\n ..."
1365 FN_KW@[2374; 2376) "fn" 1389 PUB_KW@[2370; 2373) "pub"
1366 WHITESPACE@[2376; 2377) " " 1390 WHITESPACE@[2373; 2374) " "
1367 IDENT@[2377; 2379) "u8" 1391 FN_KW@[2374; 2376) "fn"
1368 L_ANGLE@[2379; 2380) "<" 1392 WHITESPACE@[2376; 2377) " "
1369 LIFETIME@[2380; 2383) "\'u8" 1393 IDENT@[2377; 2379) "u8"
1370 COLON@[2383; 2384) ":" 1394 L_ANGLE@[2379; 2380) "<"
1371 WHITESPACE@[2384; 2385) " " 1395 LIFETIME@[2380; 2383) "\'u8"
1372 LIFETIME@[2385; 2388) "\'u8" 1396 COLON@[2383; 2384) ":"
1373 WHITESPACE@[2388; 2389) " " 1397 WHITESPACE@[2384; 2385) " "
1374 PLUS@[2389; 2390) "+" 1398 LIFETIME@[2385; 2388) "\'u8"
1375 WHITESPACE@[2390; 2391) " " 1399 WHITESPACE@[2388; 2389) " "
1376 LIFETIME@[2391; 2394) "\'u8" 1400 PLUS@[2389; 2390) "+"
1377 R_ANGLE@[2394; 2395) ">" 1401 WHITESPACE@[2390; 2391) " "
1378 TOKEN_TREE@[2395; 2408) 1402 LIFETIME@[2391; 2394) "\'u8"
1379 L_PAREN@[2395; 2396) "(" 1403 R_ANGLE@[2394; 2395) ">"
1380 IDENT@[2396; 2398) "u8" 1404 TOKEN_TREE@[2395; 2408)
1381 COLON@[2398; 2399) ":" 1405 L_PAREN@[2395; 2396) "("
1382 WHITESPACE@[2399; 2400) " " 1406 IDENT@[2396; 2398) "u8"
1383 AMP@[2400; 2401) "&" 1407 COLON@[2398; 2399) ":"
1384 LIFETIME@[2401; 2404) "\'u8" 1408 WHITESPACE@[2399; 2400) " "
1385 WHITESPACE@[2404; 2405) " " 1409 AMP@[2400; 2401) "&"
1386 IDENT@[2405; 2407) "u8" 1410 LIFETIME@[2401; 2404) "\'u8"
1387 R_PAREN@[2407; 2408) ")" 1411 WHITESPACE@[2404; 2405) " "
1388 WHITESPACE@[2408; 2409) " " 1412 IDENT@[2405; 2407) "u8"
1389 MINUS@[2409; 2410) "-" 1413 R_PAREN@[2407; 2408) ")"
1390 R_ANGLE@[2410; 2411) ">" 1414 WHITESPACE@[2408; 2409) " "
1391 WHITESPACE@[2411; 2412) " " 1415 MINUS@[2409; 2410) "-"
1392 AMP@[2412; 2413) "&" 1416 R_ANGLE@[2410; 2411) ">"
1393 LIFETIME@[2413; 2416) "\'u8" 1417 WHITESPACE@[2411; 2412) " "
1394 WHITESPACE@[2416; 2417) " " 1418 AMP@[2412; 2413) "&"
1395 IDENT@[2417; 2419) "u8" 1419 LIFETIME@[2413; 2416) "\'u8"
1396 WHITESPACE@[2419; 2420) " " 1420 WHITESPACE@[2416; 2417) " "
1397 TOKEN_TREE@[2420; 2512) 1421 IDENT@[2417; 2419) "u8"
1398 L_CURLY@[2420; 2421) "{" 1422 WHITESPACE@[2419; 2420) " "
1399 WHITESPACE@[2421; 2450) "\n ..." 1423 TOKEN_TREE@[2420; 2512)
1400 STRING@[2450; 2454) "\"u8\"" 1424 L_CURLY@[2420; 2421) "{"
1401 SEMI@[2454; 2455) ";" 1425 WHITESPACE@[2421; 2450) "\n ..."
1402 WHITESPACE@[2455; 2484) "\n ..." 1426 STRING@[2450; 2454) "\"u8\""
1403 IDENT@[2484; 2486) "u8" 1427 SEMI@[2454; 2455) ";"
1404 WHITESPACE@[2486; 2511) "\n ..." 1428 WHITESPACE@[2455; 2484) "\n ..."
1405 R_CURLY@[2511; 2512) "}" 1429 IDENT@[2484; 2486) "u8"
1406 WHITESPACE@[2512; 2533) "\n " 1430 WHITESPACE@[2486; 2511) "\n ..."
1407 R_CURLY@[2533; 2534) "}" 1431 R_CURLY@[2511; 2512) "}"
1408 WHITESPACE@[2534; 2551) "\n " 1432 WHITESPACE@[2512; 2533) "\n "
1409 R_CURLY@[2551; 2552) "}" 1433 R_CURLY@[2533; 2534) "}"
1410 SEMI@[2552; 2553) ";" 1434 WHITESPACE@[2534; 2551) "\n "
1411 WHITESPACE@[2553; 2566) "\n " 1435 R_CURLY@[2551; 2552) "}"
1412 R_CURLY@[2566; 2567) "}" 1436 SEMI@[2552; 2553) ";"
1413 WHITESPACE@[2567; 2581) "\n\n " 1437 WHITESPACE@[2553; 2566) "\n "
1414 IDENT@[2581; 2583) "u8" 1438 R_CURLY@[2566; 2567) "}"
1415 EXCL@[2583; 2584) "!" 1439 WHITESPACE@[2567; 2581) "\n\n "
1416 TOKEN_TREE@[2584; 2588) 1440 IDENT@[2581; 2583) "u8"
1417 L_PAREN@[2584; 2585) "(" 1441 EXCL@[2583; 2584) "!"
1418 IDENT@[2585; 2587) "u8" 1442 TOKEN_TREE@[2584; 2588)
1419 R_PAREN@[2587; 2588) ")" 1443 L_PAREN@[2584; 2585) "("
1420 SEMI@[2588; 2589) ";" 1444 IDENT@[2585; 2587) "u8"
1421 WHITESPACE@[2589; 2602) "\n " 1445 R_PAREN@[2587; 2588) ")"
1422 LET_KW@[2602; 2605) "let" 1446 SEMI@[2588; 2589) ";"
1423 WHITESPACE@[2605; 2606) " " 1447 WHITESPACE@[2589; 2602) "\n "
1424 AMP@[2606; 2607) "&" 1448 LET_KW@[2602; 2605) "let"
1425 IDENT@[2607; 2609) "u8" 1449 WHITESPACE@[2605; 2606) " "
1426 COLON@[2609; 2610) ":" 1450 AMP@[2606; 2607) "&"
1427 WHITESPACE@[2610; 2611) " " 1451 IDENT@[2607; 2609) "u8"
1428 AMP@[2611; 2612) "&" 1452 COLON@[2609; 2610) ":"
1429 IDENT@[2612; 2614) "u8" 1453 WHITESPACE@[2610; 2611) " "
1430 WHITESPACE@[2614; 2615) " " 1454 AMP@[2611; 2612) "&"
1431 EQ@[2615; 2616) "=" 1455 IDENT@[2612; 2614) "u8"
1432 WHITESPACE@[2616; 2617) " " 1456 WHITESPACE@[2614; 2615) " "
1433 IDENT@[2617; 2619) "u8" 1457 EQ@[2615; 2616) "="
1434 COLON@[2619; 2620) ":" 1458 WHITESPACE@[2616; 2617) " "
1435 COLON@[2620; 2621) ":" 1459 IDENT@[2617; 2619) "u8"
1436 IDENT@[2621; 2623) "u8" 1460 COLON@[2619; 2620) ":"
1437 TOKEN_TREE@[2623; 2629) 1461 COLON@[2620; 2621) ":"
1438 L_PAREN@[2623; 2624) "(" 1462 IDENT@[2621; 2623) "u8"
1439 AMP@[2624; 2625) "&" 1463 TOKEN_TREE@[2623; 2629)
1440 INT_NUMBER@[2625; 2628) "8u8" 1464 L_PAREN@[2623; 2624) "("
1441 R_PAREN@[2628; 2629) ")" 1465 AMP@[2624; 2625) "&"
1442 SEMI@[2629; 2630) ";" 1466 INT_NUMBER@[2625; 2628) "8u8"
1443 WHITESPACE@[2630; 2643) "\n " 1467 R_PAREN@[2628; 2629) ")"
1444 CRATE_KW@[2643; 2648) "crate" 1468 SEMI@[2629; 2630) ";"
1445 COLON@[2648; 2649) ":" 1469 WHITESPACE@[2630; 2643) "\n "
1446 COLON@[2649; 2650) ":" 1470 CRATE_KW@[2643; 2648) "crate"
1447 IDENT@[2650; 2652) "u8" 1471 COLON@[2648; 2649) ":"
1448 TOKEN_TREE@[2652; 2657) 1472 COLON@[2649; 2650) ":"
1449 L_PAREN@[2652; 2653) "(" 1473 IDENT@[2650; 2652) "u8"
1450 INT_NUMBER@[2653; 2656) "0u8" 1474 TOKEN_TREE@[2652; 2657)
1451 R_PAREN@[2656; 2657) ")" 1475 L_PAREN@[2652; 2653) "("
1452 SEMI@[2657; 2658) ";" 1476 INT_NUMBER@[2653; 2656) "0u8"
1453 WHITESPACE@[2658; 2671) "\n " 1477 R_PAREN@[2656; 2657) ")"
1454 IDENT@[2671; 2673) "u8" 1478 SEMI@[2657; 2658) ";"
1455 WHITESPACE@[2673; 2682) "\n " 1479 WHITESPACE@[2658; 2671) "\n "
1456 R_CURLY@[2682; 2683) "}" 1480 IDENT@[2671; 2673) "u8"
1457 R_PAREN@[2683; 2684) ")" 1481 WHITESPACE@[2673; 2682) "\n "
1458 SEMI@[2684; 2685) ";" 1482 R_CURLY@[2682; 2683) "}"
1459 WHITESPACE@[2685; 2690) "\n " 1483 R_PAREN@[2683; 2684) ")"
1460 R_CURLY@[2690; 2691) "}" 1484 SEMI@[2684; 2685) ";"
1461 WHITESPACE@[2691; 2692) "\n" 1485 WHITESPACE@[2685; 2690) "\n "
1462 R_CURLY@[2692; 2693) "}" 1486 R_CURLY@[2690; 2691) "}"
1487 WHITESPACE@[2691; 2692) "\n"
1488 R_CURLY@[2692; 2693) "}"
1463 WHITESPACE@[2693; 2695) "\n\n" 1489 WHITESPACE@[2693; 2695) "\n\n"
1464 FN_DEF@[2695; 2832) 1490 FN_DEF@[2695; 2832)
1465 FN_KW@[2695; 2697) "fn" 1491 FN_KW@[2695; 2697) "fn"
@@ -1470,76 +1496,77 @@ SOURCE_FILE@[0; 3813)
1470 L_PAREN@[2703; 2704) "(" 1496 L_PAREN@[2703; 2704) "("
1471 R_PAREN@[2704; 2705) ")" 1497 R_PAREN@[2704; 2705) ")"
1472 WHITESPACE@[2705; 2706) " " 1498 WHITESPACE@[2705; 2706) " "
1473 BLOCK@[2706; 2832) 1499 BLOCK_EXPR@[2706; 2832)
1474 L_CURLY@[2706; 2707) "{" 1500 BLOCK@[2706; 2832)
1475 WHITESPACE@[2707; 2712) "\n " 1501 L_CURLY@[2706; 2707) "{"
1476 EXPR_STMT@[2712; 2830) 1502 WHITESPACE@[2707; 2712) "\n "
1477 MACRO_CALL@[2712; 2829) 1503 EXPR_STMT@[2712; 2830)
1478 PATH@[2712; 2721) 1504 MACRO_CALL@[2712; 2829)
1479 PATH_SEGMENT@[2712; 2721) 1505 PATH@[2712; 2721)
1480 NAME_REF@[2712; 2721) 1506 PATH_SEGMENT@[2712; 2721)
1481 IDENT@[2712; 2721) "assert_eq" 1507 NAME_REF@[2712; 2721)
1482 EXCL@[2721; 2722) "!" 1508 IDENT@[2712; 2721) "assert_eq"
1483 TOKEN_TREE@[2722; 2829) 1509 EXCL@[2721; 2722) "!"
1484 L_PAREN@[2722; 2723) "(" 1510 TOKEN_TREE@[2722; 2829)
1485 IDENT@[2723; 2729) "String" 1511 L_PAREN@[2722; 2723) "("
1486 COLON@[2729; 2730) ":" 1512 IDENT@[2723; 2729) "String"
1487 COLON@[2730; 2731) ":" 1513 COLON@[2729; 2730) ":"
1488 IDENT@[2731; 2735) "from" 1514 COLON@[2730; 2731) ":"
1489 TOKEN_TREE@[2735; 2742) 1515 IDENT@[2731; 2735) "from"
1490 L_PAREN@[2735; 2736) "(" 1516 TOKEN_TREE@[2735; 2742)
1491 STRING@[2736; 2741) "\"><>\"" 1517 L_PAREN@[2735; 2736) "("
1492 R_PAREN@[2741; 2742) ")" 1518 STRING@[2736; 2741) "\"><>\""
1493 COMMA@[2742; 2743) "," 1519 R_PAREN@[2741; 2742) ")"
1494 WHITESPACE@[2743; 2759) "\n " 1520 COMMA@[2742; 2743) ","
1495 IDENT@[2759; 2765) "String" 1521 WHITESPACE@[2743; 2759) "\n "
1496 COLON@[2765; 2766) ":" 1522 IDENT@[2759; 2765) "String"
1497 COLON@[2766; 2767) ":" 1523 COLON@[2765; 2766) ":"
1498 L_ANGLE@[2767; 2768) "<" 1524 COLON@[2766; 2767) ":"
1499 R_ANGLE@[2768; 2769) ">" 1525 L_ANGLE@[2767; 2768) "<"
1500 COLON@[2769; 2770) ":" 1526 R_ANGLE@[2768; 2769) ">"
1501 COLON@[2770; 2771) ":" 1527 COLON@[2769; 2770) ":"
1502 IDENT@[2771; 2775) "from" 1528 COLON@[2770; 2771) ":"
1503 COLON@[2775; 2776) ":" 1529 IDENT@[2771; 2775) "from"
1504 COLON@[2776; 2777) ":" 1530 COLON@[2775; 2776) ":"
1505 L_ANGLE@[2777; 2778) "<" 1531 COLON@[2776; 2777) ":"
1506 R_ANGLE@[2778; 2779) ">" 1532 L_ANGLE@[2777; 2778) "<"
1507 TOKEN_TREE@[2779; 2786) 1533 R_ANGLE@[2778; 2779) ">"
1508 L_PAREN@[2779; 2780) "(" 1534 TOKEN_TREE@[2779; 2786)
1509 STRING@[2780; 2785) "\"><>\"" 1535 L_PAREN@[2779; 2780) "("
1510 R_PAREN@[2785; 2786) ")" 1536 STRING@[2780; 2785) "\"><>\""
1511 DOT@[2786; 2787) "." 1537 R_PAREN@[2785; 2786) ")"
1512 IDENT@[2787; 2792) "chars" 1538 DOT@[2786; 2787) "."
1513 COLON@[2792; 2793) ":" 1539 IDENT@[2787; 2792) "chars"
1514 COLON@[2793; 2794) ":" 1540 COLON@[2792; 2793) ":"
1515 L_ANGLE@[2794; 2795) "<" 1541 COLON@[2793; 2794) ":"
1516 R_ANGLE@[2795; 2796) ">" 1542 L_ANGLE@[2794; 2795) "<"
1517 TOKEN_TREE@[2796; 2798) 1543 R_ANGLE@[2795; 2796) ">"
1518 L_PAREN@[2796; 2797) "(" 1544 TOKEN_TREE@[2796; 2798)
1519 R_PAREN@[2797; 2798) ")" 1545 L_PAREN@[2796; 2797) "("
1520 DOT@[2798; 2799) "." 1546 R_PAREN@[2797; 2798) ")"
1521 IDENT@[2799; 2802) "rev" 1547 DOT@[2798; 2799) "."
1522 COLON@[2802; 2803) ":" 1548 IDENT@[2799; 2802) "rev"
1523 COLON@[2803; 2804) ":" 1549 COLON@[2802; 2803) ":"
1524 L_ANGLE@[2804; 2805) "<" 1550 COLON@[2803; 2804) ":"
1525 R_ANGLE@[2805; 2806) ">" 1551 L_ANGLE@[2804; 2805) "<"
1526 TOKEN_TREE@[2806; 2808) 1552 R_ANGLE@[2805; 2806) ">"
1527 L_PAREN@[2806; 2807) "(" 1553 TOKEN_TREE@[2806; 2808)
1528 R_PAREN@[2807; 2808) ")" 1554 L_PAREN@[2806; 2807) "("
1529 DOT@[2808; 2809) "." 1555 R_PAREN@[2807; 2808) ")"
1530 IDENT@[2809; 2816) "collect" 1556 DOT@[2808; 2809) "."
1531 COLON@[2816; 2817) ":" 1557 IDENT@[2809; 2816) "collect"
1532 COLON@[2817; 2818) ":" 1558 COLON@[2816; 2817) ":"
1533 L_ANGLE@[2818; 2819) "<" 1559 COLON@[2817; 2818) ":"
1534 IDENT@[2819; 2825) "String" 1560 L_ANGLE@[2818; 2819) "<"
1535 R_ANGLE@[2825; 2826) ">" 1561 IDENT@[2819; 2825) "String"
1536 TOKEN_TREE@[2826; 2828) 1562 R_ANGLE@[2825; 2826) ">"
1537 L_PAREN@[2826; 2827) "(" 1563 TOKEN_TREE@[2826; 2828)
1538 R_PAREN@[2827; 2828) ")" 1564 L_PAREN@[2826; 2827) "("
1539 R_PAREN@[2828; 2829) ")" 1565 R_PAREN@[2827; 2828) ")"
1540 SEMI@[2829; 2830) ";" 1566 R_PAREN@[2828; 2829) ")"
1541 WHITESPACE@[2830; 2831) "\n" 1567 SEMI@[2829; 2830) ";"
1542 R_CURLY@[2831; 2832) "}" 1568 WHITESPACE@[2830; 2831) "\n"
1569 R_CURLY@[2831; 2832) "}"
1543 WHITESPACE@[2832; 2834) "\n\n" 1570 WHITESPACE@[2832; 2834) "\n\n"
1544 FN_DEF@[2834; 2906) 1571 FN_DEF@[2834; 2906)
1545 FN_KW@[2834; 2836) "fn" 1572 FN_KW@[2834; 2836) "fn"
@@ -1550,47 +1577,48 @@ SOURCE_FILE@[0; 3813)
1550 L_PAREN@[2842; 2843) "(" 1577 L_PAREN@[2842; 2843) "("
1551 R_PAREN@[2843; 2844) ")" 1578 R_PAREN@[2843; 2844) ")"
1552 WHITESPACE@[2844; 2845) " " 1579 WHITESPACE@[2844; 2845) " "
1553 BLOCK@[2845; 2906) 1580 BLOCK_EXPR@[2845; 2906)
1554 L_CURLY@[2845; 2846) "{" 1581 BLOCK@[2845; 2906)
1555 WHITESPACE@[2846; 2851) "\n " 1582 L_CURLY@[2845; 2846) "{"
1556 STRUCT_DEF@[2851; 2904) 1583 WHITESPACE@[2846; 2851) "\n "
1557 UNION_KW@[2851; 2856) "union" 1584 STRUCT_DEF@[2851; 2904)
1558 WHITESPACE@[2856; 2857) " " 1585 UNION_KW@[2851; 2856) "union"
1559 NAME@[2857; 2862) 1586 WHITESPACE@[2856; 2857) " "
1560 IDENT@[2857; 2862) "union" 1587 NAME@[2857; 2862)
1561 TYPE_PARAM_LIST@[2862; 2870) 1588 IDENT@[2857; 2862) "union"
1562 L_ANGLE@[2862; 2863) "<" 1589 TYPE_PARAM_LIST@[2862; 2870)
1563 LIFETIME_PARAM@[2863; 2869) 1590 L_ANGLE@[2862; 2863) "<"
1564 LIFETIME@[2863; 2869) "\'union" 1591 LIFETIME_PARAM@[2863; 2869)
1565 R_ANGLE@[2869; 2870) ">" 1592 LIFETIME@[2863; 2869) "\'union"
1566 WHITESPACE@[2870; 2871) " " 1593 R_ANGLE@[2869; 2870) ">"
1567 RECORD_FIELD_DEF_LIST@[2871; 2904) 1594 WHITESPACE@[2870; 2871) " "
1568 L_CURLY@[2871; 2872) "{" 1595 RECORD_FIELD_DEF_LIST@[2871; 2904)
1569 WHITESPACE@[2872; 2873) " " 1596 L_CURLY@[2871; 2872) "{"
1570 RECORD_FIELD_DEF@[2873; 2901) 1597 WHITESPACE@[2872; 2873) " "
1571 NAME@[2873; 2878) 1598 RECORD_FIELD_DEF@[2873; 2901)
1572 IDENT@[2873; 2878) "union" 1599 NAME@[2873; 2878)
1573 COLON@[2878; 2879) ":" 1600 IDENT@[2873; 2878) "union"
1574 WHITESPACE@[2879; 2880) " " 1601 COLON@[2878; 2879) ":"
1575 REFERENCE_TYPE@[2880; 2901) 1602 WHITESPACE@[2879; 2880) " "
1576 AMP@[2880; 2881) "&" 1603 REFERENCE_TYPE@[2880; 2901)
1577 LIFETIME@[2881; 2887) "\'union" 1604 AMP@[2880; 2881) "&"
1578 WHITESPACE@[2887; 2888) " " 1605 LIFETIME@[2881; 2887) "\'union"
1579 PATH_TYPE@[2888; 2901) 1606 WHITESPACE@[2887; 2888) " "
1580 PATH@[2888; 2901) 1607 PATH_TYPE@[2888; 2901)
1581 PATH_SEGMENT@[2888; 2901) 1608 PATH@[2888; 2901)
1582 NAME_REF@[2888; 2893) 1609 PATH_SEGMENT@[2888; 2901)
1583 IDENT@[2888; 2893) "union" 1610 NAME_REF@[2888; 2893)
1584 TYPE_ARG_LIST@[2893; 2901) 1611 IDENT@[2888; 2893) "union"
1585 L_ANGLE@[2893; 2894) "<" 1612 TYPE_ARG_LIST@[2893; 2901)
1586 LIFETIME_ARG@[2894; 2900) 1613 L_ANGLE@[2893; 2894) "<"
1587 LIFETIME@[2894; 2900) "\'union" 1614 LIFETIME_ARG@[2894; 2900)
1588 R_ANGLE@[2900; 2901) ">" 1615 LIFETIME@[2894; 2900) "\'union"
1589 COMMA@[2901; 2902) "," 1616 R_ANGLE@[2900; 2901) ">"
1590 WHITESPACE@[2902; 2903) " " 1617 COMMA@[2901; 2902) ","
1591 R_CURLY@[2903; 2904) "}" 1618 WHITESPACE@[2902; 2903) " "
1592 WHITESPACE@[2904; 2905) "\n" 1619 R_CURLY@[2903; 2904) "}"
1593 R_CURLY@[2905; 2906) "}" 1620 WHITESPACE@[2904; 2905) "\n"
1621 R_CURLY@[2905; 2906) "}"
1594 WHITESPACE@[2906; 2908) "\n\n" 1622 WHITESPACE@[2906; 2908) "\n\n"
1595 FN_DEF@[2908; 3042) 1623 FN_DEF@[2908; 3042)
1596 FN_KW@[2908; 2910) "fn" 1624 FN_KW@[2908; 2910) "fn"
@@ -1601,120 +1629,121 @@ SOURCE_FILE@[0; 3813)
1601 L_PAREN@[2929; 2930) "(" 1629 L_PAREN@[2929; 2930) "("
1602 R_PAREN@[2930; 2931) ")" 1630 R_PAREN@[2930; 2931) ")"
1603 WHITESPACE@[2931; 2932) " " 1631 WHITESPACE@[2931; 2932) " "
1604 BLOCK@[2932; 3042) 1632 BLOCK_EXPR@[2932; 3042)
1605 L_CURLY@[2932; 2933) "{" 1633 BLOCK@[2932; 3042)
1606 WHITESPACE@[2933; 2938) "\n " 1634 L_CURLY@[2932; 2933) "{"
1607 LET_STMT@[2938; 3021) 1635 WHITESPACE@[2933; 2938) "\n "
1608 LET_KW@[2938; 2941) "let" 1636 LET_STMT@[2938; 3021)
1609 WHITESPACE@[2941; 2942) " " 1637 LET_KW@[2938; 2941) "let"
1610 BIND_PAT@[2942; 2945) 1638 WHITESPACE@[2941; 2942) " "
1611 NAME@[2942; 2945) 1639 BIND_PAT@[2942; 2945)
1612 IDENT@[2942; 2945) "val" 1640 NAME@[2942; 2945)
1613 WHITESPACE@[2945; 2946) " " 1641 IDENT@[2942; 2945) "val"
1614 EQ@[2946; 2947) "=" 1642 WHITESPACE@[2945; 2946) " "
1615 WHITESPACE@[2947; 2948) " " 1643 EQ@[2946; 2947) "="
1616 PREFIX_EXPR@[2948; 3013) 1644 WHITESPACE@[2947; 2948) " "
1617 EXCL@[2948; 2949) "!" 1645 PREFIX_EXPR@[2948; 3013)
1618 PAREN_EXPR@[2949; 3013) 1646 EXCL@[2948; 2949) "!"
1619 L_PAREN@[2949; 2950) "(" 1647 PAREN_EXPR@[2949; 3013)
1620 BIN_EXPR@[2950; 3012) 1648 L_PAREN@[2949; 2950) "("
1621 CALL_EXPR@[2950; 2995) 1649 BIN_EXPR@[2950; 3012)
1622 PAREN_EXPR@[2950; 2971) 1650 CALL_EXPR@[2950; 2995)
1623 L_PAREN@[2950; 2951) "(" 1651 PAREN_EXPR@[2950; 2971)
1624 LAMBDA_EXPR@[2951; 2970) 1652 L_PAREN@[2950; 2951) "("
1625 PARAM_LIST@[2951; 2968) 1653 LAMBDA_EXPR@[2951; 2970)
1626 PIPE@[2951; 2952) "|" 1654 PARAM_LIST@[2951; 2968)
1627 PARAM@[2952; 2962) 1655 PIPE@[2951; 2952) "|"
1628 TUPLE_PAT@[2952; 2956) 1656 PARAM@[2952; 2962)
1629 L_PAREN@[2952; 2953) "(" 1657 TUPLE_PAT@[2952; 2956)
1630 DOTDOT@[2953; 2955) ".." 1658 L_PAREN@[2952; 2953) "("
1631 R_PAREN@[2955; 2956) ")" 1659 DOTDOT@[2953; 2955) ".."
1632 COLON@[2956; 2957) ":" 1660 R_PAREN@[2955; 2956) ")"
1633 TUPLE_TYPE@[2957; 2962) 1661 COLON@[2956; 2957) ":"
1634 L_PAREN@[2957; 2958) "(" 1662 TUPLE_TYPE@[2957; 2962)
1635 PLACEHOLDER_TYPE@[2958; 2959) 1663 L_PAREN@[2957; 2958) "("
1636 UNDERSCORE@[2958; 2959) "_" 1664 PLACEHOLDER_TYPE@[2958; 2959)
1637 COMMA@[2959; 2960) "," 1665 UNDERSCORE@[2958; 2959) "_"
1638 PLACEHOLDER_TYPE@[2960; 2961) 1666 COMMA@[2959; 2960) ","
1639 UNDERSCORE@[2960; 2961) "_" 1667 PLACEHOLDER_TYPE@[2960; 2961)
1640 R_PAREN@[2961; 2962) ")" 1668 UNDERSCORE@[2960; 2961) "_"
1641 COMMA@[2962; 2963) "," 1669 R_PAREN@[2961; 2962) ")"
1642 PARAM@[2963; 2967) 1670 COMMA@[2962; 2963) ","
1643 BIND_PAT@[2963; 2967) 1671 PARAM@[2963; 2967)
1644 NAME@[2963; 2965) 1672 BIND_PAT@[2963; 2967)
1645 IDENT@[2963; 2965) "__" 1673 NAME@[2963; 2965)
1646 AT@[2965; 2966) "@" 1674 IDENT@[2963; 2965) "__"
1647 PLACEHOLDER_PAT@[2966; 2967) 1675 AT@[2965; 2966) "@"
1648 UNDERSCORE@[2966; 2967) "_" 1676 PLACEHOLDER_PAT@[2966; 2967)
1649 PIPE@[2967; 2968) "|" 1677 UNDERSCORE@[2966; 2967) "_"
1650 PATH_EXPR@[2968; 2970) 1678 PIPE@[2967; 2968) "|"
1651 PATH@[2968; 2970) 1679 PATH_EXPR@[2968; 2970)
1652 PATH_SEGMENT@[2968; 2970) 1680 PATH@[2968; 2970)
1653 NAME_REF@[2968; 2970) 1681 PATH_SEGMENT@[2968; 2970)
1654 IDENT@[2968; 2970) "__" 1682 NAME_REF@[2968; 2970)
1655 R_PAREN@[2970; 2971) ")" 1683 IDENT@[2968; 2970) "__"
1656 ARG_LIST@[2971; 2995) 1684 R_PAREN@[2970; 2971) ")"
1657 L_PAREN@[2971; 2972) "(" 1685 ARG_LIST@[2971; 2995)
1658 TUPLE_EXPR@[2972; 2987) 1686 L_PAREN@[2971; 2972) "("
1659 L_PAREN@[2972; 2973) "(" 1687 TUPLE_EXPR@[2972; 2987)
1660 REF_EXPR@[2973; 2979) 1688 L_PAREN@[2972; 2973) "("
1661 AMP@[2973; 2974) "&" 1689 REF_EXPR@[2973; 2979)
1662 PREFIX_EXPR@[2974; 2979) 1690 AMP@[2973; 2974) "&"
1663 STAR@[2974; 2975) "*" 1691 PREFIX_EXPR@[2974; 2979)
1664 LITERAL@[2975; 2979) 1692 STAR@[2974; 2975) "*"
1665 STRING@[2975; 2979) "\"\\\\\"" 1693 LITERAL@[2975; 2979)
1666 COMMA@[2979; 2980) "," 1694 STRING@[2975; 2979) "\"\\\\\""
1667 LITERAL@[2980; 2986) 1695 COMMA@[2979; 2980) ","
1668 CHAR@[2980; 2986) "\'🤔\'" 1696 LITERAL@[2980; 2986)
1669 R_PAREN@[2986; 2987) ")" 1697 CHAR@[2980; 2986) "\'🤔\'"
1670 COMMENT@[2987; 2991) "/**/" 1698 R_PAREN@[2986; 2987) ")"
1671 COMMA@[2991; 2992) "," 1699 COMMENT@[2987; 2991) "/**/"
1672 BLOCK_EXPR@[2992; 2994) 1700 COMMA@[2991; 2992) ","
1673 BLOCK@[2992; 2994) 1701 BLOCK_EXPR@[2992; 2994)
1674 L_CURLY@[2992; 2993) "{" 1702 BLOCK@[2992; 2994)
1675 R_CURLY@[2993; 2994) "}" 1703 L_CURLY@[2992; 2993) "{"
1676 R_PAREN@[2994; 2995) ")" 1704 R_CURLY@[2993; 2994) "}"
1677 EQEQ@[2995; 2997) "==" 1705 R_PAREN@[2994; 2995) ")"
1678 BLOCK_EXPR@[2997; 3012) 1706 EQEQ@[2995; 2997) "=="
1679 BLOCK@[2997; 3012) 1707 BLOCK_EXPR@[2997; 3012)
1680 L_CURLY@[2997; 2998) "{" 1708 BLOCK@[2997; 3012)
1681 EXPR_STMT@[2998; 3011) 1709 L_CURLY@[2997; 2998) "{"
1682 REF_EXPR@[2998; 3010) 1710 EXPR_STMT@[2998; 3011)
1683 AMP@[2998; 2999) "&" 1711 REF_EXPR@[2998; 3010)
1684 INDEX_EXPR@[2999; 3010) 1712 AMP@[2998; 2999) "&"
1685 ARRAY_EXPR@[2999; 3006) 1713 INDEX_EXPR@[2999; 3010)
1686 L_BRACK@[2999; 3000) "[" 1714 ARRAY_EXPR@[2999; 3006)
1687 RANGE_EXPR@[3000; 3005) 1715 L_BRACK@[2999; 3000) "["
1688 DOTDOTEQ@[3000; 3003) "..=" 1716 RANGE_EXPR@[3000; 3005)
1689 RANGE_EXPR@[3003; 3005) 1717 DOTDOTEQ@[3000; 3003) "..="
1690 DOTDOT@[3003; 3005) ".." 1718 RANGE_EXPR@[3003; 3005)
1691 R_BRACK@[3005; 3006) "]" 1719 DOTDOT@[3003; 3005) ".."
1692 L_BRACK@[3006; 3007) "[" 1720 R_BRACK@[3005; 3006) "]"
1693 RANGE_EXPR@[3007; 3009) 1721 L_BRACK@[3006; 3007) "["
1694 DOTDOT@[3007; 3009) ".." 1722 RANGE_EXPR@[3007; 3009)
1695 R_BRACK@[3009; 3010) "]" 1723 DOTDOT@[3007; 3009) ".."
1696 SEMI@[3010; 3011) ";" 1724 R_BRACK@[3009; 3010) "]"
1697 R_CURLY@[3011; 3012) "}" 1725 SEMI@[3010; 3011) ";"
1698 R_PAREN@[3012; 3013) ")" 1726 R_CURLY@[3011; 3012) "}"
1699 COMMENT@[3013; 3015) "//" 1727 R_PAREN@[3012; 3013) ")"
1700 WHITESPACE@[3015; 3020) "\n " 1728 COMMENT@[3013; 3015) "//"
1701 SEMI@[3020; 3021) ";" 1729 WHITESPACE@[3015; 3020) "\n "
1702 WHITESPACE@[3021; 3026) "\n " 1730 SEMI@[3020; 3021) ";"
1703 EXPR_STMT@[3026; 3040) 1731 WHITESPACE@[3021; 3026) "\n "
1704 MACRO_CALL@[3026; 3039) 1732 EXPR_STMT@[3026; 3040)
1705 PATH@[3026; 3032) 1733 MACRO_CALL@[3026; 3039)
1706 PATH_SEGMENT@[3026; 3032) 1734 PATH@[3026; 3032)
1707 NAME_REF@[3026; 3032) 1735 PATH_SEGMENT@[3026; 3032)
1708 IDENT@[3026; 3032) "assert" 1736 NAME_REF@[3026; 3032)
1709 EXCL@[3032; 3033) "!" 1737 IDENT@[3026; 3032) "assert"
1710 TOKEN_TREE@[3033; 3039) 1738 EXCL@[3032; 3033) "!"
1711 L_PAREN@[3033; 3034) "(" 1739 TOKEN_TREE@[3033; 3039)
1712 EXCL@[3034; 3035) "!" 1740 L_PAREN@[3033; 3034) "("
1713 IDENT@[3035; 3038) "val" 1741 EXCL@[3034; 3035) "!"
1714 R_PAREN@[3038; 3039) ")" 1742 IDENT@[3035; 3038) "val"
1715 SEMI@[3039; 3040) ";" 1743 R_PAREN@[3038; 3039) ")"
1716 WHITESPACE@[3040; 3041) "\n" 1744 SEMI@[3039; 3040) ";"
1717 R_CURLY@[3041; 3042) "}" 1745 WHITESPACE@[3040; 3041) "\n"
1746 R_CURLY@[3041; 3042) "}"
1718 WHITESPACE@[3042; 3044) "\n\n" 1747 WHITESPACE@[3042; 3044) "\n\n"
1719 FN_DEF@[3044; 3514) 1748 FN_DEF@[3044; 3514)
1720 FN_KW@[3044; 3046) "fn" 1749 FN_KW@[3044; 3046) "fn"
@@ -1749,306 +1778,307 @@ SOURCE_FILE@[0; 3813)
1749 NAME_REF@[3078; 3083) 1778 NAME_REF@[3078; 3083)
1750 IDENT@[3078; 3083) "Debug" 1779 IDENT@[3078; 3083) "Debug"
1751 WHITESPACE@[3083; 3084) " " 1780 WHITESPACE@[3083; 3084) " "
1752 BLOCK@[3084; 3514) 1781 BLOCK_EXPR@[3084; 3514)
1753 L_CURLY@[3084; 3085) "{" 1782 BLOCK@[3084; 3514)
1754 WHITESPACE@[3085; 3090) "\n " 1783 L_CURLY@[3084; 3085) "{"
1755 RANGE_EXPR@[3090; 3512) 1784 WHITESPACE@[3085; 3090) "\n "
1756 DOTDOTEQ@[3090; 3093) "..=" 1785 RANGE_EXPR@[3090; 3512)
1757 RANGE_EXPR@[3093; 3512) 1786 DOTDOTEQ@[3090; 3093) "..="
1758 DOTDOTEQ@[3093; 3096) "..=" 1787 RANGE_EXPR@[3093; 3512)
1759 RANGE_EXPR@[3096; 3512) 1788 DOTDOTEQ@[3093; 3096) "..="
1760 DOTDOT@[3096; 3098) ".." 1789 RANGE_EXPR@[3096; 3512)
1761 WHITESPACE@[3098; 3099) " " 1790 DOTDOT@[3096; 3098) ".."
1762 RANGE_EXPR@[3099; 3512) 1791 WHITESPACE@[3098; 3099) " "
1763 DOTDOT@[3099; 3101) ".." 1792 RANGE_EXPR@[3099; 3512)
1764 WHITESPACE@[3101; 3105) " " 1793 DOTDOT@[3099; 3101) ".."
1765 RANGE_EXPR@[3105; 3512) 1794 WHITESPACE@[3101; 3105) " "
1766 DOTDOT@[3105; 3107) ".." 1795 RANGE_EXPR@[3105; 3512)
1767 WHITESPACE@[3107; 3108) " " 1796 DOTDOT@[3105; 3107) ".."
1768 RANGE_EXPR@[3108; 3512) 1797 WHITESPACE@[3107; 3108) " "
1769 DOTDOT@[3108; 3110) ".." 1798 RANGE_EXPR@[3108; 3512)
1770 WHITESPACE@[3110; 3111) " " 1799 DOTDOT@[3108; 3110) ".."
1771 RANGE_EXPR@[3111; 3512) 1800 WHITESPACE@[3110; 3111) " "
1772 DOTDOT@[3111; 3113) ".." 1801 RANGE_EXPR@[3111; 3512)
1773 WHITESPACE@[3113; 3114) " " 1802 DOTDOT@[3111; 3113) ".."
1774 RANGE_EXPR@[3114; 3512) 1803 WHITESPACE@[3113; 3114) " "
1775 DOTDOT@[3114; 3116) ".." 1804 RANGE_EXPR@[3114; 3512)
1776 WHITESPACE@[3116; 3120) " " 1805 DOTDOT@[3114; 3116) ".."
1777 RANGE_EXPR@[3120; 3512) 1806 WHITESPACE@[3116; 3120) " "
1778 DOTDOT@[3120; 3122) ".." 1807 RANGE_EXPR@[3120; 3512)
1779 WHITESPACE@[3122; 3123) " " 1808 DOTDOT@[3120; 3122) ".."
1780 RANGE_EXPR@[3123; 3512) 1809 WHITESPACE@[3122; 3123) " "
1781 DOTDOT@[3123; 3125) ".." 1810 RANGE_EXPR@[3123; 3512)
1782 WHITESPACE@[3125; 3126) " " 1811 DOTDOT@[3123; 3125) ".."
1783 RANGE_EXPR@[3126; 3512) 1812 WHITESPACE@[3125; 3126) " "
1784 DOTDOT@[3126; 3128) ".." 1813 RANGE_EXPR@[3126; 3512)
1785 WHITESPACE@[3128; 3129) " " 1814 DOTDOT@[3126; 3128) ".."
1786 RANGE_EXPR@[3129; 3512) 1815 WHITESPACE@[3128; 3129) " "
1787 DOTDOT@[3129; 3131) ".." 1816 RANGE_EXPR@[3129; 3512)
1788 WHITESPACE@[3131; 3135) " " 1817 DOTDOT@[3129; 3131) ".."
1789 RANGE_EXPR@[3135; 3512) 1818 WHITESPACE@[3131; 3135) " "
1790 DOTDOT@[3135; 3137) ".." 1819 RANGE_EXPR@[3135; 3512)
1791 WHITESPACE@[3137; 3138) " " 1820 DOTDOT@[3135; 3137) ".."
1792 RANGE_EXPR@[3138; 3512) 1821 WHITESPACE@[3137; 3138) " "
1793 DOTDOTEQ@[3138; 3141) "..=" 1822 RANGE_EXPR@[3138; 3512)
1794 RANGE_EXPR@[3141; 3512) 1823 DOTDOTEQ@[3138; 3141) "..="
1795 DOTDOT@[3141; 3143) ".." 1824 RANGE_EXPR@[3141; 3512)
1796 WHITESPACE@[3143; 3144) " " 1825 DOTDOT@[3141; 3143) ".."
1797 RANGE_EXPR@[3144; 3512) 1826 WHITESPACE@[3143; 3144) " "
1798 DOTDOT@[3144; 3146) ".." 1827 RANGE_EXPR@[3144; 3512)
1799 WHITESPACE@[3146; 3151) "\n " 1828 DOTDOT@[3144; 3146) ".."
1800 RANGE_EXPR@[3151; 3512) 1829 WHITESPACE@[3146; 3151) "\n "
1801 DOTDOTEQ@[3151; 3154) "..=" 1830 RANGE_EXPR@[3151; 3512)
1802 RANGE_EXPR@[3154; 3512) 1831 DOTDOTEQ@[3151; 3154) "..="
1803 DOTDOT@[3154; 3156) ".." 1832 RANGE_EXPR@[3154; 3512)
1804 WHITESPACE@[3156; 3157) " " 1833 DOTDOT@[3154; 3156) ".."
1805 RANGE_EXPR@[3157; 3512) 1834 WHITESPACE@[3156; 3157) " "
1806 DOTDOTEQ@[3157; 3160) "..=" 1835 RANGE_EXPR@[3157; 3512)
1807 RANGE_EXPR@[3160; 3512) 1836 DOTDOTEQ@[3157; 3160) "..="
1808 DOTDOT@[3160; 3162) ".." 1837 RANGE_EXPR@[3160; 3512)
1809 WHITESPACE@[3162; 3166) " " 1838 DOTDOT@[3160; 3162) ".."
1810 RANGE_EXPR@[3166; 3512) 1839 WHITESPACE@[3162; 3166) " "
1811 DOTDOT@[3166; 3168) ".." 1840 RANGE_EXPR@[3166; 3512)
1812 WHITESPACE@[3168; 3169) " " 1841 DOTDOT@[3166; 3168) ".."
1813 RANGE_EXPR@[3169; 3512) 1842 WHITESPACE@[3168; 3169) " "
1814 DOTDOT@[3169; 3171) ".." 1843 RANGE_EXPR@[3169; 3512)
1815 WHITESPACE@[3171; 3172) " " 1844 DOTDOT@[3169; 3171) ".."
1816 RANGE_EXPR@[3172; 3512) 1845 WHITESPACE@[3171; 3172) " "
1817 DOTDOT@[3172; 3174) ".." 1846 RANGE_EXPR@[3172; 3512)
1818 WHITESPACE@[3174; 3175) " " 1847 DOTDOT@[3172; 3174) ".."
1819 RANGE_EXPR@[3175; 3512) 1848 WHITESPACE@[3174; 3175) " "
1820 DOTDOT@[3175; 3177) ".." 1849 RANGE_EXPR@[3175; 3512)
1821 WHITESPACE@[3177; 3181) " " 1850 DOTDOT@[3175; 3177) ".."
1822 RANGE_EXPR@[3181; 3512) 1851 WHITESPACE@[3177; 3181) " "
1823 DOTDOT@[3181; 3183) ".." 1852 RANGE_EXPR@[3181; 3512)
1824 WHITESPACE@[3183; 3184) " " 1853 DOTDOT@[3181; 3183) ".."
1825 RANGE_EXPR@[3184; 3512) 1854 WHITESPACE@[3183; 3184) " "
1826 DOTDOT@[3184; 3186) ".." 1855 RANGE_EXPR@[3184; 3512)
1827 WHITESPACE@[3186; 3187) " " 1856 DOTDOT@[3184; 3186) ".."
1828 RANGE_EXPR@[3187; 3512) 1857 WHITESPACE@[3186; 3187) " "
1829 DOTDOT@[3187; 3189) ".." 1858 RANGE_EXPR@[3187; 3512)
1830 WHITESPACE@[3189; 3190) " " 1859 DOTDOT@[3187; 3189) ".."
1831 RANGE_EXPR@[3190; 3512) 1860 WHITESPACE@[3189; 3190) " "
1832 DOTDOT@[3190; 3192) ".." 1861 RANGE_EXPR@[3190; 3512)
1833 WHITESPACE@[3192; 3196) " " 1862 DOTDOT@[3190; 3192) ".."
1834 RANGE_EXPR@[3196; 3512) 1863 WHITESPACE@[3192; 3196) " "
1835 DOTDOTEQ@[3196; 3199) "..=" 1864 RANGE_EXPR@[3196; 3512)
1836 RANGE_EXPR@[3199; 3512) 1865 DOTDOTEQ@[3196; 3199) "..="
1837 DOTDOTEQ@[3199; 3202) "..=" 1866 RANGE_EXPR@[3199; 3512)
1838 RANGE_EXPR@[3202; 3512) 1867 DOTDOTEQ@[3199; 3202) "..="
1839 DOTDOTEQ@[3202; 3205) "..=" 1868 RANGE_EXPR@[3202; 3512)
1840 RANGE_EXPR@[3205; 3512) 1869 DOTDOTEQ@[3202; 3205) "..="
1841 DOTDOT@[3205; 3207) ".." 1870 RANGE_EXPR@[3205; 3512)
1842 WHITESPACE@[3207; 3212) "\n " 1871 DOTDOT@[3205; 3207) ".."
1843 RANGE_EXPR@[3212; 3512) 1872 WHITESPACE@[3207; 3212) "\n "
1844 DOTDOTEQ@[3212; 3215) "..=" 1873 RANGE_EXPR@[3212; 3512)
1845 RANGE_EXPR@[3215; 3512) 1874 DOTDOTEQ@[3212; 3215) "..="
1846 DOTDOT@[3215; 3217) ".." 1875 RANGE_EXPR@[3215; 3512)
1847 WHITESPACE@[3217; 3218) " " 1876 DOTDOT@[3215; 3217) ".."
1848 RANGE_EXPR@[3218; 3512) 1877 WHITESPACE@[3217; 3218) " "
1849 DOTDOTEQ@[3218; 3221) "..=" 1878 RANGE_EXPR@[3218; 3512)
1850 RANGE_EXPR@[3221; 3512) 1879 DOTDOTEQ@[3218; 3221) "..="
1851 DOTDOT@[3221; 3223) ".." 1880 RANGE_EXPR@[3221; 3512)
1852 WHITESPACE@[3223; 3227) " " 1881