aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_syntax/tests/data/parser/ok
diff options
context:
space:
mode:
authorAleksey Kladov <[email protected]>2019-07-24 10:38:21 +0100
committerAleksey Kladov <[email protected]>2019-07-24 10:49:19 +0100
commit459241f272748ff2e57b2c7e84f5a04f78d67edb (patch)
tree2353f8f068962313d0b2748aab58b71c4ca456d2 /crates/ra_syntax/tests/data/parser/ok
parent4d544fbf9b664b6a29d358d3cb41cdd7cd15e4d6 (diff)
move syntax tests to unit tests
Diffstat (limited to 'crates/ra_syntax/tests/data/parser/ok')
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0000_empty.rs0
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0000_empty.txt1
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0001_struct_item.rs3
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0001_struct_item.txt39
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0002_struct_item_field.rs3
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0002_struct_item_field.txt22
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0004_file_shebang.rs1
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0004_file_shebang.txt2
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0005_fn_item.rs2
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0005_fn_item.txt15
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0006_inner_attributes.rs10
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0006_inner_attributes.txt164
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0007_extern_crate.rs3
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0007_extern_crate.txt40
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0008_mod_item.rs17
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0008_mod_item.txt90
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0009_use_item.rs2
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0009_use_item.txt21
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0010_use_path_segments.rs2
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0010_use_path_segments.txt42
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0011_outer_attribute.rs3
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0011_outer_attribute.txt32
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0012_visibility.rs5
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0012_visibility.txt102
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0013_use_path_self_super.rs3
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0013_use_path_self_super.txt57
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0014_use_tree.rs7
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0014_use_tree.txt95
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0015_use_tree.rs2
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0015_use_tree.txt65
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0016_struct_flavors.rs10
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0016_struct_flavors.txt93
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0017_attr_trailing_comma.rs2
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0017_attr_trailing_comma.txt26
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0018_struct_type_params.rs17
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0018_struct_type_params.txt257
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0019_enums.rs25
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0019_enums.txt155
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0020_type_param_bounds.rs10
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0020_type_param_bounds.txt268
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0021_extern_fn.rs8
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0021_extern_fn.txt56
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0022_empty_extern_block.rs5
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0022_empty_extern_block.txt21
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0023_static_items.rs2
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0023_static_items.txt41
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0024_const_item.rs2
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0024_const_item.txt41
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0025_extern_fn_in_block.rs3
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0025_extern_fn_in_block.txt31
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0026_const_fn_in_block.rs3
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0026_const_fn_in_block.txt30
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0027_unsafe_fn_in_block.rs4
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0027_unsafe_fn_in_block.txt41
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0028_operator_binding_power.rs14
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0028_operator_binding_power.txt185
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0029_range_forms.rs11
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0029_range_forms.txt151
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0030_string_suffixes.rs6
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0030_string_suffixes.txt63
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0030_traits.rs11
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0030_traits.txt93
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0031_extern.rs29
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0031_extern.txt973
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0032_where_for.rs4
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0032_where_for.txt90
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0033_label_break.rs28
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0033_label_break.txt215
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0034_crate_path_in_call.rs3
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0034_crate_path_in_call.txt41
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0035_weird_exprs.rs154
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0035_weird_exprs.txt2285
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0036_fully_qualified.rs8
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0036_fully_qualified.txt92
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0037_mod.rs5
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0037_mod.txt16
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0038_where_pred_type.rs1
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0038_where_pred_type.txt42
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0039_raw_fn_item.rs2
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0039_raw_fn_item.txt15
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0040_raw_struct_item_field.rs3
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0040_raw_struct_item_field.txt22
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0041_raw_keywords.rs1
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0041_raw_keywords.txt49
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0042_ufcs_call_list.rs15
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0042_ufcs_call_list.txt123
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0043_complex_assignment.rs8
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0043_complex_assignment.txt109
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0044_let_attrs.rs5
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0044_let_attrs.txt73
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0045_block_inner_attrs.rs20
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0045_block_inner_attrs.txt169
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0046_extern_inner_attributes.rs4
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0046_extern_inner_attributes.txt26
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0047_minus_in_inner_pattern.rs27
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0047_minus_in_inner_pattern.txt320
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0048_compound_assignment.rs17
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0048_compound_assignment.txt200
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0049_async_block.rs5
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0049_async_block.txt35
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0050_async_block_as_argument.rs5
-rw-r--r--crates/ra_syntax/tests/data/parser/ok/0050_async_block_as_argument.txt90
102 files changed, 0 insertions, 7864 deletions
diff --git a/crates/ra_syntax/tests/data/parser/ok/0000_empty.rs b/crates/ra_syntax/tests/data/parser/ok/0000_empty.rs
deleted file mode 100644
index e69de29bb..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0000_empty.rs
+++ /dev/null
diff --git a/crates/ra_syntax/tests/data/parser/ok/0000_empty.txt b/crates/ra_syntax/tests/data/parser/ok/0000_empty.txt
deleted file mode 100644
index 08f5a942f..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0000_empty.txt
+++ /dev/null
@@ -1 +0,0 @@
1SOURCE_FILE@[0; 0)
diff --git a/crates/ra_syntax/tests/data/parser/ok/0001_struct_item.rs b/crates/ra_syntax/tests/data/parser/ok/0001_struct_item.rs
deleted file mode 100644
index 512aeb3e7..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0001_struct_item.rs
+++ /dev/null
@@ -1,3 +0,0 @@
1struct S<T: Copy> {
2 f: T,
3}
diff --git a/crates/ra_syntax/tests/data/parser/ok/0001_struct_item.txt b/crates/ra_syntax/tests/data/parser/ok/0001_struct_item.txt
deleted file mode 100644
index c6653cf25..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0001_struct_item.txt
+++ /dev/null
@@ -1,39 +0,0 @@
1SOURCE_FILE@[0; 32)
2 STRUCT_DEF@[0; 31)
3 STRUCT_KW@[0; 6) "struct"
4 WHITESPACE@[6; 7) " "
5 NAME@[7; 8)
6 IDENT@[7; 8) "S"
7 TYPE_PARAM_LIST@[8; 17)
8 L_ANGLE@[8; 9) "<"
9 TYPE_PARAM@[9; 16)
10 NAME@[9; 10)
11 IDENT@[9; 10) "T"
12 COLON@[10; 11) ":"
13 WHITESPACE@[11; 12) " "
14 TYPE_BOUND_LIST@[12; 16)
15 TYPE_BOUND@[12; 16)
16 PATH_TYPE@[12; 16)
17 PATH@[12; 16)
18 PATH_SEGMENT@[12; 16)
19 NAME_REF@[12; 16)
20 IDENT@[12; 16) "Copy"
21 R_ANGLE@[16; 17) ">"
22 WHITESPACE@[17; 18) " "
23 NAMED_FIELD_DEF_LIST@[18; 31)
24 L_CURLY@[18; 19) "{"
25 WHITESPACE@[19; 24) "\n "
26 NAMED_FIELD_DEF@[24; 28)
27 NAME@[24; 25)
28 IDENT@[24; 25) "f"
29 COLON@[25; 26) ":"
30 WHITESPACE@[26; 27) " "
31 PATH_TYPE@[27; 28)
32 PATH@[27; 28)
33 PATH_SEGMENT@[27; 28)
34 NAME_REF@[27; 28)
35 IDENT@[27; 28) "T"
36 COMMA@[28; 29) ","
37 WHITESPACE@[29; 30) "\n"
38 R_CURLY@[30; 31) "}"
39 WHITESPACE@[31; 32) "\n"
diff --git a/crates/ra_syntax/tests/data/parser/ok/0002_struct_item_field.rs b/crates/ra_syntax/tests/data/parser/ok/0002_struct_item_field.rs
deleted file mode 100644
index cc3866d25..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0002_struct_item_field.rs
+++ /dev/null
@@ -1,3 +0,0 @@
1struct S {
2 foo: u32
3} \ No newline at end of file
diff --git a/crates/ra_syntax/tests/data/parser/ok/0002_struct_item_field.txt b/crates/ra_syntax/tests/data/parser/ok/0002_struct_item_field.txt
deleted file mode 100644
index d0565ea83..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0002_struct_item_field.txt
+++ /dev/null
@@ -1,22 +0,0 @@
1SOURCE_FILE@[0; 25)
2 STRUCT_DEF@[0; 25)
3 STRUCT_KW@[0; 6) "struct"
4 WHITESPACE@[6; 7) " "
5 NAME@[7; 8)
6 IDENT@[7; 8) "S"
7 WHITESPACE@[8; 9) " "
8 NAMED_FIELD_DEF_LIST@[9; 25)
9 L_CURLY@[9; 10) "{"
10 WHITESPACE@[10; 15) "\n "
11 NAMED_FIELD_DEF@[15; 23)
12 NAME@[15; 18)
13 IDENT@[15; 18) "foo"
14 COLON@[18; 19) ":"
15 WHITESPACE@[19; 20) " "
16 PATH_TYPE@[20; 23)
17 PATH@[20; 23)
18 PATH_SEGMENT@[20; 23)
19 NAME_REF@[20; 23)
20 IDENT@[20; 23) "u32"
21 WHITESPACE@[23; 24) "\n"
22 R_CURLY@[24; 25) "}"
diff --git a/crates/ra_syntax/tests/data/parser/ok/0004_file_shebang.rs b/crates/ra_syntax/tests/data/parser/ok/0004_file_shebang.rs
deleted file mode 100644
index 53dc9e617..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0004_file_shebang.rs
+++ /dev/null
@@ -1 +0,0 @@
1#!/use/bin/env rusti \ No newline at end of file
diff --git a/crates/ra_syntax/tests/data/parser/ok/0004_file_shebang.txt b/crates/ra_syntax/tests/data/parser/ok/0004_file_shebang.txt
deleted file mode 100644
index e3915c2df..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0004_file_shebang.txt
+++ /dev/null
@@ -1,2 +0,0 @@
1SOURCE_FILE@[0; 20)
2 SHEBANG@[0; 20) "#!/use/bin/env rusti"
diff --git a/crates/ra_syntax/tests/data/parser/ok/0005_fn_item.rs b/crates/ra_syntax/tests/data/parser/ok/0005_fn_item.rs
deleted file mode 100644
index 03210551c..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0005_fn_item.rs
+++ /dev/null
@@ -1,2 +0,0 @@
1fn foo() {
2}
diff --git a/crates/ra_syntax/tests/data/parser/ok/0005_fn_item.txt b/crates/ra_syntax/tests/data/parser/ok/0005_fn_item.txt
deleted file mode 100644
index 9b63a24e4..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0005_fn_item.txt
+++ /dev/null
@@ -1,15 +0,0 @@
1SOURCE_FILE@[0; 13)
2 FN_DEF@[0; 12)
3 FN_KW@[0; 2) "fn"
4 WHITESPACE@[2; 3) " "
5 NAME@[3; 6)
6 IDENT@[3; 6) "foo"
7 PARAM_LIST@[6; 8)
8 L_PAREN@[6; 7) "("
9 R_PAREN@[7; 8) ")"
10 WHITESPACE@[8; 9) " "
11 BLOCK@[9; 12)
12 L_CURLY@[9; 10) "{"
13 WHITESPACE@[10; 11) "\n"
14 R_CURLY@[11; 12) "}"
15 WHITESPACE@[12; 13) "\n"
diff --git a/crates/ra_syntax/tests/data/parser/ok/0006_inner_attributes.rs b/crates/ra_syntax/tests/data/parser/ok/0006_inner_attributes.rs
deleted file mode 100644
index e81f8b1e8..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0006_inner_attributes.rs
+++ /dev/null
@@ -1,10 +0,0 @@
1#![attr]
2#![attr(true)]
3#![attr(ident)]
4#![attr(ident, 100, true, "true", ident = 100, ident = "hello", ident(100))]
5#![attr(100)]
6#![attr(enabled = true)]
7#![enabled(true)]
8#![attr("hello")]
9#![repr(C, align = 4)]
10#![repr(C, align(4))] \ No newline at end of file
diff --git a/crates/ra_syntax/tests/data/parser/ok/0006_inner_attributes.txt b/crates/ra_syntax/tests/data/parser/ok/0006_inner_attributes.txt
deleted file mode 100644
index d8cabc9af..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0006_inner_attributes.txt
+++ /dev/null
@@ -1,164 +0,0 @@
1SOURCE_FILE@[0; 236)
2 ATTR@[0; 8)
3 POUND@[0; 1) "#"
4 EXCL@[1; 2) "!"
5 TOKEN_TREE@[2; 8)
6 L_BRACK@[2; 3) "["
7 IDENT@[3; 7) "attr"
8 R_BRACK@[7; 8) "]"
9 WHITESPACE@[8; 9) "\n"
10 ATTR@[9; 23)
11 POUND@[9; 10) "#"
12 EXCL@[10; 11) "!"
13 TOKEN_TREE@[11; 23)
14 L_BRACK@[11; 12) "["
15 IDENT@[12; 16) "attr"
16 TOKEN_TREE@[16; 22)
17 L_PAREN@[16; 17) "("
18 TRUE_KW@[17; 21) "true"
19 R_PAREN@[21; 22) ")"
20 R_BRACK@[22; 23) "]"
21 WHITESPACE@[23; 24) "\n"
22 ATTR@[24; 39)
23 POUND@[24; 25) "#"
24 EXCL@[25; 26) "!"
25 TOKEN_TREE@[26; 39)
26 L_BRACK@[26; 27) "["
27 IDENT@[27; 31) "attr"
28 TOKEN_TREE@[31; 38)
29 L_PAREN@[31; 32) "("
30 IDENT@[32; 37) "ident"
31 R_PAREN@[37; 38) ")"
32 R_BRACK@[38; 39) "]"
33 WHITESPACE@[39; 40) "\n"
34 ATTR@[40; 116)
35 POUND@[40; 41) "#"
36 EXCL@[41; 42) "!"
37 TOKEN_TREE@[42; 116)
38 L_BRACK@[42; 43) "["
39 IDENT@[43; 47) "attr"
40 TOKEN_TREE@[47; 115)
41 L_PAREN@[47; 48) "("
42 IDENT@[48; 53) "ident"
43 COMMA@[53; 54) ","
44 WHITESPACE@[54; 55) " "
45 INT_NUMBER@[55; 58) "100"
46 COMMA@[58; 59) ","
47 WHITESPACE@[59; 60) " "
48 TRUE_KW@[60; 64) "true"
49 COMMA@[64; 65) ","
50 WHITESPACE@[65; 66) " "
51 STRING@[66; 72) "\"true\""
52 COMMA@[72; 73) ","
53 WHITESPACE@[73; 74) " "
54 IDENT@[74; 79) "ident"
55 WHITESPACE@[79; 80) " "
56 EQ@[80; 81) "="
57 WHITESPACE@[81; 82) " "
58 INT_NUMBER@[82; 85) "100"
59 COMMA@[85; 86) ","
60 WHITESPACE@[86; 87) " "
61 IDENT@[87; 92) "ident"
62 WHITESPACE@[92; 93) " "
63 EQ@[93; 94) "="
64 WHITESPACE@[94; 95) " "
65 STRING@[95; 102) "\"hello\""
66 COMMA@[102; 103) ","
67 WHITESPACE@[103; 104) " "
68 IDENT@[104; 109) "ident"
69 TOKEN_TREE@[109; 114)
70 L_PAREN@[109; 110) "("
71 INT_NUMBER@[110; 113) "100"
72 R_PAREN@[113; 114) ")"
73 R_PAREN@[114; 115) ")"
74 R_BRACK@[115; 116) "]"
75 WHITESPACE@[116; 117) "\n"
76 ATTR@[117; 130)
77 POUND@[117; 118) "#"
78 EXCL@[118; 119) "!"
79 TOKEN_TREE@[119; 130)
80 L_BRACK@[119; 120) "["
81 IDENT@[120; 124) "attr"
82 TOKEN_TREE@[124; 129)
83 L_PAREN@[124; 125) "("
84 INT_NUMBER@[125; 128) "100"
85 R_PAREN@[128; 129) ")"
86 R_BRACK@[129; 130) "]"
87 WHITESPACE@[130; 131) "\n"
88 ATTR@[131; 155)
89 POUND@[131; 132) "#"
90 EXCL@[132; 133) "!"
91 TOKEN_TREE@[133; 155)
92 L_BRACK@[133; 134) "["
93 IDENT@[134; 138) "attr"
94 TOKEN_TREE@[138; 154)
95 L_PAREN@[138; 139) "("
96 IDENT@[139; 146) "enabled"
97 WHITESPACE@[146; 147) " "
98 EQ@[147; 148) "="
99 WHITESPACE@[148; 149) " "
100 TRUE_KW@[149; 153) "true"
101 R_PAREN@[153; 154) ")"
102 R_BRACK@[154; 155) "]"
103 WHITESPACE@[155; 156) "\n"
104 ATTR@[156; 173)
105 POUND@[156; 157) "#"
106 EXCL@[157; 158) "!"
107 TOKEN_TREE@[158; 173)
108 L_BRACK@[158; 159) "["
109 IDENT@[159; 166) "enabled"
110 TOKEN_TREE@[166; 172)
111 L_PAREN@[166; 167) "("
112 TRUE_KW@[167; 171) "true"
113 R_PAREN@[171; 172) ")"
114 R_BRACK@[172; 173) "]"
115 WHITESPACE@[173; 174) "\n"
116 ATTR@[174; 191)
117 POUND@[174; 175) "#"
118 EXCL@[175; 176) "!"
119 TOKEN_TREE@[176; 191)
120 L_BRACK@[176; 177) "["
121 IDENT@[177; 181) "attr"
122 TOKEN_TREE@[181; 190)
123 L_PAREN@[181; 182) "("
124 STRING@[182; 189) "\"hello\""
125 R_PAREN@[189; 190) ")"
126 R_BRACK@[190; 191) "]"
127 WHITESPACE@[191; 192) "\n"
128 ATTR@[192; 214)
129 POUND@[192; 193) "#"
130 EXCL@[193; 194) "!"
131 TOKEN_TREE@[194; 214)
132 L_BRACK@[194; 195) "["
133 IDENT@[195; 199) "repr"
134 TOKEN_TREE@[199; 213)
135 L_PAREN@[199; 200) "("
136 IDENT@[200; 201) "C"
137 COMMA@[201; 202) ","
138 WHITESPACE@[202; 203) " "
139 IDENT@[203; 208) "align"
140 WHITESPACE@[208; 209) " "
141 EQ@[209; 210) "="
142 WHITESPACE@[210; 211) " "
143 INT_NUMBER@[211; 212) "4"
144 R_PAREN@[212; 213) ")"
145 R_BRACK@[213; 214) "]"
146 WHITESPACE@[214; 215) "\n"
147 ATTR@[215; 236)
148 POUND@[215; 216) "#"
149 EXCL@[216; 217) "!"
150 TOKEN_TREE@[217; 236)
151 L_BRACK@[217; 218) "["
152 IDENT@[218; 222) "repr"
153 TOKEN_TREE@[222; 235)
154 L_PAREN@[222; 223) "("
155 IDENT@[223; 224) "C"
156 COMMA@[224; 225) ","
157 WHITESPACE@[225; 226) " "
158 IDENT@[226; 231) "align"
159 TOKEN_TREE@[231; 234)
160 L_PAREN@[231; 232) "("
161 INT_NUMBER@[232; 233) "4"
162 R_PAREN@[233; 234) ")"
163 R_PAREN@[234; 235) ")"
164 R_BRACK@[235; 236) "]"
diff --git a/crates/ra_syntax/tests/data/parser/ok/0007_extern_crate.rs b/crates/ra_syntax/tests/data/parser/ok/0007_extern_crate.rs
deleted file mode 100644
index ab81a608c..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0007_extern_crate.rs
+++ /dev/null
@@ -1,3 +0,0 @@
1extern crate foo;
2extern crate foo as bar;
3extern crate self as baz;
diff --git a/crates/ra_syntax/tests/data/parser/ok/0007_extern_crate.txt b/crates/ra_syntax/tests/data/parser/ok/0007_extern_crate.txt
deleted file mode 100644
index 1ffa36c7e..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0007_extern_crate.txt
+++ /dev/null
@@ -1,40 +0,0 @@
1SOURCE_FILE@[0; 69)
2 EXTERN_CRATE_ITEM@[0; 17)
3 EXTERN_KW@[0; 6) "extern"
4 WHITESPACE@[6; 7) " "
5 CRATE_KW@[7; 12) "crate"
6 WHITESPACE@[12; 13) " "
7 NAME_REF@[13; 16)
8 IDENT@[13; 16) "foo"
9 SEMI@[16; 17) ";"
10 WHITESPACE@[17; 18) "\n"
11 EXTERN_CRATE_ITEM@[18; 42)
12 EXTERN_KW@[18; 24) "extern"
13 WHITESPACE@[24; 25) " "
14 CRATE_KW@[25; 30) "crate"
15 WHITESPACE@[30; 31) " "
16 NAME_REF@[31; 34)
17 IDENT@[31; 34) "foo"
18 WHITESPACE@[34; 35) " "
19 ALIAS@[35; 41)
20 AS_KW@[35; 37) "as"
21 WHITESPACE@[37; 38) " "
22 NAME@[38; 41)
23 IDENT@[38; 41) "bar"
24 SEMI@[41; 42) ";"
25 WHITESPACE@[42; 43) "\n"
26 EXTERN_CRATE_ITEM@[43; 68)
27 EXTERN_KW@[43; 49) "extern"
28 WHITESPACE@[49; 50) " "
29 CRATE_KW@[50; 55) "crate"
30 WHITESPACE@[55; 56) " "
31 SELF_KW@[56; 60)
32 SELF_KW@[56; 60) "self"
33 WHITESPACE@[60; 61) " "
34 ALIAS@[61; 67)
35 AS_KW@[61; 63) "as"
36 WHITESPACE@[63; 64) " "
37 NAME@[64; 67)
38 IDENT@[64; 67) "baz"
39 SEMI@[67; 68) ";"
40 WHITESPACE@[68; 69) "\n"
diff --git a/crates/ra_syntax/tests/data/parser/ok/0008_mod_item.rs b/crates/ra_syntax/tests/data/parser/ok/0008_mod_item.rs
deleted file mode 100644
index d22993bc1..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0008_mod_item.rs
+++ /dev/null
@@ -1,17 +0,0 @@
1mod a;
2
3mod b {
4}
5
6mod c {
7 fn foo() {
8 }
9 struct S {}
10}
11
12mod d {
13 #![attr]
14 mod e;
15 mod f {
16 }
17} \ No newline at end of file
diff --git a/crates/ra_syntax/tests/data/parser/ok/0008_mod_item.txt b/crates/ra_syntax/tests/data/parser/ok/0008_mod_item.txt
deleted file mode 100644
index 9152d6eb6..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0008_mod_item.txt
+++ /dev/null
@@ -1,90 +0,0 @@
1SOURCE_FILE@[0; 118)
2 MODULE@[0; 6)
3 MOD_KW@[0; 3) "mod"
4 WHITESPACE@[3; 4) " "
5 NAME@[4; 5)
6 IDENT@[4; 5) "a"
7 SEMI@[5; 6) ";"
8 WHITESPACE@[6; 8) "\n\n"
9 MODULE@[8; 17)
10 MOD_KW@[8; 11) "mod"
11 WHITESPACE@[11; 12) " "
12 NAME@[12; 13)
13 IDENT@[12; 13) "b"
14 WHITESPACE@[13; 14) " "
15 ITEM_LIST@[14; 17)
16 L_CURLY@[14; 15) "{"
17 WHITESPACE@[15; 16) "\n"
18 R_CURLY@[16; 17) "}"
19 WHITESPACE@[17; 19) "\n\n"
20 MODULE@[19; 65)
21 MOD_KW@[19; 22) "mod"
22 WHITESPACE@[22; 23) " "
23 NAME@[23; 24)
24 IDENT@[23; 24) "c"
25 WHITESPACE@[24; 25) " "
26 ITEM_LIST@[25; 65)
27 L_CURLY@[25; 26) "{"
28 WHITESPACE@[26; 31) "\n "
29 FN_DEF@[31; 47)
30 FN_KW@[31; 33) "fn"
31 WHITESPACE@[33; 34) " "
32 NAME@[34; 37)
33 IDENT@[34; 37) "foo"
34 PARAM_LIST@[37; 39)
35 L_PAREN@[37; 38) "("
36 R_PAREN@[38; 39) ")"
37 WHITESPACE@[39; 40) " "
38 BLOCK@[40; 47)
39 L_CURLY@[40; 41) "{"
40 WHITESPACE@[41; 46) "\n "
41 R_CURLY@[46; 47) "}"
42 WHITESPACE@[47; 52) "\n "
43 STRUCT_DEF@[52; 63)
44 STRUCT_KW@[52; 58) "struct"
45 WHITESPACE@[58; 59) " "
46 NAME@[59; 60)
47 IDENT@[59; 60) "S"
48 WHITESPACE@[60; 61) " "
49 NAMED_FIELD_DEF_LIST@[61; 63)
50 L_CURLY@[61; 62) "{"
51 R_CURLY@[62; 63) "}"
52 WHITESPACE@[63; 64) "\n"
53 R_CURLY@[64; 65) "}"
54 WHITESPACE@[65; 67) "\n\n"
55 MODULE@[67; 118)
56 MOD_KW@[67; 70) "mod"
57 WHITESPACE@[70; 71) " "
58 NAME@[71; 72)
59 IDENT@[71; 72) "d"
60 WHITESPACE@[72; 73) " "
61 ITEM_LIST@[73; 118)
62 L_CURLY@[73; 74) "{"
63 WHITESPACE@[74; 79) "\n "
64 ATTR@[79; 87)
65 POUND@[79; 80) "#"
66 EXCL@[80; 81) "!"
67 TOKEN_TREE@[81; 87)
68 L_BRACK@[81; 82) "["
69 IDENT@[82; 86) "attr"
70 R_BRACK@[86; 87) "]"
71 WHITESPACE@[87; 92) "\n "
72 MODULE@[92; 98)
73 MOD_KW@[92; 95) "mod"
74 WHITESPACE@[95; 96) " "
75 NAME@[96; 97)
76 IDENT@[96; 97) "e"
77 SEMI@[97; 98) ";"
78 WHITESPACE@[98; 103) "\n "
79 MODULE@[103; 116)
80 MOD_KW@[103; 106) "mod"
81 WHITESPACE@[106; 107) " "
82 NAME@[107; 108)
83 IDENT@[107; 108) "f"
84 WHITESPACE@[108; 109) " "
85 ITEM_LIST@[109; 116)
86 L_CURLY@[109; 110) "{"
87 WHITESPACE@[110; 115) "\n "
88 R_CURLY@[115; 116) "}"
89 WHITESPACE@[116; 117) "\n"
90 R_CURLY@[117; 118) "}"
diff --git a/crates/ra_syntax/tests/data/parser/ok/0009_use_item.rs b/crates/ra_syntax/tests/data/parser/ok/0009_use_item.rs
deleted file mode 100644
index 05a6aff83..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0009_use_item.rs
+++ /dev/null
@@ -1,2 +0,0 @@
1use foo;
2use ::bar; \ No newline at end of file
diff --git a/crates/ra_syntax/tests/data/parser/ok/0009_use_item.txt b/crates/ra_syntax/tests/data/parser/ok/0009_use_item.txt
deleted file mode 100644
index 41db9dbb7..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0009_use_item.txt
+++ /dev/null
@@ -1,21 +0,0 @@
1SOURCE_FILE@[0; 19)
2 USE_ITEM@[0; 8)
3 USE_KW@[0; 3) "use"
4 WHITESPACE@[3; 4) " "
5 USE_TREE@[4; 7)
6 PATH@[4; 7)
7 PATH_SEGMENT@[4; 7)
8 NAME_REF@[4; 7)
9 IDENT@[4; 7) "foo"
10 SEMI@[7; 8) ";"
11 WHITESPACE@[8; 9) "\n"
12 USE_ITEM@[9; 19)
13 USE_KW@[9; 12) "use"
14 WHITESPACE@[12; 13) " "
15 USE_TREE@[13; 18)
16 PATH@[13; 18)
17 PATH_SEGMENT@[13; 18)
18 COLONCOLON@[13; 15) "::"
19 NAME_REF@[15; 18)
20 IDENT@[15; 18) "bar"
21 SEMI@[18; 19) ";"
diff --git a/crates/ra_syntax/tests/data/parser/ok/0010_use_path_segments.rs b/crates/ra_syntax/tests/data/parser/ok/0010_use_path_segments.rs
deleted file mode 100644
index 1e71b7a6c..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0010_use_path_segments.rs
+++ /dev/null
@@ -1,2 +0,0 @@
1use ::foo::bar::baz;
2use foo::bar::baz;
diff --git a/crates/ra_syntax/tests/data/parser/ok/0010_use_path_segments.txt b/crates/ra_syntax/tests/data/parser/ok/0010_use_path_segments.txt
deleted file mode 100644
index 09871b84d..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0010_use_path_segments.txt
+++ /dev/null
@@ -1,42 +0,0 @@
1SOURCE_FILE@[0; 40)
2 USE_ITEM@[0; 20)
3 USE_KW@[0; 3) "use"
4 WHITESPACE@[3; 4) " "
5 USE_TREE@[4; 19)
6 PATH@[4; 19)
7 PATH@[4; 14)
8 PATH@[4; 9)
9 PATH_SEGMENT@[4; 9)
10 COLONCOLON@[4; 6) "::"
11 NAME_REF@[6; 9)
12 IDENT@[6; 9) "foo"
13 COLONCOLON@[9; 11) "::"
14 PATH_SEGMENT@[11; 14)
15 NAME_REF@[11; 14)
16 IDENT@[11; 14) "bar"
17 COLONCOLON@[14; 16) "::"
18 PATH_SEGMENT@[16; 19)
19 NAME_REF@[16; 19)
20 IDENT@[16; 19) "baz"
21 SEMI@[19; 20) ";"
22 WHITESPACE@[20; 21) "\n"
23 USE_ITEM@[21; 39)
24 USE_KW@[21; 24) "use"
25 WHITESPACE@[24; 25) " "
26 USE_TREE@[25; 38)
27 PATH@[25; 38)
28 PATH@[25; 33)
29 PATH@[25; 28)
30 PATH_SEGMENT@[25; 28)
31 NAME_REF@[25; 28)
32 IDENT@[25; 28) "foo"
33 COLONCOLON@[28; 30) "::"
34 PATH_SEGMENT@[30; 33)
35 NAME_REF@[30; 33)
36 IDENT@[30; 33) "bar"
37 COLONCOLON@[33; 35) "::"
38 PATH_SEGMENT@[35; 38)
39 NAME_REF@[35; 38)
40 IDENT@[35; 38) "baz"
41 SEMI@[38; 39) ";"
42 WHITESPACE@[39; 40) "\n"
diff --git a/crates/ra_syntax/tests/data/parser/ok/0011_outer_attribute.rs b/crates/ra_syntax/tests/data/parser/ok/0011_outer_attribute.rs
deleted file mode 100644
index 8b80c0d90..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0011_outer_attribute.rs
+++ /dev/null
@@ -1,3 +0,0 @@
1#[cfg(test)]
2#[ignore]
3fn foo() {}
diff --git a/crates/ra_syntax/tests/data/parser/ok/0011_outer_attribute.txt b/crates/ra_syntax/tests/data/parser/ok/0011_outer_attribute.txt
deleted file mode 100644
index 2a0dc7bad..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0011_outer_attribute.txt
+++ /dev/null
@@ -1,32 +0,0 @@
1SOURCE_FILE@[0; 35)
2 FN_DEF@[0; 34)
3 ATTR@[0; 12)
4 POUND@[0; 1) "#"
5 TOKEN_TREE@[1; 12)
6 L_BRACK@[1; 2) "["
7 IDENT@[2; 5) "cfg"
8 TOKEN_TREE@[5; 11)
9 L_PAREN@[5; 6) "("
10 IDENT@[6; 10) "test"
11 R_PAREN@[10; 11) ")"
12 R_BRACK@[11; 12) "]"
13 WHITESPACE@[12; 13) "\n"
14 ATTR@[13; 22)
15 POUND@[13; 14) "#"
16 TOKEN_TREE@[14; 22)
17 L_BRACK@[14; 15) "["
18 IDENT@[15; 21) "ignore"
19 R_BRACK@[21; 22) "]"
20 WHITESPACE@[22; 23) "\n"
21 FN_KW@[23; 25) "fn"
22 WHITESPACE@[25; 26) " "
23 NAME@[26; 29)
24 IDENT@[26; 29) "foo"
25 PARAM_LIST@[29; 31)
26 L_PAREN@[29; 30) "("
27 R_PAREN@[30; 31) ")"
28 WHITESPACE@[31; 32) " "
29 BLOCK@[32; 34)
30 L_CURLY@[32; 33) "{"
31 R_CURLY@[33; 34) "}"
32 WHITESPACE@[34; 35) "\n"
diff --git a/crates/ra_syntax/tests/data/parser/ok/0012_visibility.rs b/crates/ra_syntax/tests/data/parser/ok/0012_visibility.rs
deleted file mode 100644
index 75b1db121..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0012_visibility.rs
+++ /dev/null
@@ -1,5 +0,0 @@
1fn a() {}
2pub fn b() {}
3pub(crate) fn c() {}
4pub(super) fn d() {}
5pub(in foo::bar::baz) fn e() {}
diff --git a/crates/ra_syntax/tests/data/parser/ok/0012_visibility.txt b/crates/ra_syntax/tests/data/parser/ok/0012_visibility.txt
deleted file mode 100644
index c9d038c19..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0012_visibility.txt
+++ /dev/null
@@ -1,102 +0,0 @@
1SOURCE_FILE@[0; 98)
2 FN_DEF@[0; 9)
3 FN_KW@[0; 2) "fn"
4 WHITESPACE@[2; 3) " "
5 NAME@[3; 4)
6 IDENT@[3; 4) "a"
7 PARAM_LIST@[4; 6)
8 L_PAREN@[4; 5) "("
9 R_PAREN@[5; 6) ")"
10 WHITESPACE@[6; 7) " "
11 BLOCK@[7; 9)
12 L_CURLY@[7; 8) "{"
13 R_CURLY@[8; 9) "}"
14 WHITESPACE@[9; 10) "\n"
15 FN_DEF@[10; 23)
16 VISIBILITY@[10; 13)
17 PUB_KW@[10; 13) "pub"
18 WHITESPACE@[13; 14) " "
19 FN_KW@[14; 16) "fn"
20 WHITESPACE@[16; 17) " "
21 NAME@[17; 18)
22 IDENT@[17; 18) "b"
23 PARAM_LIST@[18; 20)
24 L_PAREN@[18; 19) "("
25 R_PAREN@[19; 20) ")"
26 WHITESPACE@[20; 21) " "
27 BLOCK@[21; 23)
28 L_CURLY@[21; 22) "{"
29 R_CURLY@[22; 23) "}"
30 WHITESPACE@[23; 24) "\n"
31 FN_DEF@[24; 44)
32 VISIBILITY@[24; 34)
33 PUB_KW@[24; 27) "pub"
34 L_PAREN@[27; 28) "("
35 CRATE_KW@[28; 33) "crate"
36 R_PAREN@[33; 34) ")"
37 WHITESPACE@[34; 35) " "
38 FN_KW@[35; 37) "fn"
39 WHITESPACE@[37; 38) " "
40 NAME@[38; 39)
41 IDENT@[38; 39) "c"
42 PARAM_LIST@[39; 41)
43 L_PAREN@[39; 40) "("
44 R_PAREN@[40; 41) ")"
45 WHITESPACE@[41; 42) " "
46 BLOCK@[42; 44)
47 L_CURLY@[42; 43) "{"
48 R_CURLY@[43; 44) "}"
49 WHITESPACE@[44; 45) "\n"
50 FN_DEF@[45; 65)
51 VISIBILITY@[45; 55)
52 PUB_KW@[45; 48) "pub"
53 L_PAREN@[48; 49) "("
54 SUPER_KW@[49; 54) "super"
55 R_PAREN@[54; 55) ")"
56 WHITESPACE@[55; 56) " "
57 FN_KW@[56; 58) "fn"
58 WHITESPACE@[58; 59) " "
59 NAME@[59; 60)
60 IDENT@[59; 60) "d"
61 PARAM_LIST@[60; 62)
62 L_PAREN@[60; 61) "("
63 R_PAREN@[61; 62) ")"
64 WHITESPACE@[62; 63) " "
65 BLOCK@[63; 65)
66 L_CURLY@[63; 64) "{"
67 R_CURLY@[64; 65) "}"
68 WHITESPACE@[65; 66) "\n"
69 FN_DEF@[66; 97)
70 VISIBILITY@[66; 87)
71 PUB_KW@[66; 69) "pub"
72 L_PAREN@[69; 70) "("
73 IN_KW@[70; 72) "in"
74 WHITESPACE@[72; 73) " "
75 PATH@[73; 86)
76 PATH@[73; 81)
77 PATH@[73; 76)
78 PATH_SEGMENT@[73; 76)
79 NAME_REF@[73; 76)
80 IDENT@[73; 76) "foo"
81 COLONCOLON@[76; 78) "::"
82 PATH_SEGMENT@[78; 81)
83 NAME_REF@[78; 81)
84 IDENT@[78; 81) "bar"
85 COLONCOLON@[81; 83) "::"
86 PATH_SEGMENT@[83; 86)
87 NAME_REF@[83; 86)
88 IDENT@[83; 86) "baz"
89 R_PAREN@[86; 87) ")"
90 WHITESPACE@[87; 88) " "
91 FN_KW@[88; 90) "fn"
92 WHITESPACE@[90; 91) " "
93 NAME@[91; 92)
94 IDENT@[91; 92) "e"
95 PARAM_LIST@[92; 94)
96 L_PAREN@[92; 93) "("
97 R_PAREN@[93; 94) ")"
98 WHITESPACE@[94; 95) " "
99 BLOCK@[95; 97)
100 L_CURLY@[95; 96) "{"
101 R_CURLY@[96; 97) "}"
102 WHITESPACE@[97; 98) "\n"
diff --git a/crates/ra_syntax/tests/data/parser/ok/0013_use_path_self_super.rs b/crates/ra_syntax/tests/data/parser/ok/0013_use_path_self_super.rs
deleted file mode 100644
index faf6a42c7..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0013_use_path_self_super.rs
+++ /dev/null
@@ -1,3 +0,0 @@
1use self::foo;
2use super::super::bar;
3use ::self::a::super::bar;
diff --git a/crates/ra_syntax/tests/data/parser/ok/0013_use_path_self_super.txt b/crates/ra_syntax/tests/data/parser/ok/0013_use_path_self_super.txt
deleted file mode 100644
index 50730e958..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0013_use_path_self_super.txt
+++ /dev/null
@@ -1,57 +0,0 @@
1SOURCE_FILE@[0; 65)
2 USE_ITEM@[0; 14)
3 USE_KW@[0; 3) "use"
4 WHITESPACE@[3; 4) " "
5 USE_TREE@[4; 13)
6 PATH@[4; 13)
7 PATH@[4; 8)
8 PATH_SEGMENT@[4; 8)
9 SELF_KW@[4; 8) "self"
10 COLONCOLON@[8; 10) "::"
11 PATH_SEGMENT@[10; 13)
12 NAME_REF@[10; 13)
13 IDENT@[10; 13) "foo"
14 SEMI@[13; 14) ";"
15 WHITESPACE@[14; 15) "\n"
16 USE_ITEM@[15; 37)
17 USE_KW@[15; 18) "use"
18 WHITESPACE@[18; 19) " "
19 USE_TREE@[19; 36)
20 PATH@[19; 36)
21 PATH@[19; 31)
22 PATH@[19; 24)
23 PATH_SEGMENT@[19; 24)
24 SUPER_KW@[19; 24) "super"
25 COLONCOLON@[24; 26) "::"
26 PATH_SEGMENT@[26; 31)
27 SUPER_KW@[26; 31) "super"
28 COLONCOLON@[31; 33) "::"
29 PATH_SEGMENT@[33; 36)
30 NAME_REF@[33; 36)
31 IDENT@[33; 36) "bar"
32 SEMI@[36; 37) ";"
33 WHITESPACE@[37; 38) "\n"
34 USE_ITEM@[38; 64)
35 USE_KW@[38; 41) "use"
36 WHITESPACE@[41; 42) " "
37 USE_TREE@[42; 63)
38 PATH@[42; 63)
39 PATH@[42; 58)
40 PATH@[42; 51)
41 PATH@[42; 48)
42 PATH_SEGMENT@[42; 48)
43 COLONCOLON@[42; 44) "::"
44 SELF_KW@[44; 48) "self"
45 COLONCOLON@[48; 50) "::"
46 PATH_SEGMENT@[50; 51)
47 NAME_REF@[50; 51)
48 IDENT@[50; 51) "a"
49 COLONCOLON@[51; 53) "::"
50 PATH_SEGMENT@[53; 58)
51 SUPER_KW@[53; 58) "super"
52 COLONCOLON@[58; 60) "::"
53 PATH_SEGMENT@[60; 63)
54 NAME_REF@[60; 63)
55 IDENT@[60; 63) "bar"
56 SEMI@[63; 64) ";"
57 WHITESPACE@[64; 65) "\n"
diff --git a/crates/ra_syntax/tests/data/parser/ok/0014_use_tree.rs b/crates/ra_syntax/tests/data/parser/ok/0014_use_tree.rs
deleted file mode 100644
index 5e4aa3a33..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0014_use_tree.rs
+++ /dev/null
@@ -1,7 +0,0 @@
1use *;
2use ::*;
3use ::{};
4use {};
5use foo::*;
6use foo::{};
7use ::foo::{a, b, c};
diff --git a/crates/ra_syntax/tests/data/parser/ok/0014_use_tree.txt b/crates/ra_syntax/tests/data/parser/ok/0014_use_tree.txt
deleted file mode 100644
index 3fe34d001..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0014_use_tree.txt
+++ /dev/null
@@ -1,95 +0,0 @@
1SOURCE_FILE@[0; 81)
2 USE_ITEM@[0; 6)
3 USE_KW@[0; 3) "use"
4 WHITESPACE@[3; 4) " "
5 USE_TREE@[4; 5)
6 STAR@[4; 5) "*"
7 SEMI@[5; 6) ";"
8 WHITESPACE@[6; 7) "\n"
9 USE_ITEM@[7; 15)
10 USE_KW@[7; 10) "use"
11 WHITESPACE@[10; 11) " "
12 USE_TREE@[11; 14)
13 COLONCOLON@[11; 13) "::"
14 STAR@[13; 14) "*"
15 SEMI@[14; 15) ";"
16 WHITESPACE@[15; 16) "\n"
17 USE_ITEM@[16; 25)
18 USE_KW@[16; 19) "use"
19 WHITESPACE@[19; 20) " "
20 USE_TREE@[20; 24)
21 COLONCOLON@[20; 22) "::"
22 USE_TREE_LIST@[22; 24)
23 L_CURLY@[22; 23) "{"
24 R_CURLY@[23; 24) "}"
25 SEMI@[24; 25) ";"
26 WHITESPACE@[25; 26) "\n"
27 USE_ITEM@[26; 33)
28 USE_KW@[26; 29) "use"
29 WHITESPACE@[29; 30) " "
30 USE_TREE@[30; 32)
31 USE_TREE_LIST@[30; 32)
32 L_CURLY@[30; 31) "{"
33 R_CURLY@[31; 32) "}"
34 SEMI@[32; 33) ";"
35 WHITESPACE@[33; 34) "\n"
36 USE_ITEM@[34; 45)
37 USE_KW@[34; 37) "use"
38 WHITESPACE@[37; 38) " "
39 USE_TREE@[38; 44)
40 PATH@[38; 41)
41 PATH_SEGMENT@[38; 41)
42 NAME_REF@[38; 41)
43 IDENT@[38; 41) "foo"
44 COLONCOLON@[41; 43) "::"
45 STAR@[43; 44) "*"
46 SEMI@[44; 45) ";"
47 WHITESPACE@[45; 46) "\n"
48 USE_ITEM@[46; 58)
49 USE_KW@[46; 49) "use"
50 WHITESPACE@[49; 50) " "
51 USE_TREE@[50; 57)
52 PATH@[50; 53)
53 PATH_SEGMENT@[50; 53)
54 NAME_REF@[50; 53)
55 IDENT@[50; 53) "foo"
56 COLONCOLON@[53; 55) "::"
57 USE_TREE_LIST@[55; 57)
58 L_CURLY@[55; 56) "{"
59 R_CURLY@[56; 57) "}"
60 SEMI@[57; 58) ";"
61 WHITESPACE@[58; 59) "\n"
62 USE_ITEM@[59; 80)
63 USE_KW@[59; 62) "use"
64 WHITESPACE@[62; 63) " "
65 USE_TREE@[63; 79)
66 PATH@[63; 68)
67 PATH_SEGMENT@[63; 68)
68 COLONCOLON@[63; 65) "::"
69 NAME_REF@[65; 68)
70 IDENT@[65; 68) "foo"
71 COLONCOLON@[68; 70) "::"
72 USE_TREE_LIST@[70; 79)
73 L_CURLY@[70; 71) "{"
74 USE_TREE@[71; 72)
75 PATH@[71; 72)
76 PATH_SEGMENT@[71; 72)
77 NAME_REF@[71; 72)
78 IDENT@[71; 72) "a"
79 COMMA@[72; 73) ","
80 WHITESPACE@[73; 74) " "
81 USE_TREE@[74; 75)
82 PATH@[74; 75)
83 PATH_SEGMENT@[74; 75)
84 NAME_REF@[74; 75)
85 IDENT@[74; 75) "b"
86 COMMA@[75; 76) ","
87 WHITESPACE@[76; 77) " "
88 USE_TREE@[77; 78)
89 PATH@[77; 78)
90 PATH_SEGMENT@[77; 78)
91 NAME_REF@[77; 78)
92 IDENT@[77; 78) "c"
93 R_CURLY@[78; 79) "}"
94 SEMI@[79; 80) ";"
95 WHITESPACE@[80; 81) "\n"
diff --git a/crates/ra_syntax/tests/data/parser/ok/0015_use_tree.rs b/crates/ra_syntax/tests/data/parser/ok/0015_use_tree.rs
deleted file mode 100644
index 46a0783a2..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0015_use_tree.rs
+++ /dev/null
@@ -1,2 +0,0 @@
1use foo as bar;
2use foo::{a as b, *, ::*, ::foo as x};
diff --git a/crates/ra_syntax/tests/data/parser/ok/0015_use_tree.txt b/crates/ra_syntax/tests/data/parser/ok/0015_use_tree.txt
deleted file mode 100644
index e63f14253..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0015_use_tree.txt
+++ /dev/null
@@ -1,65 +0,0 @@
1SOURCE_FILE@[0; 55)
2 USE_ITEM@[0; 15)
3 USE_KW@[0; 3) "use"
4 WHITESPACE@[3; 4) " "
5 USE_TREE@[4; 14)
6 PATH@[4; 7)
7 PATH_SEGMENT@[4; 7)
8 NAME_REF@[4; 7)
9 IDENT@[4; 7) "foo"
10 WHITESPACE@[7; 8) " "
11 ALIAS@[8; 14)
12 AS_KW@[8; 10) "as"
13 WHITESPACE@[10; 11) " "
14 NAME@[11; 14)
15 IDENT@[11; 14) "bar"
16 SEMI@[14; 15) ";"
17 WHITESPACE@[15; 16) "\n"
18 USE_ITEM@[16; 54)
19 USE_KW@[16; 19) "use"
20 WHITESPACE@[19; 20) " "
21 USE_TREE@[20; 53)
22 PATH@[20; 23)
23 PATH_SEGMENT@[20; 23)
24 NAME_REF@[20; 23)
25 IDENT@[20; 23) "foo"
26 COLONCOLON@[23; 25) "::"
27 USE_TREE_LIST@[25; 53)
28 L_CURLY@[25; 26) "{"
29 USE_TREE@[26; 32)
30 PATH@[26; 27)
31 PATH_SEGMENT@[26; 27)
32 NAME_REF@[26; 27)
33 IDENT@[26; 27) "a"
34 WHITESPACE@[27; 28) " "
35 ALIAS@[28; 32)
36 AS_KW@[28; 30) "as"
37 WHITESPACE@[30; 31) " "
38 NAME@[31; 32)
39 IDENT@[31; 32) "b"
40 COMMA@[32; 33) ","
41 WHITESPACE@[33; 34) " "
42 USE_TREE@[34; 35)
43 STAR@[34; 35) "*"
44 COMMA@[35; 36) ","
45 WHITESPACE@[36; 37) " "
46 USE_TREE@[37; 40)
47 COLONCOLON@[37; 39) "::"
48 STAR@[39; 40) "*"
49 COMMA@[40; 41) ","
50 WHITESPACE@[41; 42) " "
51 USE_TREE@[42; 52)
52 PATH@[42; 47)
53 PATH_SEGMENT@[42; 47)
54 COLONCOLON@[42; 44) "::"
55 NAME_REF@[44; 47)
56 IDENT@[44; 47) "foo"
57 WHITESPACE@[47; 48) " "
58 ALIAS@[48; 52)
59 AS_KW@[48; 50) "as"
60 WHITESPACE@[50; 51) " "
61 NAME@[51; 52)
62 IDENT@[51; 52) "x"
63 R_CURLY@[52; 53) "}"
64 SEMI@[53; 54) ";"
65 WHITESPACE@[54; 55) "\n"
diff --git a/crates/ra_syntax/tests/data/parser/ok/0016_struct_flavors.rs b/crates/ra_syntax/tests/data/parser/ok/0016_struct_flavors.rs
deleted file mode 100644
index 69638350c..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0016_struct_flavors.rs
+++ /dev/null
@@ -1,10 +0,0 @@
1struct A;
2struct B {}
3struct C();
4
5struct D {
6 a: u32,
7 pub b: u32
8}
9
10struct E(pub x, y,);
diff --git a/crates/ra_syntax/tests/data/parser/ok/0016_struct_flavors.txt b/crates/ra_syntax/tests/data/parser/ok/0016_struct_flavors.txt
deleted file mode 100644
index ac44093e8..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0016_struct_flavors.txt
+++ /dev/null
@@ -1,93 +0,0 @@
1SOURCE_FILE@[0; 97)
2 STRUCT_DEF@[0; 9)
3 STRUCT_KW@[0; 6) "struct"
4 WHITESPACE@[6; 7) " "
5 NAME@[7; 8)
6 IDENT@[7; 8) "A"
7 SEMI@[8; 9) ";"
8 WHITESPACE@[9; 10) "\n"
9 STRUCT_DEF@[10; 21)
10 STRUCT_KW@[10; 16) "struct"
11 WHITESPACE@[16; 17) " "
12 NAME@[17; 18)
13 IDENT@[17; 18) "B"
14 WHITESPACE@[18; 19) " "
15 NAMED_FIELD_DEF_LIST@[19; 21)
16 L_CURLY@[19; 20) "{"
17 R_CURLY@[20; 21) "}"
18 WHITESPACE@[21; 22) "\n"
19 STRUCT_DEF@[22; 33)
20 STRUCT_KW@[22; 28) "struct"
21 WHITESPACE@[28; 29) " "
22 NAME@[29; 30)
23 IDENT@[29; 30) "C"
24 POS_FIELD_DEF_LIST@[30; 32)
25 L_PAREN@[30; 31) "("
26 R_PAREN@[31; 32) ")"
27 SEMI@[32; 33) ";"
28 WHITESPACE@[33; 35) "\n\n"
29 STRUCT_DEF@[35; 74)
30 STRUCT_KW@[35; 41) "struct"
31 WHITESPACE@[41; 42) " "
32 NAME@[42; 43)
33 IDENT@[42; 43) "D"
34 WHITESPACE@[43; 44) " "
35 NAMED_FIELD_DEF_LIST@[44; 74)
36 L_CURLY@[44; 45) "{"
37 WHITESPACE@[45; 50) "\n "
38 NAMED_FIELD_DEF@[50; 56)
39 NAME@[50; 51)
40 IDENT@[50; 51) "a"
41 COLON@[51; 52) ":"
42 WHITESPACE@[52; 53) " "
43 PATH_TYPE@[53; 56)
44 PATH@[53; 56)
45 PATH_SEGMENT@[53; 56)
46 NAME_REF@[53; 56)
47 IDENT@[53; 56) "u32"
48 COMMA@[56; 57) ","
49 WHITESPACE@[57; 62) "\n "
50 NAMED_FIELD_DEF@[62; 72)
51 VISIBILITY@[62; 65)
52 PUB_KW@[62; 65) "pub"
53 WHITESPACE@[65; 66) " "
54 NAME@[66; 67)
55 IDENT@[66; 67) "b"
56 COLON@[67; 68) ":"
57 WHITESPACE@[68; 69) " "
58 PATH_TYPE@[69; 72)
59 PATH@[69; 72)
60 PATH_SEGMENT@[69; 72)
61 NAME_REF@[69; 72)
62 IDENT@[69; 72) "u32"
63 WHITESPACE@[72; 73) "\n"
64 R_CURLY@[73; 74) "}"
65 WHITESPACE@[74; 76) "\n\n"
66 STRUCT_DEF@[76; 96)
67 STRUCT_KW@[76; 82) "struct"
68 WHITESPACE@[82; 83) " "
69 NAME@[83; 84)
70 IDENT@[83; 84) "E"
71 POS_FIELD_DEF_LIST@[84; 95)
72 L_PAREN@[84; 85) "("
73 POS_FIELD_DEF@[85; 90)
74 VISIBILITY@[85; 88)
75 PUB_KW@[85; 88) "pub"
76 WHITESPACE@[88; 89) " "
77 PATH_TYPE@[89; 90)
78 PATH@[89; 90)
79 PATH_SEGMENT@[89; 90)
80 NAME_REF@[89; 90)
81 IDENT@[89; 90) "x"
82 COMMA@[90; 91) ","
83 WHITESPACE@[91; 92) " "
84 POS_FIELD_DEF@[92; 93)
85 PATH_TYPE@[92; 93)
86 PATH@[92; 93)
87 PATH_SEGMENT@[92; 93)
88 NAME_REF@[92; 93)
89 IDENT@[92; 93) "y"
90 COMMA@[93; 94) ","
91 R_PAREN@[94; 95) ")"
92 SEMI@[95; 96) ";"
93 WHITESPACE@[96; 97) "\n"
diff --git a/crates/ra_syntax/tests/data/parser/ok/0017_attr_trailing_comma.rs b/crates/ra_syntax/tests/data/parser/ok/0017_attr_trailing_comma.rs
deleted file mode 100644
index fe0a7bb97..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0017_attr_trailing_comma.rs
+++ /dev/null
@@ -1,2 +0,0 @@
1#[foo(a,)]
2fn foo() {}
diff --git a/crates/ra_syntax/tests/data/parser/ok/0017_attr_trailing_comma.txt b/crates/ra_syntax/tests/data/parser/ok/0017_attr_trailing_comma.txt
deleted file mode 100644
index cd8f038de..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0017_attr_trailing_comma.txt
+++ /dev/null
@@ -1,26 +0,0 @@
1SOURCE_FILE@[0; 23)
2 FN_DEF@[0; 22)
3 ATTR@[0; 10)
4 POUND@[0; 1) "#"
5 TOKEN_TREE@[1; 10)
6 L_BRACK@[1; 2) "["
7 IDENT@[2; 5) "foo"
8 TOKEN_TREE@[5; 9)
9 L_PAREN@[5; 6) "("
10 IDENT@[6; 7) "a"
11 COMMA@[7; 8) ","
12 R_PAREN@[8; 9) ")"
13 R_BRACK@[9; 10) "]"
14 WHITESPACE@[10; 11) "\n"
15 FN_KW@[11; 13) "fn"
16 WHITESPACE@[13; 14) " "
17 NAME@[14; 17)
18 IDENT@[14; 17) "foo"
19 PARAM_LIST@[17; 19)
20 L_PAREN@[17; 18) "("
21 R_PAREN@[18; 19) ")"
22 WHITESPACE@[19; 20) " "
23 BLOCK@[20; 22)
24 L_CURLY@[20; 21) "{"
25 R_CURLY@[21; 22) "}"
26 WHITESPACE@[22; 23) "\n"
diff --git a/crates/ra_syntax/tests/data/parser/ok/0018_struct_type_params.rs b/crates/ra_syntax/tests/data/parser/ok/0018_struct_type_params.rs
deleted file mode 100644
index 88c544923..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0018_struct_type_params.rs
+++ /dev/null
@@ -1,17 +0,0 @@
1struct S1<T>;
2struct S2<T>(u32);
3struct S3<T> { u: u32 }
4
5struct S4<>;
6struct S5<'a>;
7struct S6<'a:>;
8struct S7<'a: 'b>;
9struct S8<'a: 'b + >;
10struct S9<'a: 'b + 'c>;
11struct S10<'a,>;
12struct S11<'a, 'b>;
13struct S12<'a: 'b+, 'b: 'c,>;
14
15struct S13<T>;
16struct S14<T, U>;
17struct S15<'a, T, U>;
diff --git a/crates/ra_syntax/tests/data/parser/ok/0018_struct_type_params.txt b/crates/ra_syntax/tests/data/parser/ok/0018_struct_type_params.txt
deleted file mode 100644
index 3f06f20f9..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0018_struct_type_params.txt
+++ /dev/null
@@ -1,257 +0,0 @@
1SOURCE_FILE@[0; 290)
2 STRUCT_DEF@[0; 13)
3 STRUCT_KW@[0; 6) "struct"
4 WHITESPACE@[6; 7) " "
5 NAME@[7; 9)
6 IDENT@[7; 9) "S1"
7 TYPE_PARAM_LIST@[9; 12)
8 L_ANGLE@[9; 10) "<"
9 TYPE_PARAM@[10; 11)
10 NAME@[10; 11)
11 IDENT@[10; 11) "T"
12 R_ANGLE@[11; 12) ">"
13 SEMI@[12; 13) ";"
14 WHITESPACE@[13; 14) "\n"
15 STRUCT_DEF@[14; 32)
16 STRUCT_KW@[14; 20) "struct"
17 WHITESPACE@[20; 21) " "
18 NAME@[21; 23)
19 IDENT@[21; 23) "S2"
20 TYPE_PARAM_LIST@[23; 26)
21 L_ANGLE@[23; 24) "<"
22 TYPE_PARAM@[24; 25)
23 NAME@[24; 25)
24 IDENT@[24; 25) "T"
25 R_ANGLE@[25; 26) ">"
26 POS_FIELD_DEF_LIST@[26; 31)
27 L_PAREN@[26; 27) "("
28 POS_FIELD_DEF@[27; 30)
29 PATH_TYPE@[27; 30)
30 PATH@[27; 30)
31 PATH_SEGMENT@[27; 30)
32 NAME_REF@[27; 30)
33 IDENT@[27; 30) "u32"
34 R_PAREN@[30; 31) ")"
35 SEMI@[31; 32) ";"
36 WHITESPACE@[32; 33) "\n"
37 STRUCT_DEF@[33; 56)
38 STRUCT_KW@[33; 39) "struct"
39 WHITESPACE@[39; 40) " "
40 NAME@[40; 42)
41 IDENT@[40; 42) "S3"
42 TYPE_PARAM_LIST@[42; 45)
43 L_ANGLE@[42; 43) "<"
44 TYPE_PARAM@[43; 44)
45 NAME@[43; 44)
46 IDENT@[43; 44) "T"
47 R_ANGLE@[44; 45) ">"
48 WHITESPACE@[45; 46) " "
49 NAMED_FIELD_DEF_LIST@[46; 56)
50 L_CURLY@[46; 47) "{"
51 WHITESPACE@[47; 48) " "
52 NAMED_FIELD_DEF@[48; 54)
53 NAME@[48; 49)
54 IDENT@[48; 49) "u"
55 COLON@[49; 50) ":"
56 WHITESPACE@[50; 51) " "
57 PATH_TYPE@[51; 54)
58 PATH@[51; 54)
59 PATH_SEGMENT@[51; 54)
60 NAME_REF@[51; 54)
61 IDENT@[51; 54) "u32"
62 WHITESPACE@[54; 55) " "
63 R_CURLY@[55; 56) "}"
64 WHITESPACE@[56; 58) "\n\n"
65 STRUCT_DEF@[58; 70)
66 STRUCT_KW@[58; 64) "struct"
67 WHITESPACE@[64; 65) " "
68 NAME@[65; 67)
69 IDENT@[65; 67) "S4"
70 TYPE_PARAM_LIST@[67; 69)
71 L_ANGLE@[67; 68) "<"
72 R_ANGLE@[68; 69) ">"
73 SEMI@[69; 70) ";"
74 WHITESPACE@[70; 71) "\n"
75 STRUCT_DEF@[71; 85)
76 STRUCT_KW@[71; 77) "struct"
77 WHITESPACE@[77; 78) " "
78 NAME@[78; 80)
79 IDENT@[78; 80) "S5"
80 TYPE_PARAM_LIST@[80; 84)
81 L_ANGLE@[80; 81) "<"
82 LIFETIME_PARAM@[81; 83)
83 LIFETIME@[81; 83) "\'a"
84 R_ANGLE@[83; 84) ">"
85 SEMI@[84; 85) ";"
86 WHITESPACE@[85; 86) "\n"
87 STRUCT_DEF@[86; 101)
88 STRUCT_KW@[86; 92) "struct"
89 WHITESPACE@[92; 93) " "
90 NAME@[93; 95)
91 IDENT@[93; 95) "S6"
92 TYPE_PARAM_LIST@[95; 100)
93 L_ANGLE@[95; 96) "<"
94 LIFETIME_PARAM@[96; 99)
95 LIFETIME@[96; 98) "\'a"
96 COLON@[98; 99) ":"
97 R_ANGLE@[99; 100) ">"
98 SEMI@[100; 101) ";"
99 WHITESPACE@[101; 102) "\n"
100 STRUCT_DEF@[102; 120)
101 STRUCT_KW@[102; 108) "struct"
102 WHITESPACE@[108; 109) " "
103 NAME@[109; 111)
104 IDENT@[109; 111) "S7"
105 TYPE_PARAM_LIST@[111; 119)
106 L_ANGLE@[111; 112) "<"
107 LIFETIME_PARAM@[112; 118)
108 LIFETIME@[112; 114) "\'a"
109 COLON@[114; 115) ":"
110 WHITESPACE@[115; 116) " "
111 LIFETIME@[116; 118) "\'b"
112 R_ANGLE@[118; 119) ">"
113 SEMI@[119; 120) ";"
114 WHITESPACE@[120; 121) "\n"
115 STRUCT_DEF@[121; 142)
116 STRUCT_KW@[121; 127) "struct"
117 WHITESPACE@[127; 128) " "
118 NAME@[128; 130)
119 IDENT@[128; 130) "S8"
120 TYPE_PARAM_LIST@[130; 141)
121 L_ANGLE@[130; 131) "<"
122 LIFETIME_PARAM@[131; 139)
123 LIFETIME@[131; 133) "\'a"
124 COLON@[133; 134) ":"
125 WHITESPACE@[134; 135) " "
126 LIFETIME@[135; 137) "\'b"
127 WHITESPACE@[137; 138) " "
128 PLUS@[138; 139) "+"
129 WHITESPACE@[139; 140) " "
130 R_ANGLE@[140; 141) ">"
131 SEMI@[141; 142) ";"
132 WHITESPACE@[142; 143) "\n"
133 STRUCT_DEF@[143; 166)
134 STRUCT_KW@[143; 149) "struct"
135 WHITESPACE@[149; 150) " "
136 NAME@[150; 152)
137 IDENT@[150; 152) "S9"
138 TYPE_PARAM_LIST@[152; 165)
139 L_ANGLE@[152; 153) "<"
140 LIFETIME_PARAM@[153; 164)
141 LIFETIME@[153; 155) "\'a"
142 COLON@[155; 156) ":"
143 WHITESPACE@[156; 157) " "
144 LIFETIME@[157; 159) "\'b"
145 WHITESPACE@[159; 160) " "
146 PLUS@[160; 161) "+"
147 WHITESPACE@[161; 162) " "
148 LIFETIME@[162; 164) "\'c"
149 R_ANGLE@[164; 165) ">"
150 SEMI@[165; 166) ";"
151 WHITESPACE@[166; 167) "\n"
152 STRUCT_DEF@[167; 183)
153 STRUCT_KW@[167; 173) "struct"
154 WHITESPACE@[173; 174) " "
155 NAME@[174; 177)
156 IDENT@[174; 177) "S10"
157 TYPE_PARAM_LIST@[177; 182)
158 L_ANGLE@[177; 178) "<"
159 LIFETIME_PARAM@[178; 180)
160 LIFETIME@[178; 180) "\'a"
161 COMMA@[180; 181) ","
162 R_ANGLE@[181; 182) ">"
163 SEMI@[182; 183) ";"
164 WHITESPACE@[183; 184) "\n"
165 STRUCT_DEF@[184; 203)
166 STRUCT_KW@[184; 190) "struct"
167 WHITESPACE@[190; 191) " "
168 NAME@[191; 194)
169 IDENT@[191; 194) "S11"
170 TYPE_PARAM_LIST@[194; 202)
171 L_ANGLE@[194; 195) "<"
172 LIFETIME_PARAM@[195; 197)
173 LIFETIME@[195; 197) "\'a"
174 COMMA@[197; 198) ","
175 WHITESPACE@[198; 199) " "
176 LIFETIME_PARAM@[199; 201)
177 LIFETIME@[199; 201) "\'b"
178 R_ANGLE@[201; 202) ">"
179 SEMI@[202; 203) ";"
180 WHITESPACE@[203; 204) "\n"
181 STRUCT_DEF@[204; 233)
182 STRUCT_KW@[204; 210) "struct"
183 WHITESPACE@[210; 211) " "
184 NAME@[211; 214)
185 IDENT@[211; 214) "S12"
186 TYPE_PARAM_LIST@[214; 232)
187 L_ANGLE@[214; 215) "<"
188 LIFETIME_PARAM@[215; 222)
189 LIFETIME@[215; 217) "\'a"
190 COLON@[217; 218) ":"
191 WHITESPACE@[218; 219) " "
192 LIFETIME@[219; 221) "\'b"
193 PLUS@[221; 222) "+"
194 COMMA@[222; 223) ","
195 WHITESPACE@[223; 224) " "
196 LIFETIME_PARAM@[224; 230)
197 LIFETIME@[224; 226) "\'b"
198 COLON@[226; 227) ":"
199 WHITESPACE@[227; 228) " "
200 LIFETIME@[228; 230) "\'c"
201 COMMA@[230; 231) ","
202 R_ANGLE@[231; 232) ">"
203 SEMI@[232; 233) ";"
204 WHITESPACE@[233; 235) "\n\n"
205 STRUCT_DEF@[235; 249)
206 STRUCT_KW@[235; 241) "struct"
207 WHITESPACE@[241; 242) " "
208 NAME@[242; 245)
209 IDENT@[242; 245) "S13"
210 TYPE_PARAM_LIST@[245; 248)
211 L_ANGLE@[245; 246) "<"
212 TYPE_PARAM@[246; 247)
213 NAME@[246; 247)
214 IDENT@[246; 247) "T"
215 R_ANGLE@[247; 248) ">"
216 SEMI@[248; 249) ";"
217 WHITESPACE@[249; 250) "\n"
218 STRUCT_DEF@[250; 267)
219 STRUCT_KW@[250; 256) "struct"
220 WHITESPACE@[256; 257) " "
221 NAME@[257; 260)
222 IDENT@[257; 260) "S14"
223 TYPE_PARAM_LIST@[260; 266)
224 L_ANGLE@[260; 261) "<"
225 TYPE_PARAM@[261; 262)
226 NAME@[261; 262)
227 IDENT@[261; 262) "T"
228 COMMA@[262; 263) ","
229 WHITESPACE@[263; 264) " "
230 TYPE_PARAM@[264; 265)
231 NAME@[264; 265)
232 IDENT@[264; 265) "U"
233 R_ANGLE@[265; 266) ">"
234 SEMI@[266; 267) ";"
235 WHITESPACE@[267; 268) "\n"
236 STRUCT_DEF@[268; 289)
237 STRUCT_KW@[268; 274) "struct"
238 WHITESPACE@[274; 275) " "
239 NAME@[275; 278)
240 IDENT@[275; 278) "S15"
241 TYPE_PARAM_LIST@[278; 288)
242 L_ANGLE@[278; 279) "<"
243 LIFETIME_PARAM@[279; 281)
244 LIFETIME@[279; 281) "\'a"
245 COMMA@[281; 282) ","
246 WHITESPACE@[282; 283) " "
247 TYPE_PARAM@[283; 284)
248 NAME@[283; 284)
249 IDENT@[283; 284) "T"
250 COMMA@[284; 285) ","
251 WHITESPACE@[285; 286) " "
252 TYPE_PARAM@[286; 287)
253 NAME@[286; 287)
254 IDENT@[286; 287) "U"
255 R_ANGLE@[287; 288) ">"
256 SEMI@[288; 289) ";"
257 WHITESPACE@[289; 290) "\n"
diff --git a/crates/ra_syntax/tests/data/parser/ok/0019_enums.rs b/crates/ra_syntax/tests/data/parser/ok/0019_enums.rs
deleted file mode 100644
index 7a1afa0e6..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0019_enums.rs
+++ /dev/null
@@ -1,25 +0,0 @@
1enum E1 {
2}
3
4enum E2<T> {
5}
6
7enum E3 {
8 X
9}
10
11enum E4 {
12 X,
13}
14
15enum E5 {
16 A,
17 B = 92,
18 C {
19 a: u32,
20 pub b: f64,
21 },
22 F {},
23 D(u32,),
24 E(),
25}
diff --git a/crates/ra_syntax/tests/data/parser/ok/0019_enums.txt b/crates/ra_syntax/tests/data/parser/ok/0019_enums.txt
deleted file mode 100644
index 37753a7d0..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0019_enums.txt
+++ /dev/null
@@ -1,155 +0,0 @@
1SOURCE_FILE@[0; 182)
2 ENUM_DEF@[0; 11)
3 ENUM_KW@[0; 4) "enum"
4 WHITESPACE@[4; 5) " "
5 NAME@[5; 7)
6 IDENT@[5; 7) "E1"
7 WHITESPACE@[7; 8) " "
8 ENUM_VARIANT_LIST@[8; 11)
9 L_CURLY@[8; 9) "{"
10 WHITESPACE@[9; 10) "\n"
11 R_CURLY@[10; 11) "}"
12 WHITESPACE@[11; 13) "\n\n"
13 ENUM_DEF@[13; 27)
14 ENUM_KW@[13; 17) "enum"
15 WHITESPACE@[17; 18) " "
16 NAME@[18; 20)
17 IDENT@[18; 20) "E2"
18 TYPE_PARAM_LIST@[20; 23)
19 L_ANGLE@[20; 21) "<"
20 TYPE_PARAM@[21; 22)
21 NAME@[21; 22)
22 IDENT@[21; 22) "T"
23 R_ANGLE@[22; 23) ">"
24 WHITESPACE@[23; 24) " "
25 ENUM_VARIANT_LIST@[24; 27)
26 L_CURLY@[24; 25) "{"
27 WHITESPACE@[25; 26) "\n"
28 R_CURLY@[26; 27) "}"
29 WHITESPACE@[27; 29) "\n\n"
30 ENUM_DEF@[29; 46)
31 ENUM_KW@[29; 33) "enum"
32 WHITESPACE@[33; 34) " "
33 NAME@[34; 36)
34 IDENT@[34; 36) "E3"
35 WHITESPACE@[36; 37) " "
36 ENUM_VARIANT_LIST@[37; 46)
37 L_CURLY@[37; 38) "{"
38 WHITESPACE@[38; 43) "\n "
39 ENUM_VARIANT@[43; 44)
40 NAME@[43; 44)
41 IDENT@[43; 44) "X"
42 WHITESPACE@[44; 45) "\n"
43 R_CURLY@[45; 46) "}"
44 WHITESPACE@[46; 48) "\n\n"
45 ENUM_DEF@[48; 66)
46 ENUM_KW@[48; 52) "enum"
47 WHITESPACE@[52; 53) " "
48 NAME@[53; 55)
49 IDENT@[53; 55) "E4"
50 WHITESPACE@[55; 56) " "
51 ENUM_VARIANT_LIST@[56; 66)
52 L_CURLY@[56; 57) "{"
53 WHITESPACE@[57; 62) "\n "
54 ENUM_VARIANT@[62; 63)
55 NAME@[62; 63)
56 IDENT@[62; 63) "X"
57 COMMA@[63; 64) ","
58 WHITESPACE@[64; 65) "\n"
59 R_CURLY@[65; 66) "}"
60 WHITESPACE@[66; 68) "\n\n"
61 ENUM_DEF@[68; 181)
62 ENUM_KW@[68; 72) "enum"
63 WHITESPACE@[72; 73) " "
64 NAME@[73; 75)
65 IDENT@[73; 75) "E5"
66 WHITESPACE@[75; 76) " "
67 ENUM_VARIANT_LIST@[76; 181)
68 L_CURLY@[76; 77) "{"
69 WHITESPACE@[77; 82) "\n "
70 ENUM_VARIANT@[82; 83)
71 NAME@[82; 83)
72 IDENT@[82; 83) "A"
73 COMMA@[83; 84) ","
74 WHITESPACE@[84; 89) "\n "
75 ENUM_VARIANT@[89; 95)
76 NAME@[89; 90)
77 IDENT@[89; 90) "B"
78 WHITESPACE@[90; 91) " "
79 EQ@[91; 92) "="
80 WHITESPACE@[92; 93) " "
81 LITERAL@[93; 95)
82 INT_NUMBER@[93; 95) "92"
83 COMMA@[95; 96) ","
84 WHITESPACE@[96; 101) "\n "
85 ENUM_VARIANT@[101; 146)
86 NAME@[101; 102)
87 IDENT@[101; 102) "C"
88 WHITESPACE@[102; 103) " "
89 NAMED_FIELD_DEF_LIST@[103; 146)
90 L_CURLY@[103; 104) "{"
91 WHITESPACE@[104; 113) "\n "
92 NAMED_FIELD_DEF@[113; 119)
93 NAME@[113; 114)
94 IDENT@[113; 114) "a"
95 COLON@[114; 115) ":"
96 WHITESPACE@[115; 116) " "
97 PATH_TYPE@[116; 119)
98 PATH@[116; 119)
99 PATH_SEGMENT@[116; 119)
100 NAME_REF@[116; 119)
101 IDENT@[116; 119) "u32"
102 COMMA@[119; 120) ","
103 WHITESPACE@[120; 129) "\n "
104 NAMED_FIELD_DEF@[129; 139)
105 VISIBILITY@[129; 132)
106 PUB_KW@[129; 132) "pub"
107 WHITESPACE@[132; 133) " "
108 NAME@[133; 134)
109 IDENT@[133; 134) "b"
110 COLON@[134; 135) ":"
111 WHITESPACE@[135; 136) " "
112 PATH_TYPE@[136; 139)
113 PATH@[136; 139)
114 PATH_SEGMENT@[136; 139)
115 NAME_REF@[136; 139)
116 IDENT@[136; 139) "f64"
117 COMMA@[139; 140) ","
118 WHITESPACE@[140; 145) "\n "
119 R_CURLY@[145; 146) "}"
120 COMMA@[146; 147) ","
121 WHITESPACE@[147; 152) "\n "
122 ENUM_VARIANT@[152; 156)
123 NAME@[152; 153)
124 IDENT@[152; 153) "F"
125 WHITESPACE@[153; 154) " "
126 NAMED_FIELD_DEF_LIST@[154; 156)
127 L_CURLY@[154; 155) "{"
128 R_CURLY@[155; 156) "}"
129 COMMA@[156; 157) ","
130 WHITESPACE@[157; 162) "\n "
131 ENUM_VARIANT@[162; 169)
132 NAME@[162; 163)
133 IDENT@[162; 163) "D"
134 POS_FIELD_DEF_LIST@[163; 169)
135 L_PAREN@[163; 164) "("
136 POS_FIELD_DEF@[164; 167)
137 PATH_TYPE@[164; 167)
138 PATH@[164; 167)
139 PATH_SEGMENT@[164; 167)
140 NAME_REF@[164; 167)
141 IDENT@[164; 167) "u32"
142 COMMA@[167; 168) ","
143 R_PAREN@[168; 169) ")"
144 COMMA@[169; 170) ","
145 WHITESPACE@[170; 175) "\n "
146 ENUM_VARIANT@[175; 178)
147 NAME@[175; 176)
148 IDENT@[175; 176) "E"
149 POS_FIELD_DEF_LIST@[176; 178)
150 L_PAREN@[176; 177) "("
151 R_PAREN@[177; 178) ")"
152 COMMA@[178; 179) ","
153 WHITESPACE@[179; 180) "\n"
154 R_CURLY@[180; 181) "}"
155 WHITESPACE@[181; 182) "\n"
diff --git a/crates/ra_syntax/tests/data/parser/ok/0020_type_param_bounds.rs b/crates/ra_syntax/tests/data/parser/ok/0020_type_param_bounds.rs
deleted file mode 100644
index 712898978..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0020_type_param_bounds.rs
+++ /dev/null
@@ -1,10 +0,0 @@
1struct A<T>;
2struct B<T:>;
3struct C<T: 'a>;
4struct D<T: 'a + >;
5struct E<T: 'a + 'd >;
6struct F<T: 'a + 'd + Clone>;
7struct G<T: Clone + Copy>;
8struct H<T: ::Foo + self::Bar + 'a>;
9struct I<T:, U:,>;
10struct K<'a: 'd, 'd: 'a + 'b, T: 'a + 'd + Clone>; \ No newline at end of file
diff --git a/crates/ra_syntax/tests/data/parser/ok/0020_type_param_bounds.txt b/crates/ra_syntax/tests/data/parser/ok/0020_type_param_bounds.txt
deleted file mode 100644
index 18a5fd784..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0020_type_param_bounds.txt
+++ /dev/null
@@ -1,268 +0,0 @@
1SOURCE_FILE@[0; 250)
2 STRUCT_DEF@[0; 12)
3 STRUCT_KW@[0; 6) "struct"
4 WHITESPACE@[6; 7) " "
5 NAME@[7; 8)
6 IDENT@[7; 8) "A"
7 TYPE_PARAM_LIST@[8; 11)
8 L_ANGLE@[8; 9) "<"
9 TYPE_PARAM@[9; 10)
10 NAME@[9; 10)
11 IDENT@[9; 10) "T"
12 R_ANGLE@[10; 11) ">"
13 SEMI@[11; 12) ";"
14 WHITESPACE@[12; 13) "\n"
15 STRUCT_DEF@[13; 26)
16 STRUCT_KW@[13; 19) "struct"
17 WHITESPACE@[19; 20) " "
18 NAME@[20; 21)
19 IDENT@[20; 21) "B"
20 TYPE_PARAM_LIST@[21; 25)
21 L_ANGLE@[21; 22) "<"
22 TYPE_PARAM@[22; 24)
23 NAME@[22; 23)
24 IDENT@[22; 23) "T"
25 COLON@[23; 24) ":"
26 TYPE_BOUND_LIST@[24; 24)
27 R_ANGLE@[24; 25) ">"
28 SEMI@[25; 26) ";"
29 WHITESPACE@[26; 27) "\n"
30 STRUCT_DEF@[27; 43)
31 STRUCT_KW@[27; 33) "struct"
32 WHITESPACE@[33; 34) " "
33 NAME@[34; 35)
34 IDENT@[34; 35) "C"
35 TYPE_PARAM_LIST@[35; 42)
36 L_ANGLE@[35; 36) "<"
37 TYPE_PARAM@[36; 41)
38 NAME@[36; 37)
39 IDENT@[36; 37) "T"
40 COLON@[37; 38) ":"
41 WHITESPACE@[38; 39) " "
42 TYPE_BOUND_LIST@[39; 41)
43 TYPE_BOUND@[39; 41)
44 LIFETIME@[39; 41) "\'a"
45 R_ANGLE@[41; 42) ">"
46 SEMI@[42; 43) ";"
47 WHITESPACE@[43; 44) "\n"
48 STRUCT_DEF@[44; 63)
49 STRUCT_KW@[44; 50) "struct"
50 WHITESPACE@[50; 51) " "
51 NAME@[51; 52)
52 IDENT@[51; 52) "D"
53 TYPE_PARAM_LIST@[52; 62)
54 L_ANGLE@[52; 53) "<"
55 TYPE_PARAM@[53; 60)
56 NAME@[53; 54)
57 IDENT@[53; 54) "T"
58 COLON@[54; 55) ":"
59 WHITESPACE@[55; 56) " "
60 TYPE_BOUND_LIST@[56; 60)
61 TYPE_BOUND@[56; 58)
62 LIFETIME@[56; 58) "\'a"
63 WHITESPACE@[58; 59) " "
64 PLUS@[59; 60) "+"
65 WHITESPACE@[60; 61) " "
66 R_ANGLE@[61; 62) ">"
67 SEMI@[62; 63) ";"
68 WHITESPACE@[63; 64) "\n"
69 STRUCT_DEF@[64; 86)
70 STRUCT_KW@[64; 70) "struct"
71 WHITESPACE@[70; 71) " "
72 NAME@[71; 72)
73 IDENT@[71; 72) "E"
74 TYPE_PARAM_LIST@[72; 85)
75 L_ANGLE@[72; 73) "<"
76 TYPE_PARAM@[73; 83)
77 NAME@[73; 74)
78 IDENT@[73; 74) "T"
79 COLON@[74; 75) ":"
80 WHITESPACE@[75; 76) " "
81 TYPE_BOUND_LIST@[76; 83)
82 TYPE_BOUND@[76; 78)
83 LIFETIME@[76; 78) "\'a"
84 WHITESPACE@[78; 79) " "
85 PLUS@[79; 80) "+"
86 WHITESPACE@[80; 81) " "
87 TYPE_BOUND@[81; 83)
88 LIFETIME@[81; 83) "\'d"
89 WHITESPACE@[83; 84) " "
90 R_ANGLE@[84; 85) ">"
91 SEMI@[85; 86) ";"
92 WHITESPACE@[86; 87) "\n"
93 STRUCT_DEF@[87; 116)
94 STRUCT_KW@[87; 93) "struct"
95 WHITESPACE@[93; 94) " "
96 NAME@[94; 95)
97 IDENT@[94; 95) "F"
98 TYPE_PARAM_LIST@[95; 115)
99 L_ANGLE@[95; 96) "<"
100 TYPE_PARAM@[96; 114)
101 NAME@[96; 97)
102 IDENT@[96; 97) "T"
103 COLON@[97; 98) ":"
104 WHITESPACE@[98; 99) " "
105 TYPE_BOUND_LIST@[99; 114)
106 TYPE_BOUND@[99; 101)
107 LIFETIME@[99; 101) "\'a"
108 WHITESPACE@[101; 102) " "
109 PLUS@[102; 103) "+"
110 WHITESPACE@[103; 104) " "
111 TYPE_BOUND@[104; 106)
112 LIFETIME@[104; 106) "\'d"
113 WHITESPACE@[106; 107) " "
114 PLUS@[107; 108) "+"
115 WHITESPACE@[108; 109) " "
116 TYPE_BOUND@[109; 114)
117 PATH_TYPE@[109; 114)
118 PATH@[109; 114)
119 PATH_SEGMENT@[109; 114)
120 NAME_REF@[109; 114)
121 IDENT@[109; 114) "Clone"
122 R_ANGLE@[114; 115) ">"
123 SEMI@[115; 116) ";"
124 WHITESPACE@[116; 117) "\n"
125 STRUCT_DEF@[117; 143)
126 STRUCT_KW@[117; 123) "struct"
127 WHITESPACE@[123; 124) " "
128 NAME@[124; 125)
129 IDENT@[124; 125) "G"
130 TYPE_PARAM_LIST@[125; 142)
131 L_ANGLE@[125; 126) "<"
132 TYPE_PARAM@[126; 141)
133 NAME@[126; 127)
134 IDENT@[126; 127) "T"
135 COLON@[127; 128) ":"
136 WHITESPACE@[128; 129) " "
137 TYPE_BOUND_LIST@[129; 141)
138 TYPE_BOUND@[129; 134)
139 PATH_TYPE@[129; 134)
140 PATH@[129; 134)
141 PATH_SEGMENT@[129; 134)
142 NAME_REF@[129; 134)
143 IDENT@[129; 134) "Clone"
144 WHITESPACE@[134; 135) " "
145 PLUS@[135; 136) "+"
146 WHITESPACE@[136; 137) " "
147 TYPE_BOUND@[137; 141)
148 PATH_TYPE@[137; 141)
149 PATH@[137; 141)
150 PATH_SEGMENT@[137; 141)
151 NAME_REF@[137; 141)
152 IDENT@[137; 141) "Copy"
153 R_ANGLE@[141; 142) ">"
154 SEMI@[142; 143) ";"
155 WHITESPACE@[143; 144) "\n"
156 STRUCT_DEF@[144; 180)
157 STRUCT_KW@[144; 150) "struct"
158 WHITESPACE@[150; 151) " "
159 NAME@[151; 152)
160 IDENT@[151; 152) "H"
161 TYPE_PARAM_LIST@[152; 179)
162 L_ANGLE@[152; 153) "<"
163 TYPE_PARAM@[153; 178)
164 NAME@[153; 154)
165 IDENT@[153; 154) "T"
166 COLON@[154; 155) ":"
167 WHITESPACE@[155; 156) " "
168 TYPE_BOUND_LIST@[156; 178)
169 TYPE_BOUND@[156; 161)
170 PATH_TYPE@[156; 161)
171 PATH@[156; 161)
172 PATH_SEGMENT@[156; 161)
173 COLONCOLON@[156; 158) "::"
174 NAME_REF@[158; 161)
175 IDENT@[158; 161) "Foo"
176 WHITESPACE@[161; 162) " "
177 PLUS@[162; 163) "+"
178 WHITESPACE@[163; 164) " "
179 TYPE_BOUND@[164; 173)
180 PATH_TYPE@[164; 173)
181 PATH@[164; 173)
182 PATH@[164; 168)
183 PATH_SEGMENT@[164; 168)
184 SELF_KW@[164; 168) "self"
185 COLONCOLON@[168; 170) "::"
186 PATH_SEGMENT@[170; 173)
187 NAME_REF@[170; 173)
188 IDENT@[170; 173) "Bar"
189 WHITESPACE@[173; 174) " "
190 PLUS@[174; 175) "+"
191 WHITESPACE@[175; 176) " "
192 TYPE_BOUND@[176; 178)
193 LIFETIME@[176; 178) "\'a"
194 R_ANGLE@[178; 179) ">"
195 SEMI@[179; 180) ";"
196 WHITESPACE@[180; 181) "\n"
197 STRUCT_DEF@[181; 199)
198 STRUCT_KW@[181; 187) "struct"
199 WHITESPACE@[187; 188) " "
200 NAME@[188; 189)
201 IDENT@[188; 189) "I"
202 TYPE_PARAM_LIST@[189; 198)
203 L_ANGLE@[189; 190) "<"
204 TYPE_PARAM@[190; 192)
205 NAME@[190; 191)
206 IDENT@[190; 191) "T"
207 COLON@[191; 192) ":"
208 TYPE_BOUND_LIST@[192; 192)
209 COMMA@[192; 193) ","
210 WHITESPACE@[193; 194) " "
211 TYPE_PARAM@[194; 196)
212 NAME@[194; 195)
213 IDENT@[194; 195) "U"
214 COLON@[195; 196) ":"
215 TYPE_BOUND_LIST@[196; 196)
216 COMMA@[196; 197) ","
217 R_ANGLE@[197; 198) ">"
218 SEMI@[198; 199) ";"
219 WHITESPACE@[199; 200) "\n"
220 STRUCT_DEF@[200; 250)
221 STRUCT_KW@[200; 206) "struct"
222 WHITESPACE@[206; 207) " "
223 NAME@[207; 208)
224 IDENT@[207; 208) "K"
225 TYPE_PARAM_LIST@[208; 249)
226 L_ANGLE@[208; 209) "<"
227 LIFETIME_PARAM@[209; 215)
228 LIFETIME@[209; 211) "\'a"
229 COLON@[211; 212) ":"
230 WHITESPACE@[212; 213) " "
231 LIFETIME@[213; 215) "\'d"
232 COMMA@[215; 216) ","
233 WHITESPACE@[216; 217) " "
234 LIFETIME_PARAM@[217; 228)
235 LIFETIME@[217; 219) "\'d"
236 COLON@[219; 220) ":"
237 WHITESPACE@[220; 221) " "
238 LIFETIME@[221; 223) "\'a"
239 WHITESPACE@[223; 224) " "
240 PLUS@[224; 225) "+"
241 WHITESPACE@[225; 226) " "
242 LIFETIME@[226; 228) "\'b"
243 COMMA@[228; 229) ","
244 WHITESPACE@[229; 230) " "
245 TYPE_PARAM@[230; 248)
246 NAME@[230; 231)
247 IDENT@[230; 231) "T"
248 COLON@[231; 232) ":"
249 WHITESPACE@[232; 233) " "
250 TYPE_BOUND_LIST@[233; 248)
251 TYPE_BOUND@[233; 235)
252 LIFETIME@[233; 235) "\'a"
253 WHITESPACE@[235; 236) " "
254 PLUS@[236; 237) "+"
255 WHITESPACE@[237; 238) " "
256 TYPE_BOUND@[238; 240)
257 LIFETIME@[238; 240) "\'d"
258 WHITESPACE@[240; 241) " "
259 PLUS@[241; 242) "+"
260 WHITESPACE@[242; 243) " "
261 TYPE_BOUND@[243; 248)
262 PATH_TYPE@[243; 248)
263 PATH@[243; 248)
264 PATH_SEGMENT@[243; 248)
265 NAME_REF@[243; 248)
266 IDENT@[243; 248) "Clone"
267 R_ANGLE@[248; 249) ">"
268 SEMI@[249; 250) ";"
diff --git a/crates/ra_syntax/tests/data/parser/ok/0021_extern_fn.rs b/crates/ra_syntax/tests/data/parser/ok/0021_extern_fn.rs
deleted file mode 100644
index e929eef74..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0021_extern_fn.rs
+++ /dev/null
@@ -1,8 +0,0 @@
1extern fn foo() {
2}
3
4extern "C" fn bar() {
5}
6
7extern r"D" fn baz() {
8}
diff --git a/crates/ra_syntax/tests/data/parser/ok/0021_extern_fn.txt b/crates/ra_syntax/tests/data/parser/ok/0021_extern_fn.txt
deleted file mode 100644
index a4e75ec75..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0021_extern_fn.txt
+++ /dev/null
@@ -1,56 +0,0 @@
1SOURCE_FILE@[0; 71)
2 FN_DEF@[0; 19)
3 ABI@[0; 6)
4 EXTERN_KW@[0; 6) "extern"
5 WHITESPACE@[6; 7) " "
6 FN_KW@[7; 9) "fn"
7 WHITESPACE@[9; 10) " "
8 NAME@[10; 13)
9 IDENT@[10; 13) "foo"
10 PARAM_LIST@[13; 15)
11 L_PAREN@[13; 14) "("
12 R_PAREN@[14; 15) ")"
13 WHITESPACE@[15; 16) " "
14 BLOCK@[16; 19)
15 L_CURLY@[16; 17) "{"
16 WHITESPACE@[17; 18) "\n"
17 R_CURLY@[18; 19) "}"
18 WHITESPACE@[19; 21) "\n\n"
19 FN_DEF@[21; 44)
20 ABI@[21; 31)
21 EXTERN_KW@[21; 27) "extern"
22 WHITESPACE@[27; 28) " "
23 STRING@[28; 31) "\"C\""
24 WHITESPACE@[31; 32) " "
25 FN_KW@[32; 34) "fn"
26 WHITESPACE@[34; 35) " "
27 NAME@[35; 38)
28 IDENT@[35; 38) "bar"
29 PARAM_LIST@[38; 40)
30 L_PAREN@[38; 39) "("
31 R_PAREN@[39; 40) ")"
32 WHITESPACE@[40; 41) " "
33 BLOCK@[41; 44)
34 L_CURLY@[41; 42) "{"
35 WHITESPACE@[42; 43) "\n"
36 R_CURLY@[43; 44) "}"
37 WHITESPACE@[44; 46) "\n\n"
38 FN_DEF@[46; 70)
39 ABI@[46; 57)
40 EXTERN_KW@[46; 52) "extern"
41 WHITESPACE@[52; 53) " "
42 RAW_STRING@[53; 57) "r\"D\""
43 WHITESPACE@[57; 58) " "
44 FN_KW@[58; 60) "fn"
45 WHITESPACE@[60; 61) " "
46 NAME@[61; 64)
47 IDENT@[61; 64) "baz"
48 PARAM_LIST@[64; 66)
49 L_PAREN@[64; 65) "("
50 R_PAREN@[65; 66) ")"
51 WHITESPACE@[66; 67) " "
52 BLOCK@[67; 70)
53 L_CURLY@[67; 68) "{"
54 WHITESPACE@[68; 69) "\n"
55 R_CURLY@[69; 70) "}"
56 WHITESPACE@[70; 71) "\n"
diff --git a/crates/ra_syntax/tests/data/parser/ok/0022_empty_extern_block.rs b/crates/ra_syntax/tests/data/parser/ok/0022_empty_extern_block.rs
deleted file mode 100644
index f5fe0e6ef..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0022_empty_extern_block.rs
+++ /dev/null
@@ -1,5 +0,0 @@
1extern {
2}
3
4extern "C" {
5}
diff --git a/crates/ra_syntax/tests/data/parser/ok/0022_empty_extern_block.txt b/crates/ra_syntax/tests/data/parser/ok/0022_empty_extern_block.txt
deleted file mode 100644
index bbbd95fd9..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0022_empty_extern_block.txt
+++ /dev/null
@@ -1,21 +0,0 @@
1SOURCE_FILE@[0; 27)
2 EXTERN_BLOCK@[0; 10)
3 ABI@[0; 6)
4 EXTERN_KW@[0; 6) "extern"
5 WHITESPACE@[6; 7) " "
6 EXTERN_ITEM_LIST@[7; 10)
7 L_CURLY@[7; 8) "{"
8 WHITESPACE@[8; 9) "\n"
9 R_CURLY@[9; 10) "}"
10 WHITESPACE@[10; 12) "\n\n"
11 EXTERN_BLOCK@[12; 26)
12 ABI@[12; 22)
13 EXTERN_KW@[12; 18) "extern"
14 WHITESPACE@[18; 19) " "
15 STRING@[19; 22) "\"C\""
16 WHITESPACE@[22; 23) " "
17 EXTERN_ITEM_LIST@[23; 26)
18 L_CURLY@[23; 24) "{"
19 WHITESPACE@[24; 25) "\n"
20 R_CURLY@[25; 26) "}"
21 WHITESPACE@[26; 27) "\n"
diff --git a/crates/ra_syntax/tests/data/parser/ok/0023_static_items.rs b/crates/ra_syntax/tests/data/parser/ok/0023_static_items.rs
deleted file mode 100644
index 5fb92ce33..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0023_static_items.rs
+++ /dev/null
@@ -1,2 +0,0 @@
1static FOO: u32 = 1;
2static mut BAR: i32 = 92;
diff --git a/crates/ra_syntax/tests/data/parser/ok/0023_static_items.txt b/crates/ra_syntax/tests/data/parser/ok/0023_static_items.txt
deleted file mode 100644
index 5591f95eb..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0023_static_items.txt
+++ /dev/null
@@ -1,41 +0,0 @@
1SOURCE_FILE@[0; 47)
2 STATIC_DEF@[0; 20)
3 STATIC_KW@[0; 6) "static"
4 WHITESPACE@[6; 7) " "
5 NAME@[7; 10)
6 IDENT@[7; 10) "FOO"
7 COLON@[10; 11) ":"
8 WHITESPACE@[11; 12) " "
9 PATH_TYPE@[12; 15)
10 PATH@[12; 15)
11 PATH_SEGMENT@[12; 15)
12 NAME_REF@[12; 15)
13 IDENT@[12; 15) "u32"
14 WHITESPACE@[15; 16) " "
15 EQ@[16; 17) "="
16 WHITESPACE@[17; 18) " "
17 LITERAL@[18; 19)
18 INT_NUMBER@[18; 19) "1"
19 SEMI@[19; 20) ";"
20 WHITESPACE@[20; 21) "\n"
21 STATIC_DEF@[21; 46)
22 STATIC_KW@[21; 27) "static"
23 WHITESPACE@[27; 28) " "
24 MUT_KW@[28; 31) "mut"
25 WHITESPACE@[31; 32) " "
26 NAME@[32; 35)
27 IDENT@[32; 35) "BAR"
28 COLON@[35; 36) ":"
29 WHITESPACE@[36; 37) " "
30 PATH_TYPE@[37; 40)
31 PATH@[37; 40)
32 PATH_SEGMENT@[37; 40)
33 NAME_REF@[37; 40)
34 IDENT@[37; 40) "i32"
35 WHITESPACE@[40; 41) " "
36 EQ@[41; 42) "="
37 WHITESPACE@[42; 43) " "
38 LITERAL@[43; 45)
39 INT_NUMBER@[43; 45) "92"
40 SEMI@[45; 46) ";"
41 WHITESPACE@[46; 47) "\n"
diff --git a/crates/ra_syntax/tests/data/parser/ok/0024_const_item.rs b/crates/ra_syntax/tests/data/parser/ok/0024_const_item.rs
deleted file mode 100644
index 7446859b5..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0024_const_item.rs
+++ /dev/null
@@ -1,2 +0,0 @@
1const FOO: u32 = 92;
2const mut BAR: u32 = 62;
diff --git a/crates/ra_syntax/tests/data/parser/ok/0024_const_item.txt b/crates/ra_syntax/tests/data/parser/ok/0024_const_item.txt
deleted file mode 100644
index dea8a3a97..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0024_const_item.txt
+++ /dev/null
@@ -1,41 +0,0 @@
1SOURCE_FILE@[0; 46)
2 CONST_DEF@[0; 20)
3 CONST_KW@[0; 5) "const"
4 WHITESPACE@[5; 6) " "
5 NAME@[6; 9)
6 IDENT@[6; 9) "FOO"
7 COLON@[9; 10) ":"
8 WHITESPACE@[10; 11) " "
9 PATH_TYPE@[11; 14)
10 PATH@[11; 14)
11 PATH_SEGMENT@[11; 14)
12 NAME_REF@[11; 14)
13 IDENT@[11; 14) "u32"
14 WHITESPACE@[14; 15) " "
15 EQ@[15; 16) "="
16 WHITESPACE@[16; 17) " "
17 LITERAL@[17; 19)
18 INT_NUMBER@[17; 19) "92"
19 SEMI@[19; 20) ";"
20 WHITESPACE@[20; 21) "\n"
21 CONST_DEF@[21; 45)
22 CONST_KW@[21; 26) "const"
23 WHITESPACE@[26; 27) " "
24 MUT_KW@[27; 30) "mut"
25 WHITESPACE@[30; 31) " "
26 NAME@[31; 34)
27 IDENT@[31; 34) "BAR"
28 COLON@[34; 35) ":"
29 WHITESPACE@[35; 36) " "
30 PATH_TYPE@[36; 39)
31 PATH@[36; 39)
32 PATH_SEGMENT@[36; 39)
33 NAME_REF@[36; 39)
34 IDENT@[36; 39) "u32"
35 WHITESPACE@[39; 40) " "
36 EQ@[40; 41) "="
37 WHITESPACE@[41; 42) " "
38 LITERAL@[42; 44)
39 INT_NUMBER@[42; 44) "62"
40 SEMI@[44; 45) ";"
41 WHITESPACE@[45; 46) "\n"
diff --git a/crates/ra_syntax/tests/data/parser/ok/0025_extern_fn_in_block.rs b/crates/ra_syntax/tests/data/parser/ok/0025_extern_fn_in_block.rs
deleted file mode 100644
index 289809809..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0025_extern_fn_in_block.rs
+++ /dev/null
@@ -1,3 +0,0 @@
1fn main() {
2 extern fn f() {}
3}
diff --git a/crates/ra_syntax/tests/data/parser/ok/0025_extern_fn_in_block.txt b/crates/ra_syntax/tests/data/parser/ok/0025_extern_fn_in_block.txt
deleted file mode 100644
index a345f4bc2..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0025_extern_fn_in_block.txt
+++ /dev/null
@@ -1,31 +0,0 @@
1SOURCE_FILE@[0; 35)
2 FN_DEF@[0; 34)
3 FN_KW@[0; 2) "fn"
4 WHITESPACE@[2; 3) " "
5 NAME@[3; 7)
6 IDENT@[3; 7) "main"
7 PARAM_LIST@[7; 9)
8 L_PAREN@[7; 8) "("
9 R_PAREN@[8; 9) ")"
10 WHITESPACE@[9; 10) " "
11 BLOCK@[10; 34)
12 L_CURLY@[10; 11) "{"
13 WHITESPACE@[11; 16) "\n "
14 FN_DEF@[16; 32)
15 ABI@[16; 22)
16 EXTERN_KW@[16; 22) "extern"
17 WHITESPACE@[22; 23) " "
18 FN_KW@[23; 25) "fn"
19 WHITESPACE@[25; 26) " "
20 NAME@[26; 27)
21 IDENT@[26; 27) "f"
22 PARAM_LIST@[27; 29)
23 L_PAREN@[27; 28) "("
24 R_PAREN@[28; 29) ")"
25 WHITESPACE@[29; 30) " "
26 BLOCK@[30; 32)
27 L_CURLY@[30; 31) "{"
28 R_CURLY@[31; 32) "}"
29 WHITESPACE@[32; 33) "\n"
30 R_CURLY@[33; 34) "}"
31 WHITESPACE@[34; 35) "\n"
diff --git a/crates/ra_syntax/tests/data/parser/ok/0026_const_fn_in_block.rs b/crates/ra_syntax/tests/data/parser/ok/0026_const_fn_in_block.rs
deleted file mode 100644
index 7641a3d28..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0026_const_fn_in_block.rs
+++ /dev/null
@@ -1,3 +0,0 @@
1fn main() {
2 const fn f() {}
3}
diff --git a/crates/ra_syntax/tests/data/parser/ok/0026_const_fn_in_block.txt b/crates/ra_syntax/tests/data/parser/ok/0026_const_fn_in_block.txt
deleted file mode 100644
index cbcd15a00..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0026_const_fn_in_block.txt
+++ /dev/null
@@ -1,30 +0,0 @@
1SOURCE_FILE@[0; 34)
2 FN_DEF@[0; 33)
3 FN_KW@[0; 2) "fn"
4 WHITESPACE@[2; 3) " "
5 NAME@[3; 7)
6 IDENT@[3; 7) "main"
7 PARAM_LIST@[7; 9)
8 L_PAREN@[7; 8) "("
9 R_PAREN@[8; 9) ")"
10 WHITESPACE@[9; 10) " "
11 BLOCK@[10; 33)
12 L_CURLY@[10; 11) "{"
13 WHITESPACE@[11; 16) "\n "
14 FN_DEF@[16; 31)
15 CONST_KW@[16; 21) "const"
16 WHITESPACE@[21; 22) " "
17 FN_KW@[22; 24) "fn"
18 WHITESPACE@[24; 25) " "
19 NAME@[25; 26)
20 IDENT@[25; 26) "f"
21 PARAM_LIST@[26; 28)
22 L_PAREN@[26; 27) "("
23 R_PAREN@[27; 28) ")"
24 WHITESPACE@[28; 29) " "
25 BLOCK@[29; 31)
26 L_CURLY@[29; 30) "{"
27 R_CURLY@[30; 31) "}"
28 WHITESPACE@[31; 32) "\n"
29 R_CURLY@[32; 33) "}"
30 WHITESPACE@[33; 34) "\n"
diff --git a/crates/ra_syntax/tests/data/parser/ok/0027_unsafe_fn_in_block.rs b/crates/ra_syntax/tests/data/parser/ok/0027_unsafe_fn_in_block.rs
deleted file mode 100644
index f3c5ff938..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0027_unsafe_fn_in_block.rs
+++ /dev/null
@@ -1,4 +0,0 @@
1fn main() {
2 unsafe fn f() {}
3 unsafe { 92 }
4}
diff --git a/crates/ra_syntax/tests/data/parser/ok/0027_unsafe_fn_in_block.txt b/crates/ra_syntax/tests/data/parser/ok/0027_unsafe_fn_in_block.txt
deleted file mode 100644
index f86375983..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0027_unsafe_fn_in_block.txt
+++ /dev/null
@@ -1,41 +0,0 @@
1SOURCE_FILE@[0; 53)
2 FN_DEF@[0; 52)
3 FN_KW@[0; 2) "fn"
4 WHITESPACE@[2; 3) " "
5 NAME@[3; 7)
6 IDENT@[3; 7) "main"
7 PARAM_LIST@[7; 9)
8 L_PAREN@[7; 8) "("
9 R_PAREN@[8; 9) ")"
10 WHITESPACE@[9; 10) " "
11 BLOCK@[10; 52)
12 L_CURLY@[10; 11) "{"
13 WHITESPACE@[11; 16) "\n "
14 FN_DEF@[16; 32)
15 UNSAFE_KW@[16; 22) "unsafe"
16 WHITESPACE@[22; 23) " "
17 FN_KW@[23; 25) "fn"
18 WHITESPACE@[25; 26) " "
19 NAME@[26; 27)
20 IDENT@[26; 27) "f"
21 PARAM_LIST@[27; 29)
22 L_PAREN@[27; 28) "("
23 R_PAREN@[28; 29) ")"
24 WHITESPACE@[29; 30) " "
25 BLOCK@[30; 32)
26 L_CURLY@[30; 31) "{"
27 R_CURLY@[31; 32) "}"
28 WHITESPACE@[32; 37) "\n "
29 BLOCK_EXPR@[37; 50)
30 UNSAFE_KW@[37; 43) "unsafe"
31 WHITESPACE@[43; 44) " "
32 BLOCK@[44; 50)
33 L_CURLY@[44; 45) "{"
34 WHITESPACE@[45; 46) " "
35 LITERAL@[46; 48)
36 INT_NUMBER@[46; 48) "92"
37 WHITESPACE@[48; 49) " "
38 R_CURLY@[49; 50) "}"
39 WHITESPACE@[50; 51) "\n"
40 R_CURLY@[51; 52) "}"
41 WHITESPACE@[52; 53) "\n"
diff --git a/crates/ra_syntax/tests/data/parser/ok/0028_operator_binding_power.rs b/crates/ra_syntax/tests/data/parser/ok/0028_operator_binding_power.rs
deleted file mode 100644
index cc9598470..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0028_operator_binding_power.rs
+++ /dev/null
@@ -1,14 +0,0 @@
1fn binding_power() {
2 let x = 1 + 2 * 3 % 4 - 5 / 6;
3 1 + 2 * 3;
4 1 << 2 + 3;
5 1 & 2 >> 3;
6 1 ^ 2 & 3;
7 1 | 2 ^ 3;
8 1 == 2 | 3;
9 1 && 2 == 3;
10 //1 || 2 && 2;
11 //1 .. 2 || 3;
12 //1 = 2 .. 3;
13 //---&*1 - --2 * 9;
14}
diff --git a/crates/ra_syntax/tests/data/parser/ok/0028_operator_binding_power.txt b/crates/ra_syntax/tests/data/parser/ok/0028_operator_binding_power.txt
deleted file mode 100644
index b0667643b..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0028_operator_binding_power.txt
+++ /dev/null
@@ -1,185 +0,0 @@
1SOURCE_FILE@[0; 248)
2 FN_DEF@[0; 247)
3 FN_KW@[0; 2) "fn"
4 WHITESPACE@[2; 3) " "
5 NAME@[3; 16)
6 IDENT@[3; 16) "binding_power"
7 PARAM_LIST@[16; 18)
8 L_PAREN@[16; 17) "("
9 R_PAREN@[17; 18) ")"
10 WHITESPACE@[18; 19) " "
11 BLOCK@[19; 247)
12 L_CURLY@[19; 20) "{"
13 WHITESPACE@[20; 25) "\n "
14 LET_STMT@[25; 55)
15 LET_KW@[25; 28) "let"
16 WHITESPACE@[28; 29) " "
17 BIND_PAT@[29; 30)
18 NAME@[29; 30)
19 IDENT@[29; 30) "x"
20 WHITESPACE@[30; 31) " "
21 EQ@[31; 32) "="
22 WHITESPACE@[32; 33) " "
23 BIN_EXPR@[33; 54)
24 BIN_EXPR@[33; 46)
25 LITERAL@[33; 34)
26 INT_NUMBER@[33; 34) "1"
27 WHITESPACE@[34; 35) " "
28 PLUS@[35; 36) "+"
29 WHITESPACE@[36; 37) " "
30 BIN_EXPR@[37; 46)
31 BIN_EXPR@[37; 42)
32 LITERAL@[37; 38)
33 INT_NUMBER@[37; 38) "2"
34 WHITESPACE@[38; 39) " "
35 STAR@[39; 40) "*"
36 WHITESPACE@[40; 41) " "
37 LITERAL@[41; 42)
38 INT_NUMBER@[41; 42) "3"
39 WHITESPACE@[42; 43) " "
40 PERCENT@[43; 44) "%"
41 WHITESPACE@[44; 45) " "
42 LITERAL@[45; 46)
43 INT_NUMBER@[45; 46) "4"
44 WHITESPACE@[46; 47) " "
45 MINUS@[47; 48) "-"
46 WHITESPACE@[48; 49) " "
47 BIN_EXPR@[49; 54)
48 LITERAL@[49; 50)
49 INT_NUMBER@[49; 50) "5"
50 WHITESPACE@[50; 51) " "
51 SLASH@[51; 52) "/"
52 WHITESPACE@[52; 53) " "
53 LITERAL@[53; 54)
54 INT_NUMBER@[53; 54) "6"
55 SEMI@[54; 55) ";"
56 WHITESPACE@[55; 60) "\n "
57 EXPR_STMT@[60; 70)
58 BIN_EXPR@[60; 69)
59 LITERAL@[60; 61)
60 INT_NUMBER@[60; 61) "1"
61 WHITESPACE@[61; 62) " "
62 PLUS@[62; 63) "+"
63 WHITESPACE@[63; 64) " "
64 BIN_EXPR@[64; 69)
65 LITERAL@[64; 65)
66 INT_NUMBER@[64; 65) "2"
67 WHITESPACE@[65; 66) " "
68 STAR@[66; 67) "*"
69 WHITESPACE@[67; 68) " "
70 LITERAL@[68; 69)
71 INT_NUMBER@[68; 69) "3"
72 SEMI@[69; 70) ";"
73 WHITESPACE@[70; 75) "\n "
74 EXPR_STMT@[75; 86)
75 BIN_EXPR@[75; 85)
76 LITERAL@[75; 76)
77 INT_NUMBER@[75; 76) "1"
78 WHITESPACE@[76; 77) " "
79 SHL@[77; 79) "<<"
80 WHITESPACE@[79; 80) " "
81 BIN_EXPR@[80; 85)
82 LITERAL@[80; 81)
83 INT_NUMBER@[80; 81) "2"
84 WHITESPACE@[81; 82) " "
85 PLUS@[82; 83) "+"
86 WHITESPACE@[83; 84) " "
87 LITERAL@[84; 85)
88 INT_NUMBER@[84; 85) "3"
89 SEMI@[85; 86) ";"
90 WHITESPACE@[86; 91) "\n "
91 EXPR_STMT@[91; 102)
92 BIN_EXPR@[91; 101)
93 LITERAL@[91; 92)
94 INT_NUMBER@[91; 92) "1"
95 WHITESPACE@[92; 93) " "
96 AMP@[93; 94) "&"
97 WHITESPACE@[94; 95) " "
98 BIN_EXPR@[95; 101)
99 LITERAL@[95; 96)
100 INT_NUMBER@[95; 96) "2"
101 WHITESPACE@[96; 97) " "
102 SHR@[97; 99) ">>"
103 WHITESPACE@[99; 100) " "
104 LITERAL@[100; 101)
105 INT_NUMBER@[100; 101) "3"
106 SEMI@[101; 102) ";"
107 WHITESPACE@[102; 107) "\n "
108 EXPR_STMT@[107; 117)
109 BIN_EXPR@[107; 116)
110 LITERAL@[107; 108)
111 INT_NUMBER@[107; 108) "1"
112 WHITESPACE@[108; 109) " "
113 CARET@[109; 110) "^"
114 WHITESPACE@[110; 111) " "
115 BIN_EXPR@[111; 116)
116 LITERAL@[111; 112)
117 INT_NUMBER@[111; 112) "2"
118 WHITESPACE@[112; 113) " "
119 AMP@[113; 114) "&"
120 WHITESPACE@[114; 115) " "
121 LITERAL@[115; 116)
122 INT_NUMBER@[115; 116) "3"
123 SEMI@[116; 117) ";"
124 WHITESPACE@[117; 122) "\n "
125 EXPR_STMT@[122; 132)
126 BIN_EXPR@[122; 131)
127 LITERAL@[122; 123)
128 INT_NUMBER@[122; 123) "1"
129 WHITESPACE@[123; 124) " "
130 PIPE@[124; 125) "|"
131 WHITESPACE@[125; 126) " "
132 BIN_EXPR@[126; 131)
133 LITERAL@[126; 127)
134 INT_NUMBER@[126; 127) "2"
135 WHITESPACE@[127; 128) " "
136 CARET@[128; 129) "^"
137 WHITESPACE@[129; 130) " "
138 LITERAL@[130; 131)
139 INT_NUMBER@[130; 131) "3"
140 SEMI@[131; 132) ";"
141 WHITESPACE@[132; 137) "\n "
142 EXPR_STMT@[137; 148)
143 BIN_EXPR@[137; 147)
144 LITERAL@[137; 138)
145 INT_NUMBER@[137; 138) "1"
146 WHITESPACE@[138; 139) " "
147 EQEQ@[139; 141) "=="
148 WHITESPACE@[141; 142) " "
149 BIN_EXPR@[142; 147)
150 LITERAL@[142; 143)
151 INT_NUMBER@[142; 143) "2"
152 WHITESPACE@[143; 144) " "
153 PIPE@[144; 145) "|"
154 WHITESPACE@[145; 146) " "
155 LITERAL@[146; 147)
156 INT_NUMBER@[146; 147) "3"
157 SEMI@[147; 148) ";"
158 WHITESPACE@[148; 153) "\n "
159 EXPR_STMT@[153; 165)
160 BIN_EXPR@[153; 164)
161 LITERAL@[153; 154)
162 INT_NUMBER@[153; 154) "1"
163 WHITESPACE@[154; 155) " "
164 AMPAMP@[155; 157) "&&"
165 WHITESPACE@[157; 158) " "
166 BIN_EXPR@[158; 164)
167 LITERAL@[158; 159)
168 INT_NUMBER@[158; 159) "2"
169 WHITESPACE@[159; 160) " "
170 EQEQ@[160; 162) "=="
171 WHITESPACE@[162; 163) " "
172 LITERAL@[163; 164)
173 INT_NUMBER@[163; 164) "3"
174 SEMI@[164; 165) ";"
175 WHITESPACE@[165; 170) "\n "
176 COMMENT@[170; 184) "//1 || 2 && 2;"
177 WHITESPACE@[184; 189) "\n "
178 COMMENT@[189; 203) "//1 .. 2 || 3;"
179 WHITESPACE@[203; 208) "\n "
180 COMMENT@[208; 221) "//1 = 2 .. 3;"
181 WHITESPACE@[221; 226) "\n "
182 COMMENT@[226; 245) "//---&*1 - --2 * 9;"
183 WHITESPACE@[245; 246) "\n"
184 R_CURLY@[246; 247) "}"
185 WHITESPACE@[247; 248) "\n"
diff --git a/crates/ra_syntax/tests/data/parser/ok/0029_range_forms.rs b/crates/ra_syntax/tests/data/parser/ok/0029_range_forms.rs
deleted file mode 100644
index f9ff444d4..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0029_range_forms.rs
+++ /dev/null
@@ -1,11 +0,0 @@
1fn foo() {
2 ..1 + 1;
3 ..z = 2;
4 x = false..1 == 1;
5 let x = 1..;
6
7 ..=1 + 1;
8 ..=z = 2;
9 x = false..=1 == 1;
10 let x = 1..;
11}
diff --git a/crates/ra_syntax/tests/data/parser/ok/0029_range_forms.txt b/crates/ra_syntax/tests/data/parser/ok/0029_range_forms.txt
deleted file mode 100644
index e4db98c88..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0029_range_forms.txt
+++ /dev/null
@@ -1,151 +0,0 @@
1SOURCE_FILE@[0; 153)
2 FN_DEF@[0; 152)
3 FN_KW@[0; 2) "fn"
4 WHITESPACE@[2; 3) " "
5 NAME@[3; 6)
6 IDENT@[3; 6) "foo"
7 PARAM_LIST@[6; 8)
8 L_PAREN@[6; 7) "("
9 R_PAREN@[7; 8) ")"
10 WHITESPACE@[8; 9) " "
11 BLOCK@[9; 152)
12 L_CURLY@[9; 10) "{"
13 WHITESPACE@[10; 15) "\n "
14 EXPR_STMT@[15; 23)
15 RANGE_EXPR@[15; 22)
16 DOTDOT@[15; 17) ".."
17 BIN_EXPR@[17; 22)
18 LITERAL@[17; 18)
19 INT_NUMBER@[17; 18) "1"
20 WHITESPACE@[18; 19) " "
21 PLUS@[19; 20) "+"
22 WHITESPACE@[20; 21) " "
23 LITERAL@[21; 22)
24 INT_NUMBER@[21; 22) "1"
25 SEMI@[22; 23) ";"
26 WHITESPACE@[23; 28) "\n "
27 EXPR_STMT@[28; 36)
28 BIN_EXPR@[28; 35)
29 RANGE_EXPR@[28; 31)
30 DOTDOT@[28; 30) ".."
31 PATH_EXPR@[30; 31)
32 PATH@[30; 31)
33 PATH_SEGMENT@[30; 31)
34 NAME_REF@[30; 31)
35 IDENT@[30; 31) "z"
36 WHITESPACE@[31; 32) " "
37 EQ@[32; 33) "="
38 WHITESPACE@[33; 34) " "
39 LITERAL@[34; 35)
40 INT_NUMBER@[34; 35) "2"
41 SEMI@[35; 36) ";"
42 WHITESPACE@[36; 41) "\n "
43 EXPR_STMT@[41; 59)
44 BIN_EXPR@[41; 58)
45 PATH_EXPR@[41; 42)
46 PATH@[41; 42)
47 PATH_SEGMENT@[41; 42)
48 NAME_REF@[41; 42)
49 IDENT@[41; 42) "x"
50 WHITESPACE@[42; 43) " "
51 EQ@[43; 44) "="
52 WHITESPACE@[44; 45) " "
53 RANGE_EXPR@[45; 58)
54 LITERAL@[45; 50)
55 FALSE_KW@[45; 50) "false"
56 DOTDOT@[50; 52) ".."
57 BIN_EXPR@[52; 58)
58 LITERAL@[52; 53)
59 INT_NUMBER@[52; 53) "1"
60 WHITESPACE@[53; 54) " "
61 EQEQ@[54; 56) "=="
62 WHITESPACE@[56; 57) " "
63 LITERAL@[57; 58)
64 INT_NUMBER@[57; 58) "1"
65 SEMI@[58; 59) ";"
66 WHITESPACE@[59; 64) "\n "
67 LET_STMT@[64; 76)
68 LET_KW@[64; 67) "let"
69 WHITESPACE@[67; 68) " "
70 BIND_PAT@[68; 69)
71 NAME@[68; 69)
72 IDENT@[68; 69) "x"
73 WHITESPACE@[69; 70) " "
74 EQ@[70; 71) "="
75 WHITESPACE@[71; 72) " "
76 RANGE_EXPR@[72; 75)
77 LITERAL@[72; 73)
78 INT_NUMBER@[72; 73) "1"
79 DOTDOT@[73; 75) ".."
80 SEMI@[75; 76) ";"
81 WHITESPACE@[76; 86) "\n \n "
82 EXPR_STMT@[86; 95)
83 RANGE_EXPR@[86; 94)
84 DOTDOTEQ@[86; 89) "..="
85 BIN_EXPR@[89; 94)
86 LITERAL@[89; 90)
87 INT_NUMBER@[89; 90) "1"
88 WHITESPACE@[90; 91) " "
89 PLUS@[91; 92) "+"
90 WHITESPACE@[92; 93) " "
91 LITERAL@[93; 94)
92 INT_NUMBER@[93; 94) "1"
93 SEMI@[94; 95) ";"
94 WHITESPACE@[95; 100) "\n "
95 EXPR_STMT@[100; 109)
96 BIN_EXPR@[100; 108)
97 RANGE_EXPR@[100; 104)
98 DOTDOTEQ@[100; 103) "..="
99 PATH_EXPR@[103; 104)
100 PATH@[103; 104)
101 PATH_SEGMENT@[103; 104)
102 NAME_REF@[103; 104)
103 IDENT@[103; 104) "z"
104 WHITESPACE@[104; 105) " "
105 EQ@[105; 106) "="
106 WHITESPACE@[106; 107) " "
107 LITERAL@[107; 108)
108 INT_NUMBER@[107; 108) "2"
109 SEMI@[108; 109) ";"
110 WHITESPACE@[109; 114) "\n "
111 EXPR_STMT@[114; 133)
112 BIN_EXPR@[114; 132)
113 PATH_EXPR@[114; 115)
114 PATH@[114; 115)
115 PATH_SEGMENT@[114; 115)
116 NAME_REF@[114; 115)
117 IDENT@[114; 115) "x"
118 WHITESPACE@[115; 116) " "
119 EQ@[116; 117) "="
120 WHITESPACE@[117; 118) " "
121 RANGE_EXPR@[118; 132)
122 LITERAL@[118; 123)
123 FALSE_KW@[118; 123) "false"
124 DOTDOTEQ@[123; 126) "..="
125 BIN_EXPR@[126; 132)
126 LITERAL@[126; 127)
127 INT_NUMBER@[126; 127) "1"
128 WHITESPACE@[127; 128) " "
129 EQEQ@[128; 130) "=="
130 WHITESPACE@[130; 131) " "
131 LITERAL@[131; 132)
132 INT_NUMBER@[131; 132) "1"
133 SEMI@[132; 133) ";"
134 WHITESPACE@[133; 138) "\n "
135 LET_STMT@[138; 150)
136 LET_KW@[138; 141) "let"
137 WHITESPACE@[141; 142) " "
138 BIND_PAT@[142; 143)
139 NAME@[142; 143)
140 IDENT@[142; 143) "x"
141 WHITESPACE@[143; 144) " "
142 EQ@[144; 145) "="
143 WHITESPACE@[145; 146) " "
144 RANGE_EXPR@[146; 149)
145 LITERAL@[146; 147)
146 INT_NUMBER@[146; 147) "1"
147 DOTDOT@[147; 149) ".."
148 SEMI@[149; 150) ";"
149 WHITESPACE@[150; 151) "\n"
150 R_CURLY@[151; 152) "}"
151 WHITESPACE@[152; 153) "\n"
diff --git a/crates/ra_syntax/tests/data/parser/ok/0030_string_suffixes.rs b/crates/ra_syntax/tests/data/parser/ok/0030_string_suffixes.rs
deleted file mode 100644
index 261aad1fb..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0030_string_suffixes.rs
+++ /dev/null
@@ -1,6 +0,0 @@
1fn main() {
2 let _ = 'c'u32;
3 let _ = "string"invalid;
4 let _ = b'b'_suff;
5 let _ = b"bs"invalid;
6}
diff --git a/crates/ra_syntax/tests/data/parser/ok/0030_string_suffixes.txt b/crates/ra_syntax/tests/data/parser/ok/0030_string_suffixes.txt
deleted file mode 100644
index 4f7e809c5..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0030_string_suffixes.txt
+++ /dev/null
@@ -1,63 +0,0 @@
1SOURCE_FILE@[0; 112)
2 FN_DEF@[0; 111)
3 FN_KW@[0; 2) "fn"
4 WHITESPACE@[2; 3) " "
5 NAME@[3; 7)
6 IDENT@[3; 7) "main"
7 PARAM_LIST@[7; 9)
8 L_PAREN@[7; 8) "("
9 R_PAREN@[8; 9) ")"
10 WHITESPACE@[9; 10) " "
11 BLOCK@[10; 111)
12 L_CURLY@[10; 11) "{"
13 WHITESPACE@[11; 16) "\n "
14 LET_STMT@[16; 31)
15 LET_KW@[16; 19) "let"
16 WHITESPACE@[19; 20) " "
17 PLACEHOLDER_PAT@[20; 21)
18 UNDERSCORE@[20; 21) "_"
19 WHITESPACE@[21; 22) " "
20 EQ@[22; 23) "="
21 WHITESPACE@[23; 24) " "
22 LITERAL@[24; 30)
23 CHAR@[24; 30) "\'c\'u32"
24 SEMI@[30; 31) ";"
25 WHITESPACE@[31; 36) "\n "
26 LET_STMT@[36; 60)
27 LET_KW@[36; 39) "let"
28 WHITESPACE@[39; 40) " "
29 PLACEHOLDER_PAT@[40; 41)
30 UNDERSCORE@[40; 41) "_"
31 WHITESPACE@[41; 42) " "
32 EQ@[42; 43) "="
33 WHITESPACE@[43; 44) " "
34 LITERAL@[44; 59)
35 STRING@[44; 59) "\"string\"invalid"
36 SEMI@[59; 60) ";"
37 WHITESPACE@[60; 65) "\n "
38 LET_STMT@[65; 83)
39 LET_KW@[65; 68) "let"
40 WHITESPACE@[68; 69) " "
41 PLACEHOLDER_PAT@[69; 70)
42 UNDERSCORE@[69; 70) "_"
43 WHITESPACE@[70; 71) " "
44 EQ@[71; 72) "="
45 WHITESPACE@[72; 73) " "
46 LITERAL@[73; 82)
47 BYTE@[73; 82) "b\'b\'_suff"
48 SEMI@[82; 83) ";"
49 WHITESPACE@[83; 88) "\n "
50 LET_STMT@[88; 109)
51 LET_KW@[88; 91) "let"
52 WHITESPACE@[91; 92) " "
53 PLACEHOLDER_PAT@[92; 93)
54 UNDERSCORE@[92; 93) "_"
55 WHITESPACE@[93; 94) " "
56 EQ@[94; 95) "="
57 WHITESPACE@[95; 96) " "
58 LITERAL@[96; 108)
59 BYTE_STRING@[96; 108) "b\"bs\"invalid"
60 SEMI@[108; 109) ";"
61 WHITESPACE@[109; 110) "\n"
62 R_CURLY@[110; 111) "}"
63 WHITESPACE@[111; 112) "\n"
diff --git a/crates/ra_syntax/tests/data/parser/ok/0030_traits.rs b/crates/ra_syntax/tests/data/parser/ok/0030_traits.rs
deleted file mode 100644
index 23c4be0e1..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0030_traits.rs
+++ /dev/null
@@ -1,11 +0,0 @@
1pub trait WriteMessage {
2 fn write_message(&FrontendMessage);
3}
4
5trait Runnable {
6 fn handler();
7}
8
9trait TraitWithExpr {
10 fn fn_with_expr(x: [i32; 1]);
11}
diff --git a/crates/ra_syntax/tests/data/parser/ok/0030_traits.txt b/crates/ra_syntax/tests/data/parser/ok/0030_traits.txt
deleted file mode 100644
index b656c1a81..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0030_traits.txt
+++ /dev/null
@@ -1,93 +0,0 @@
1SOURCE_FILE@[0; 164)
2 TRAIT_DEF@[0; 66)
3 VISIBILITY@[0; 3)
4 PUB_KW@[0; 3) "pub"
5 WHITESPACE@[3; 4) " "
6 TRAIT_KW@[4; 9) "trait"
7 WHITESPACE@[9; 10) " "
8 NAME@[10; 22)
9 IDENT@[10; 22) "WriteMessage"
10 WHITESPACE@[22; 23) " "
11 ITEM_LIST@[23; 66)
12 L_CURLY@[23; 24) "{"
13 WHITESPACE@[24; 29) "\n "
14 FN_DEF@[29; 64)
15 FN_KW@[29; 31) "fn"
16 WHITESPACE@[31; 32) " "
17 NAME@[32; 45)
18 IDENT@[32; 45) "write_message"
19 PARAM_LIST@[45; 63)
20 L_PAREN@[45; 46) "("
21 PARAM@[46; 62)
22 REFERENCE_TYPE@[46; 62)
23 AMP@[46; 47) "&"
24 PATH_TYPE@[47; 62)
25 PATH@[47; 62)
26 PATH_SEGMENT@[47; 62)
27 NAME_REF@[47; 62)
28 IDENT@[47; 62) "FrontendMessage"
29 R_PAREN@[62; 63) ")"
30 SEMI@[63; 64) ";"
31 WHITESPACE@[64; 65) "\n"
32 R_CURLY@[65; 66) "}"
33 WHITESPACE@[66; 68) "\n\n"
34 TRAIT_DEF@[68; 104)
35 TRAIT_KW@[68; 73) "trait"
36 WHITESPACE@[73; 74) " "
37 NAME@[74; 82)
38 IDENT@[74; 82) "Runnable"
39 WHITESPACE@[82; 83) " "
40 ITEM_LIST@[83; 104)
41 L_CURLY@[83; 84) "{"
42 WHITESPACE@[84; 89) "\n "
43 FN_DEF@[89; 102)
44 FN_KW@[89; 91) "fn"
45 WHITESPACE@[91; 92) " "
46 NAME@[92; 99)
47 IDENT@[92; 99) "handler"
48 PARAM_LIST@[99; 101)
49 L_PAREN@[99; 100) "("
50 R_PAREN@[100; 101) ")"
51 SEMI@[101; 102) ";"
52 WHITESPACE@[102; 103) "\n"
53 R_CURLY@[103; 104) "}"
54 WHITESPACE@[104; 106) "\n\n"
55 TRAIT_DEF@[106; 163)
56 TRAIT_KW@[106; 111) "trait"
57 WHITESPACE@[111; 112) " "
58 NAME@[112; 125)
59 IDENT@[112; 125) "TraitWithExpr"
60 WHITESPACE@[125; 126) " "
61 ITEM_LIST@[126; 163)
62 L_CURLY@[126; 127) "{"
63 WHITESPACE@[127; 132) "\n "
64 FN_DEF@[132; 161)
65 FN_KW@[132; 134) "fn"
66 WHITESPACE@[134; 135) " "
67 NAME@[135; 147)
68 IDENT@[135; 147) "fn_with_expr"
69 PARAM_LIST@[147; 160)
70 L_PAREN@[147; 148) "("
71 PARAM@[148; 159)
72 BIND_PAT@[148; 149)
73 NAME@[148; 149)
74 IDENT@[148; 149) "x"
75 COLON@[149; 150) ":"
76 WHITESPACE@[150; 151) " "
77 ARRAY_TYPE@[151; 159)
78 L_BRACK@[151; 152) "["
79 PATH_TYPE@[152; 155)
80 PATH@[152; 155)
81 PATH_SEGMENT@[152; 155)
82 NAME_REF@[152; 155)
83 IDENT@[152; 155) "i32"
84 SEMI@[155; 156) ";"
85 WHITESPACE@[156; 157) " "
86 LITERAL@[157; 158)
87 INT_NUMBER@[157; 158) "1"
88 R_BRACK@[158; 159) "]"
89 R_PAREN@[159; 160) ")"
90 SEMI@[160; 161) ";"
91 WHITESPACE@[161; 162) "\n"
92 R_CURLY@[162; 163) "}"
93 WHITESPACE@[163; 164) "\n"
diff --git a/crates/ra_syntax/tests/data/parser/ok/0031_extern.rs b/crates/ra_syntax/tests/data/parser/ok/0031_extern.rs
deleted file mode 100644
index b33ac273c..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0031_extern.rs
+++ /dev/null
@@ -1,29 +0,0 @@
1extern {
2 pub fn socket(domain: ::c_int, ty: ::c_int, protocol: ::c_int) -> ::c_int;
3 pub fn bind(fd: ::c_int, addr: *const sockaddr, len: socklen_t) -> ::c_int;
4 pub fn connect(socket: ::c_int, address: *const sockaddr,
5 len: socklen_t) -> ::c_int;
6 pub fn listen(socket: ::c_int, backlog: ::c_int) -> ::c_int;
7 pub fn getsockname(socket: ::c_int, address: *mut sockaddr,
8 address_len: *mut socklen_t) -> ::c_int;
9 pub fn getsockopt(sockfd: ::c_int,
10 level: ::c_int,
11 optname: ::c_int,
12 optval: *mut ::c_void,
13 optlen: *mut ::socklen_t) -> ::c_int;
14 pub fn setsockopt(socket: ::c_int, level: ::c_int, name: ::c_int,
15 value: *const ::c_void,
16 option_len: socklen_t) -> ::c_int;
17 pub fn getpeername(socket: ::c_int, address: *mut sockaddr,
18 address_len: *mut socklen_t) -> ::c_int;
19 pub fn sendto(socket: ::c_int, buf: *const ::c_void, len: ::size_t,
20 flags: ::c_int, addr: *const sockaddr,
21 addrlen: socklen_t) -> ::ssize_t;
22 pub fn send(socket: ::c_int, buf: *const ::c_void, len: ::size_t,
23 flags: ::c_int) -> ::ssize_t;
24 pub fn recvfrom(socket: ::c_int, buf: *mut ::c_void, len: ::size_t,
25 flags: ::c_int, addr: *mut ::sockaddr,
26 addrlen: *mut ::socklen_t) -> ::ssize_t;
27 pub fn recv(socket: ::c_int, buf: *mut ::c_void, len: ::size_t,
28 flags: ::c_int) -> ::ssize_t;
29}
diff --git a/crates/ra_syntax/tests/data/parser/ok/0031_extern.txt b/crates/ra_syntax/tests/data/parser/ok/0031_extern.txt
deleted file mode 100644
index badbf76c5..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0031_extern.txt
+++ /dev/null
@@ -1,973 +0,0 @@
1SOURCE_FILE@[0; 1598)
2 EXTERN_BLOCK@[0; 1597)
3 ABI@[0; 6)
4 EXTERN_KW@[0; 6) "extern"
5 WHITESPACE@[6; 7) " "
6 EXTERN_ITEM_LIST@[7; 1597)
7 L_CURLY@[7; 8) "{"
8 WHITESPACE@[8; 13) "\n "
9 FN_DEF@[13; 87)
10 VISIBILITY@[13; 16)
11 PUB_KW@[13; 16) "pub"
12 WHITESPACE@[16; 17) " "
13 FN_KW@[17; 19) "fn"
14 WHITESPACE@[19; 20) " "
15 NAME@[20; 26)
16 IDENT@[20; 26) "socket"
17 PARAM_LIST@[26; 75)
18 L_PAREN@[26; 27) "("
19 PARAM@[27; 42)
20 BIND_PAT@[27; 33)
21 NAME@[27; 33)
22 IDENT@[27; 33) "domain"
23 COLON@[33; 34) ":"
24 WHITESPACE@[34; 35) " "
25 PATH_TYPE@[35; 42)
26 PATH@[35; 42)
27 PATH_SEGMENT@[35; 42)
28 COLONCOLON@[35; 37) "::"
29 NAME_REF@[37; 42)
30 IDENT@[37; 42) "c_int"
31 COMMA@[42; 43) ","
32 WHITESPACE@[43; 44) " "
33 PARAM@[44; 55)
34 BIND_PAT@[44; 46)
35 NAME@[44; 46)
36 IDENT@[44; 46) "ty"
37 COLON@[46; 47) ":"
38 WHITESPACE@[47; 48) " "
39 PATH_TYPE@[48; 55)
40 PATH@[48; 55)
41 PATH_SEGMENT@[48; 55)
42 COLONCOLON@[48; 50) "::"
43 NAME_REF@[50; 55)
44 IDENT@[50; 55) "c_int"
45 COMMA@[55; 56) ","
46 WHITESPACE@[56; 57) " "
47 PARAM@[57; 74)
48 BIND_PAT@[57; 65)
49 NAME@[57; 65)
50 IDENT@[57; 65) "protocol"
51 COLON@[65; 66) ":"
52 WHITESPACE@[66; 67) " "
53 PATH_TYPE@[67; 74)
54 PATH@[67; 74)
55 PATH_SEGMENT@[67; 74)
56 COLONCOLON@[67; 69) "::"
57 NAME_REF@[69; 74)
58 IDENT@[69; 74) "c_int"
59 R_PAREN@[74; 75) ")"
60 WHITESPACE@[75; 76) " "
61 RET_TYPE@[76; 86)
62 THIN_ARROW@[76; 78) "->"
63 WHITESPACE@[78; 79) " "
64 PATH_TYPE@[79; 86)
65 PATH@[79; 86)
66 PATH_SEGMENT@[79; 86)
67 COLONCOLON@[79; 81) "::"
68 NAME_REF@[81; 86)
69 IDENT@[81; 86) "c_int"
70 SEMI@[86; 87) ";"
71 WHITESPACE@[87; 92) "\n "
72 FN_DEF@[92; 167)
73 VISIBILITY@[92; 95)
74 PUB_KW@[92; 95) "pub"
75 WHITESPACE@[95; 96) " "
76 FN_KW@[96; 98) "fn"
77 WHITESPACE@[98; 99) " "
78 NAME@[99; 103)
79 IDENT@[99; 103) "bind"
80 PARAM_LIST@[103; 155)
81 L_PAREN@[103; 104) "("
82 PARAM@[104; 115)
83 BIND_PAT@[104; 106)
84 NAME@[104; 106)
85 IDENT@[104; 106) "fd"
86 COLON@[106; 107) ":"
87 WHITESPACE@[107; 108) " "
88 PATH_TYPE@[108; 115)
89 PATH@[108; 115)
90 PATH_SEGMENT@[108; 115)
91 COLONCOLON@[108; 110) "::"
92 NAME_REF@[110; 115)
93 IDENT@[110; 115) "c_int"
94 COMMA@[115; 116) ","
95 WHITESPACE@[116; 117) " "
96 PARAM@[117; 138)
97 BIND_PAT@[117; 121)
98 NAME@[117; 121)
99 IDENT@[117; 121) "addr"
100 COLON@[121; 122) ":"
101 WHITESPACE@[122; 123) " "
102 POINTER_TYPE@[123; 138)
103 STAR@[123; 124) "*"
104 CONST_KW@[124; 129) "const"
105 WHITESPACE@[129; 130) " "
106 PATH_TYPE@[130; 138)
107 PATH@[130; 138)
108 PATH_SEGMENT@[130; 138)
109 NAME_REF@[130; 138)
110 IDENT@[130; 138) "sockaddr"
111 COMMA@[138; 139) ","
112 WHITESPACE@[139; 140) " "
113 PARAM@[140; 154)
114 BIND_PAT@[140; 143)
115 NAME@[140; 143)
116 IDENT@[140; 143) "len"
117 COLON@[143; 144) ":"
118 WHITESPACE@[144; 145) " "
119 PATH_TYPE@[145; 154)
120 PATH@[145; 154)
121 PATH_SEGMENT@[145; 154)
122 NAME_REF@[145; 154)
123 IDENT@[145; 154) "socklen_t"
124 R_PAREN@[154; 155) ")"
125 WHITESPACE@[155; 156) " "
126 RET_TYPE@[156; 166)
127 THIN_ARROW@[156; 158) "->"
128 WHITESPACE@[158; 159) " "
129 PATH_TYPE@[159; 166)
130 PATH@[159; 166)
131 PATH_SEGMENT@[159; 166)
132 COLONCOLON@[159; 161) "::"
133 NAME_REF@[161; 166)
134 IDENT@[161; 166) "c_int"
135 SEMI@[166; 167) ";"
136 WHITESPACE@[167; 172) "\n "
137 FN_DEF@[172; 276)
138 VISIBILITY@[172; 175)
139 PUB_KW@[172; 175) "pub"
140 WHITESPACE@[175; 176) " "
141 FN_KW@[176; 178) "fn"
142 WHITESPACE@[178; 179) " "
143 NAME@[179; 186)
144 IDENT@[179; 186) "connect"
145 PARAM_LIST@[186; 264)
146 L_PAREN@[186; 187) "("
147 PARAM@[187; 202)
148 BIND_PAT@[187; 193)
149 NAME@[187; 193)
150 IDENT@[187; 193) "socket"
151 COLON@[193; 194) ":"
152 WHITESPACE@[194; 195) " "
153 PATH_TYPE@[195; 202)
154 PATH@[195; 202)
155 PATH_SEGMENT@[195; 202)
156 COLONCOLON@[195; 197) "::"
157 NAME_REF@[197; 202)
158 IDENT@[197; 202) "c_int"
159 COMMA@[202; 203) ","
160 WHITESPACE@[203; 204) " "
161 PARAM@[204; 228)
162 BIND_PAT@[204; 211)
163 NAME@[204; 211)
164 IDENT@[204; 211) "address"
165 COLON@[211; 212) ":"
166 WHITESPACE@[212; 213) " "
167 POINTER_TYPE@[213; 228)
168 STAR@[213; 214) "*"
169 CONST_KW@[214; 219) "const"
170 WHITESPACE@[219; 220) " "
171 PATH_TYPE@[220; 228)
172 PATH@[220; 228)
173 PATH_SEGMENT@[220; 228)
174 NAME_REF@[220; 228)
175 IDENT@[220; 228) "sockaddr"
176 COMMA@[228; 229) ","
177 WHITESPACE@[229; 249) "\n "
178 PARAM@[249; 263)
179 BIND_PAT@[249; 252)
180 NAME@[249; 252)
181 IDENT@[249; 252) "len"
182 COLON@[252; 253) ":"
183 WHITESPACE@[253; 254) " "
184 PATH_TYPE@[254; 263)
185 PATH@[254; 263)
186 PATH_SEGMENT@[254; 263)
187 NAME_REF@[254; 263)
188 IDENT@[254; 263) "socklen_t"
189 R_PAREN@[263; 264) ")"
190 WHITESPACE@[264; 265) " "
191 RET_TYPE@[265; 275)
192 THIN_ARROW@[265; 267) "->"
193 WHITESPACE@[267; 268) " "
194 PATH_TYPE@[268; 275)
195 PATH@[268; 275)
196 PATH_SEGMENT@[268; 275)
197 COLONCOLON@[268; 270) "::"
198 NAME_REF@[270; 275)
199 IDENT@[270; 275) "c_int"
200 SEMI@[275; 276) ";"
201 WHITESPACE@[276; 281) "\n "
202 FN_DEF@[281; 341)
203 VISIBILITY@[281; 284)
204 PUB_KW@[281; 284) "pub"
205 WHITESPACE@[284; 285) " "
206 FN_KW@[285; 287) "fn"
207 WHITESPACE@[287; 288) " "
208 NAME@[288; 294)
209 IDENT@[288; 294) "listen"
210 PARAM_LIST@[294; 329)
211 L_PAREN@[294; 295) "("
212 PARAM@[295; 310)
213 BIND_PAT@[295; 301)
214 NAME@[295; 301)
215 IDENT@[295; 301) "socket"
216 COLON@[301; 302) ":"
217 WHITESPACE@[302; 303) " "
218 PATH_TYPE@[303; 310)
219 PATH@[303; 310)
220 PATH_SEGMENT@[303; 310)
221 COLONCOLON@[303; 305) "::"
222 NAME_REF@[305; 310)
223 IDENT@[305; 310) "c_int"
224 COMMA@[310; 311) ","
225 WHITESPACE@[311; 312) " "
226 PARAM@[312; 328)
227 BIND_PAT@[312; 319)
228 NAME@[312; 319)
229 IDENT@[312; 319) "backlog"
230 COLON@[319; 320) ":"
231 WHITESPACE@[320; 321) " "
232 PATH_TYPE@[321; 328)
233 PATH@[321; 328)
234 PATH_SEGMENT@[321; 328)
235 COLONCOLON@[321; 323) "::"
236 NAME_REF@[323; 328)
237 IDENT@[323; 328) "c_int"
238 R_PAREN@[328; 329) ")"
239 WHITESPACE@[329; 330) " "
240 RET_TYPE@[330; 340)
241 THIN_ARROW@[330; 332) "->"
242 WHITESPACE@[332; 333) " "
243 PATH_TYPE@[333; 340)
244 PATH@[333; 340)
245 PATH_SEGMENT@[333; 340)
246 COLONCOLON@[333; 335) "::"
247 NAME_REF@[335; 340)
248 IDENT@[335; 340) "c_int"
249 SEMI@[340; 341) ";"
250 WHITESPACE@[341; 346) "\n "
251 FN_DEF@[346; 469)
252 VISIBILITY@[346; 349)
253 PUB_KW@[346; 349) "pub"
254 WHITESPACE@[349; 350) " "
255 FN_KW@[350; 352) "fn"
256 WHITESPACE@[352; 353) " "
257 NAME@[353; 364)
258 IDENT@[353; 364) "getsockname"
259 PARAM_LIST@[364; 457)
260 L_PAREN@[364; 365) "("
261 PARAM@[365; 380)
262 BIND_PAT@[365; 371)
263 NAME@[365; 371)
264 IDENT@[365; 371) "socket"
265 COLON@[371; 372) ":"
266 WHITESPACE@[372; 373) " "
267 PATH_TYPE@[373; 380)
268 PATH@[373; 380)
269 PATH_SEGMENT@[373; 380)
270 COLONCOLON@[373; 375) "::"
271 NAME_REF@[375; 380)
272 IDENT@[375; 380) "c_int"
273 COMMA@[380; 381) ","
274 WHITESPACE@[381; 382) " "
275 PARAM@[382; 404)
276 BIND_PAT@[382; 389)
277 NAME@[382; 389)
278 IDENT@[382; 389) "address"
279 COLON@[389; 390) ":"
280 WHITESPACE@[390; 391) " "
281 POINTER_TYPE@[391; 404)
282 STAR@[391; 392) "*"
283 MUT_KW@[392; 395) "mut"
284 WHITESPACE@[395; 396) " "
285 PATH_TYPE@[396; 404)
286 PATH@[396; 404)
287 PATH_SEGMENT@[396; 404)
288 NAME_REF@[396; 404)
289 IDENT@[396; 404) "sockaddr"
290 COMMA@[404; 405) ","
291 WHITESPACE@[405; 429) "\n "
292 PARAM@[429; 456)
293 BIND_PAT@[429; 440)
294 NAME@[429; 440)
295 IDENT@[429; 440) "address_len"
296 COLON@[440; 441) ":"
297 WHITESPACE@[441; 442) " "
298 POINTER_TYPE@[442; 456)
299 STAR@[442; 443) "*"
300 MUT_KW@[443; 446) "mut"
301 WHITESPACE@[446; 447) " "
302 PATH_TYPE@[447; 456)
303 PATH@[447; 456)
304 PATH_SEGMENT@[447; 456)
305 NAME_REF@[447; 456)
306 IDENT@[447; 456) "socklen_t"
307 R_PAREN@[456; 457) ")"
308 WHITESPACE@[457; 458) " "
309 RET_TYPE@[458; 468)
310 THIN_ARROW@[458; 460) "->"
311 WHITESPACE@[460; 461) " "
312 PATH_TYPE@[461; 468)
313 PATH@[461; 468)
314 PATH_SEGMENT@[461; 468)
315 COLONCOLON@[461; 463) "::"
316 NAME_REF@[463; 468)
317 IDENT@[463; 468) "c_int"
318 SEMI@[468; 469) ";"
319 WHITESPACE@[469; 474) "\n "
320 FN_DEF@[474; 691)
321 VISIBILITY@[474; 477)
322 PUB_KW@[474; 477) "pub"
323 WHITESPACE@[477; 478) " "
324 FN_KW@[478; 480) "fn"
325 WHITESPACE@[480; 481) " "
326 NAME@[481; 491)
327 IDENT@[481; 491) "getsockopt"
328 PARAM_LIST@[491; 679)
329 L_PAREN@[491; 492) "("
330 PARAM@[492; 507)
331 BIND_PAT@[492; 498)
332 NAME@[492; 498)
333 IDENT@[492; 498) "sockfd"
334 COLON@[498; 499) ":"
335 WHITESPACE@[499; 500) " "
336 PATH_TYPE@[500; 507)
337 PATH@[500; 507)
338 PATH_SEGMENT@[500; 507)
339 COLONCOLON@[500; 502) "::"
340 NAME_REF@[502; 507)
341 IDENT@[502; 507) "c_int"
342 COMMA@[507; 508) ","
343 WHITESPACE@[508; 531) "\n "
344 PARAM@[531; 545)
345 BIND_PAT@[531; 536)
346 NAME@[531; 536)
347 IDENT@[531; 536) "level"
348 COLON@[536; 537) ":"
349 WHITESPACE@[537; 538) " "
350 PATH_TYPE@[538; 545)
351 PATH@[538; 545)
352 PATH_SEGMENT@[538; 545)
353 COLONCOLON@[538; 540) "::"
354 NAME_REF@[540; 545)
355 IDENT@[540; 545) "c_int"
356 COMMA@[545; 546) ","
357 WHITESPACE@[546; 569) "\n "
358 PARAM@[569; 585)
359 BIND_PAT@[569; 576)
360 NAME@[569; 576)
361 IDENT@[569; 576) "optname"
362 COLON@[576; 577) ":"
363 WHITESPACE@[577; 578) " "
364 PATH_TYPE@[578; 585)
365 PATH@[578; 585)
366 PATH_SEGMENT@[578; 585)
367 COLONCOLON@[578; 580) "::"
368 NAME_REF@[580; 585)
369 IDENT@[580; 585) "c_int"
370 COMMA@[585; 586) ","
371 WHITESPACE@[586; 609) "\n "
372 PARAM@[609; 630)
373 BIND_PAT@[609; 615)
374 NAME@[609; 615)
375 IDENT@[609; 615) "optval"
376 COLON@[615; 616) ":"
377 WHITESPACE@[616; 617) " "
378 POINTER_TYPE@[617; 630)
379 STAR@[617; 618) "*"
380 MUT_KW@[618; 621) "mut"
381 WHITESPACE@[621; 622) " "
382 PATH_TYPE@[622; 630)
383 PATH@[622; 630)
384 PATH_SEGMENT@[622; 630)
385 COLONCOLON@[622; 624) "::"
386 NAME_REF@[624; 630)
387 IDENT@[624; 630) "c_void"
388 COMMA@[630; 631) ","
389 WHITESPACE@[631; 654) "\n "
390 PARAM@[654; 678)
391 BIND_PAT@[654; 660)
392 NAME@[654; 660)
393 IDENT@[654; 660) "optlen"
394 COLON@[660; 661) ":"
395 WHITESPACE@[661; 662) " "
396 POINTER_TYPE@[662; 678)
397 STAR@[662; 663) "*"
398 MUT_KW@[663; 666) "mut"
399 WHITESPACE@[666; 667) " "
400 PATH_TYPE@[667; 678)
401 PATH@[667; 678)
402 PATH_SEGMENT@[667; 678)
403 COLONCOLON@[667; 669) "::"
404 NAME_REF@[669; 678)
405 IDENT@[669; 678) "socklen_t"
406 R_PAREN@[678; 679) ")"
407 WHITESPACE@[679; 680) " "
408 RET_TYPE@[680; 690)
409 THIN_ARROW@[680; 682) "->"
410 WHITESPACE@[682; 683) " "
411 PATH_TYPE@[683; 690)
412 PATH@[683; 690)
413 PATH_SEGMENT@[683; 690)
414 COLONCOLON@[683; 685) "::"
415 NAME_REF@[685; 690)
416 IDENT@[685; 690) "c_int"
417 SEMI@[690; 691) ";"
418 WHITESPACE@[691; 696) "\n "
419 FN_DEF@[696; 864)
420 VISIBILITY@[696; 699)
421 PUB_KW@[696; 699) "pub"
422 WHITESPACE@[699; 700) " "
423 FN_KW@[700; 702) "fn"
424 WHITESPACE@[702; 703) " "
425 NAME@[703; 713)
426 IDENT@[703; 713) "setsockopt"
427 PARAM_LIST@[713; 852)
428 L_PAREN@[713; 714) "("
429 PARAM@[714; 729)
430 BIND_PAT@[714; 720)
431 NAME@[714; 720)
432 IDENT@[714; 720) "socket"
433 COLON@[720; 721) ":"
434 WHITESPACE@[721; 722) " "
435 PATH_TYPE@[722; 729)
436 PATH@[722; 729)
437 PATH_SEGMENT@[722; 729)
438 COLONCOLON@[722; 724) "::"
439 NAME_REF@[724; 729)
440 IDENT@[724; 729) "c_int"
441 COMMA@[729; 730) ","
442 WHITESPACE@[730; 731) " "
443 PARAM@[731; 745)
444 BIND_PAT@[731; 736)
445 NAME@[731; 736)
446 IDENT@[731; 736) "level"
447 COLON@[736; 737) ":"
448 WHITESPACE@[737; 738) " "
449 PATH_TYPE@[738; 745)
450 PATH@[738; 745)
451 PATH_SEGMENT@[738; 745)
452 COLONCOLON@[738; 740) "::"
453 NAME_REF@[740; 745)
454 IDENT@[740; 745) "c_int"
455 COMMA@[745; 746) ","
456 WHITESPACE@[746; 747) " "
457 PARAM@[747; 760)
458 BIND_PAT@[747; 751)
459 NAME@[747; 751)
460 IDENT@[747; 751) "name"
461 COLON@[751; 752) ":"
462 WHITESPACE@[752; 753) " "
463 PATH_TYPE@[753; 760)
464 PATH@[753; 760)
465 PATH_SEGMENT@[753; 760)
466 COLONCOLON@[753; 755) "::"
467 NAME_REF@[755; 760)
468 IDENT@[755; 760) "c_int"
469 COMMA@[760; 761) ","
470 WHITESPACE@[761; 784) "\n "
471 PARAM@[784; 806)
472 BIND_PAT@[784; 789)
473 NAME@[784; 789)
474 IDENT@[784; 789) "value"
475 COLON@[789; 790) ":"
476 WHITESPACE@[790; 791) " "
477 POINTER_TYPE@[791; 806)
478 STAR@[791; 792) "*"
479 CONST_KW@[792; 797) "const"
480 WHITESPACE@[797; 798) " "
481 PATH_TYPE@[798; 806)
482 PATH@[798; 806)
483 PATH_SEGMENT@[798; 806)
484 COLONCOLON@[798; 800) "::"
485 NAME_REF@[800; 806)
486 IDENT@[800; 806) "c_void"
487 COMMA@[806; 807) ","
488 WHITESPACE@[807; 830) "\n "
489 PARAM@[830; 851)
490 BIND_PAT@[830; 840)
491 NAME@[830; 840)
492 IDENT@[830; 840) "option_len"
493 COLON@[840; 841) ":"
494 WHITESPACE@[841; 842) " "
495 PATH_TYPE@[842; 851)
496 PATH@[842; 851)
497 PATH_SEGMENT@[842; 851)
498 NAME_REF@[842; 851)
499 IDENT@[842; 851) "socklen_t"
500 R_PAREN@[851; 852) ")"
501 WHITESPACE@[852; 853) " "
502 RET_TYPE@[853; 863)
503 THIN_ARROW@[853; 855) "->"
504 WHITESPACE@[855; 856) " "
505 PATH_TYPE@[856; 863)
506 PATH@[856; 863)
507 PATH_SEGMENT@[856; 863)
508 COLONCOLON@[856; 858) "::"
509 NAME_REF@[858; 863)
510 IDENT@[858; 863) "c_int"
511 SEMI@[863; 864) ";"
512 WHITESPACE@[864; 869) "\n "
513 FN_DEF@[869; 992)
514 VISIBILITY@[869; 872)
515 PUB_KW@[869; 872) "pub"
516 WHITESPACE@[872; 873) " "
517 FN_KW@[873; 875) "fn"
518 WHITESPACE@[875; 876) " "
519 NAME@[876; 887)
520 IDENT@[876; 887) "getpeername"
521 PARAM_LIST@[887; 980)
522 L_PAREN@[887; 888) "("
523 PARAM@[888; 903)
524 BIND_PAT@[888; 894)
525 NAME@[888; 894)
526 IDENT@[888; 894) "socket"
527 COLON@[894; 895) ":"
528 WHITESPACE@[895; 896) " "
529 PATH_TYPE@[896; 903)
530 PATH@[896; 903)
531 PATH_SEGMENT@[896; 903)
532 COLONCOLON@[896; 898) "::"
533 NAME_REF@[898; 903)
534 IDENT@[898; 903) "c_int"
535 COMMA@[903; 904) ","
536 WHITESPACE@[904; 905) " "
537 PARAM@[905; 927)
538 BIND_PAT@[905; 912)
539 NAME@[905; 912)
540 IDENT@[905; 912) "address"
541 COLON@[912; 913) ":"
542 WHITESPACE@[913; 914) " "
543 POINTER_TYPE@[914; 927)
544 STAR@[914; 915) "*"
545 MUT_KW@[915; 918) "mut"
546 WHITESPACE@[918; 919) " "
547 PATH_TYPE@[919; 927)
548 PATH@[919; 927)
549 PATH_SEGMENT@[919; 927)
550 NAME_REF@[919; 927)
551 IDENT@[919; 927) "sockaddr"
552 COMMA@[927; 928) ","
553 WHITESPACE@[928; 952) "\n "
554 PARAM@[952; 979)
555 BIND_PAT@[952; 963)
556 NAME@[952; 963)
557 IDENT@[952; 963) "address_len"
558 COLON@[963; 964) ":"
559 WHITESPACE@[964; 965) " "
560 POINTER_TYPE@[965; 979)
561 STAR@[965; 966) "*"
562 MUT_KW@[966; 969) "mut"
563 WHITESPACE@[969; 970) " "
564 PATH_TYPE@[970; 979)
565 PATH@[970; 979)
566 PATH_SEGMENT@[970; 979)
567 NAME_REF@[970; 979)
568 IDENT@[970; 979) "socklen_t"
569 R_PAREN@[979; 980) ")"
570 WHITESPACE@[980; 981) " "
571 RET_TYPE@[981; 991)
572 THIN_ARROW@[981; 983) "->"
573 WHITESPACE@[983; 984) " "
574 PATH_TYPE@[984; 991)
575 PATH@[984; 991)
576 PATH_SEGMENT@[984; 991)
577 COLONCOLON@[984; 986) "::"
578 NAME_REF@[986; 991)
579 IDENT@[986; 991) "c_int"
580 SEMI@[991; 992) ";"
581 WHITESPACE@[992; 997) "\n "
582 FN_DEF@[997; 1173)
583 VISIBILITY@[997; 1000)
584 PUB_KW@[997; 1000) "pub"
585 WHITESPACE@[1000; 1001) " "
586 FN_KW@[1001; 1003) "fn"
587 WHITESPACE@[1003; 1004) " "
588 NAME@[1004; 1010)
589 IDENT@[1004; 1010) "sendto"
590 PARAM_LIST@[1010; 1159)
591 L_PAREN@[1010; 1011) "("
592 PARAM@[1011; 1026)
593 BIND_PAT@[1011; 1017)
594 NAME@[1011; 1017)
595 IDENT@[1011; 1017) "socket"
596 COLON@[1017; 1018) ":"
597 WHITESPACE@[1018; 1019) " "
598 PATH_TYPE@[1019; 1026)
599 PATH@[1019; 1026)
600 PATH_SEGMENT@[1019; 1026)
601 COLONCOLON@[1019; 1021) "::"
602 NAME_REF@[1021; 1026)
603 IDENT@[1021; 1026) "c_int"
604 COMMA@[1026; 1027) ","
605 WHITESPACE@[1027; 1028) " "
606 PARAM@[1028; 1048)
607 BIND_PAT@[1028; 1031)
608 NAME@[1028; 1031)
609 IDENT@[1028; 1031) "buf"
610 COLON@[1031; 1032) ":"
611 WHITESPACE@[1032; 1033) " "
612 POINTER_TYPE@[1033; 1048)
613 STAR@[1033; 1034) "*"
614 CONST_KW@[1034; 1039) "const"
615 WHITESPACE@[1039; 1040) " "
616 PATH_TYPE@[1040; 1048)
617 PATH@[1040; 1048)
618 PATH_SEGMENT@[1040; 1048)
619 COLONCOLON@[1040; 1042) "::"
620 NAME_REF@[1042; 1048)
621 IDENT@[1042; 1048) "c_void"
622 COMMA@[1048; 1049) ","
623 WHITESPACE@[1049; 1050) " "
624 PARAM@[1050; 1063)
625 BIND_PAT@[1050; 1053)
626 NAME@[1050; 1053)
627 IDENT@[1050; 1053) "len"
628 COLON@[1053; 1054) ":"
629 WHITESPACE@[1054; 1055) " "
630 PATH_TYPE@[1055; 1063)
631 PATH@[1055; 1063)
632 PATH_SEGMENT@[1055; 1063)
633 COLONCOLON@[1055; 1057) "::"
634 NAME_REF@[1057; 1063)
635 IDENT@[1057; 1063) "size_t"
636 COMMA@[1063; 1064) ","
637 WHITESPACE@[1064; 1083) "\n "
638 PARAM@[1083; 1097)
639 BIND_PAT@[1083; 1088)
640 NAME@[1083; 1088)
641 IDENT@[1083; 1088) "flags"
642 COLON@[1088; 1089) ":"
643 WHITESPACE@[1089; 1090) " "
644 PATH_TYPE@[1090; 1097)
645 PATH@[1090; 1097)
646 PATH_SEGMENT@[1090; 1097)
647 COLONCOLON@[1090; 1092) "::"
648 NAME_REF@[1092; 1097)
649 IDENT@[1092; 1097) "c_int"
650 COMMA@[1097; 1098) ","
651 WHITESPACE@[1098; 1099) " "
652 PARAM@[1099; 1120)
653 BIND_PAT@[1099; 1103)
654 NAME@[1099; 1103)
655 IDENT@[1099; 1103) "addr"
656 COLON@[1103; 1104) ":"
657 WHITESPACE@[1104; 1105) " "
658 POINTER_TYPE@[1105; 1120)
659 STAR@[1105; 1106) "*"
660 CONST_KW@[1106; 1111) "const"
661 WHITESPACE@[1111; 1112) " "
662 PATH_TYPE@[1112; 1120)
663 PATH@[1112; 1120)
664 PATH_SEGMENT@[1112; 1120)
665 NAME_REF@[1112; 1120)
666 IDENT@[1112; 1120) "sockaddr"
667 COMMA@[1120; 1121) ","
668 WHITESPACE@[1121; 1140) "\n "
669 PARAM@[1140; 1158)
670 BIND_PAT@[1140; 1147)
671 NAME@[1140; 1147)
672 IDENT@[1140; 1147) "addrlen"
673 COLON@[1147; 1148) ":"
674 WHITESPACE@[1148; 1149) " "
675 PATH_TYPE@[1149; 1158)
676 PATH@[1149; 1158)
677 PATH_SEGMENT@[1149; 1158)
678 NAME_REF@[1149; 1158)
679 IDENT@[1149; 1158) "socklen_t"
680 R_PAREN@[1158; 1159) ")"
681 WHITESPACE@[1159; 1160) " "
682 RET_TYPE@[1160; 1172)
683 THIN_ARROW@[1160; 1162) "->"
684 WHITESPACE@[1162; 1163) " "
685 PATH_TYPE@[1163; 1172)
686 PATH@[1163; 1172)
687 PATH_SEGMENT@[1163; 1172)
688 COLONCOLON@[1163; 1165) "::"
689 NAME_REF@[1165; 1172)
690 IDENT@[1165; 1172) "ssize_t"
691 SEMI@[1172; 1173) ";"
692 WHITESPACE@[1173; 1178) "\n "
693 FN_DEF@[1178; 1289)
694 VISIBILITY@[1178; 1181)
695 PUB_KW@[1178; 1181) "pub"
696 WHITESPACE@[1181; 1182) " "
697 FN_KW@[1182; 1184) "fn"
698 WHITESPACE@[1184; 1185) " "
699 NAME@[1185; 1189)
700 IDENT@[1185; 1189) "send"
701 PARAM_LIST@[1189; 1275)
702 L_PAREN@[1189; 1190) "("
703 PARAM@[1190; 1205)
704 BIND_PAT@[1190; 1196)
705 NAME@[1190; 1196)
706 IDENT@[1190; 1196) "socket"
707 COLON@[1196; 1197) ":"
708 WHITESPACE@[1197; 1198) " "
709 PATH_TYPE@[1198; 1205)
710 PATH@[1198; 1205)
711 PATH_SEGMENT@[1198; 1205)
712 COLONCOLON@[1198; 1200) "::"
713 NAME_REF@[1200; 1205)
714 IDENT@[1200; 1205) "c_int"
715 COMMA@[1205; 1206) ","
716 WHITESPACE@[1206; 1207) " "
717 PARAM@[1207; 1227)
718 BIND_PAT@[1207; 1210)
719 NAME@[1207; 1210)
720 IDENT@[1207; 1210) "buf"
721 COLON@[1210; 1211) ":"
722 WHITESPACE@[1211; 1212) " "
723 POINTER_TYPE@[1212; 1227)
724 STAR@[1212; 1213) "*"
725 CONST_KW@[1213; 1218) "const"
726 WHITESPACE@[1218; 1219) " "
727 PATH_TYPE@[1219; 1227)
728 PATH@[1219; 1227)
729 PATH_SEGMENT@[1219; 1227)
730 COLONCOLON@[1219; 1221) "::"
731 NAME_REF@[1221; 1227)
732 IDENT@[1221; 1227) "c_void"
733 COMMA@[1227; 1228) ","
734 WHITESPACE@[1228; 1229) " "
735 PARAM@[1229; 1242)
736 BIND_PAT@[1229; 1232)
737 NAME@[1229; 1232)
738 IDENT@[1229; 1232) "len"
739 COLON@[1232; 1233) ":"
740 WHITESPACE@[1233; 1234) " "
741 PATH_TYPE@[1234; 1242)
742 PATH@[1234; 1242)
743 PATH_SEGMENT@[1234; 1242)
744 COLONCOLON@[1234; 1236) "::"
745 NAME_REF@[1236; 1242)
746 IDENT@[1236; 1242) "size_t"
747 COMMA@[1242; 1243) ","
748 WHITESPACE@[1243; 1260) "\n "
749 PARAM@[1260; 1274)
750 BIND_PAT@[1260; 1265)
751 NAME@[1260; 1265)
752 IDENT@[1260; 1265) "flags"
753 COLON@[1265; 1266) ":"
754 WHITESPACE@[1266; 1267) " "
755 PATH_TYPE@[1267; 1274)
756 PATH@[1267; 1274)
757 PATH_SEGMENT@[1267; 1274)
758 COLONCOLON@[1267; 1269) "::"
759 NAME_REF@[1269; 1274)
760 IDENT@[1269; 1274) "c_int"
761 R_PAREN@[1274; 1275) ")"
762 WHITESPACE@[1275; 1276) " "
763 RET_TYPE@[1276; 1288)
764 THIN_ARROW@[1276; 1278) "->"
765 WHITESPACE@[1278; 1279) " "
766 PATH_TYPE@[1279; 1288)
767 PATH@[1279; 1288)
768 PATH_SEGMENT@[1279; 1288)
769 COLONCOLON@[1279; 1281) "::"
770 NAME_REF@[1281; 1288)
771 IDENT@[1281; 1288) "ssize_t"
772 SEMI@[1288; 1289) ";"
773 WHITESPACE@[1289; 1294) "\n "
774 FN_DEF@[1294; 1481)
775 VISIBILITY@[1294; 1297)
776 PUB_KW@[1294; 1297) "pub"
777 WHITESPACE@[1297; 1298) " "
778 FN_KW@[1298; 1300) "fn"
779 WHITESPACE@[1300; 1301) " "
780 NAME@[1301; 1309)
781 IDENT@[1301; 1309) "recvfrom"
782 PARAM_LIST@[1309; 1467)
783 L_PAREN@[1309; 1310) "("
784 PARAM@[1310; 1325)
785 BIND_PAT@[1310; 1316)
786 NAME@[1310; 1316)
787 IDENT@[1310; 1316) "socket"
788 COLON@[1316; 1317) ":"
789 WHITESPACE@[1317; 1318) " "
790 PATH_TYPE@[1318; 1325)
791 PATH@[1318; 1325)
792 PATH_SEGMENT@[1318; 1325)
793 COLONCOLON@[1318; 1320) "::"
794 NAME_REF@[1320; 1325)
795 IDENT@[1320; 1325) "c_int"
796 COMMA@[1325; 1326) ","
797 WHITESPACE@[1326; 1327) " "
798 PARAM@[1327; 1345)
799 BIND_PAT@[1327; 1330)
800 NAME@[1327; 1330)
801 IDENT@[1327; 1330) "buf"
802 COLON@[1330; 1331) ":"
803 WHITESPACE@[1331; 1332) " "
804 POINTER_TYPE@[1332; 1345)
805 STAR@[1332; 1333) "*"
806 MUT_KW@[1333; 1336) "mut"
807 WHITESPACE@[1336; 1337) " "
808 PATH_TYPE@[1337; 1345)
809 PATH@[1337; 1345)
810 PATH_SEGMENT@[1337; 1345)
811 COLONCOLON@[1337; 1339) "::"
812 NAME_REF@[1339; 1345)
813 IDENT@[1339; 1345) "c_void"
814 COMMA@[1345; 1346) ","
815 WHITESPACE@[1346; 1347) " "
816 PARAM@[1347; 1360)
817 BIND_PAT@[1347; 1350)
818 NAME@[1347; 1350)
819 IDENT@[1347; 1350) "len"
820 COLON@[1350; 1351) ":"
821 WHITESPACE@[1351; 1352) " "
822 PATH_TYPE@[1352; 1360)
823 PATH@[1352; 1360)
824 PATH_SEGMENT@[1352; 1360)
825 COLONCOLON@[1352; 1354) "::"
826 NAME_REF@[1354; 1360)
827 IDENT@[1354; 1360) "size_t"
828 COMMA@[1360; 1361) ","
829 WHITESPACE@[1361; 1382) "\n "
830 PARAM@[1382; 1396)
831 BIND_PAT@[1382; 1387)
832 NAME@[1382; 1387)
833 IDENT@[1382; 1387) "flags"
834 COLON@[1387; 1388) ":"
835 WHITESPACE@[1388; 1389) " "
836 PATH_TYPE@[1389; 1396)
837 PATH@[1389; 1396)
838 PATH_SEGMENT@[1389; 1396)
839 COLONCOLON@[1389; 1391) "::"
840 NAME_REF@[1391; 1396)
841 IDENT@[1391; 1396) "c_int"
842 COMMA@[1396; 1397) ","
843 WHITESPACE@[1397; 1398) " "
844 PARAM@[1398; 1419)
845 BIND_PAT@[1398; 1402)
846 NAME@[1398; 1402)
847 IDENT@[1398; 1402) "addr"
848 COLON@[1402; 1403) ":"
849 WHITESPACE@[1403; 1404) " "
850 POINTER_TYPE@[1404; 1419)
851 STAR@[1404; 1405) "*"
852 MUT_KW@[1405; 1408) "mut"
853 WHITESPACE@[1408; 1409) " "
854 PATH_TYPE@[1409; 1419)
855 PATH@[1409; 1419)
856 PATH_SEGMENT@[1409; 1419)
857 COLONCOLON@[1409; 1411) "::"
858 NAME_REF@[1411; 1419)
859 IDENT@[1411; 1419) "sockaddr"
860 COMMA@[1419; 1420) ","
861 WHITESPACE@[1420; 1441) "\n "
862 PARAM@[1441; 1466)
863 BIND_PAT@[1441; 1448)
864 NAME@[1441; 1448)
865 IDENT@[1441; 1448) "addrlen"
866 COLON@[1448; 1449) ":"
867 WHITESPACE@[1449; 1450) " "
868 POINTER_TYPE@[1450; 1466)
869 STAR@[1450; 1451) "*"
870 MUT_KW@[1451; 1454) "mut"
871 WHITESPACE@[1454; 1455) " "
872 PATH_TYPE@[1455; 1466)
873 PATH@[1455; 1466)
874 PATH_SEGMENT@[1455; 1466)
875 COLONCOLON@[1455; 1457) "::"
876 NAME_REF@[1457; 1466)
877 IDENT@[1457; 1466) "socklen_t"
878 R_PAREN@[1466; 1467) ")"
879 WHITESPACE@[1467; 1468) " "
880 RET_TYPE@[1468; 1480)
881 THIN_ARROW@[1468; 1470) "->"
882 WHITESPACE@[1470; 1471) " "
883 PATH_TYPE@[1471; 1480)
884 PATH@[1471; 1480)
885 PATH_SEGMENT@[1471; 1480)
886 COLONCOLON@[1471; 1473) "::"
887 NAME_REF@[1473; 1480)
888 IDENT@[1473; 1480) "ssize_t"
889 SEMI@[1480; 1481) ";"
890 WHITESPACE@[1481; 1486) "\n "
891 FN_DEF@[1486; 1595)
892 VISIBILITY@[1486; 1489)
893 PUB_KW@[1486; 1489) "pub"
894 WHITESPACE@[1489; 1490) " "
895 FN_KW@[1490; 1492) "fn"
896 WHITESPACE@[1492; 1493) " "
897 NAME@[1493; 1497)
898 IDENT@[1493; 1497) "recv"
899 PARAM_LIST@[1497; 1581)
900 L_PAREN@[1497; 1498) "("
901 PARAM@[1498; 1513)
902 BIND_PAT@[1498; 1504)
903 NAME@[1498; 1504)
904 IDENT@[1498; 1504) "socket"
905 COLON@[1504; 1505) ":"
906 WHITESPACE@[1505; 1506) " "
907 PATH_TYPE@[1506; 1513)
908 PATH@[1506; 1513)
909 PATH_SEGMENT@[1506; 1513)
910 COLONCOLON@[1506; 1508) "::"
911 NAME_REF@[1508; 1513)
912 IDENT@[1508; 1513) "c_int"
913 COMMA@[1513; 1514) ","
914 WHITESPACE@[1514; 1515) " "
915 PARAM@[1515; 1533)
916 BIND_PAT@[1515; 1518)
917 NAME@[1515; 1518)
918 IDENT@[1515; 1518) "buf"
919 COLON@[1518; 1519) ":"
920 WHITESPACE@[1519; 1520) " "
921 POINTER_TYPE@[1520; 1533)
922 STAR@[1520; 1521) "*"
923 MUT_KW@[1521; 1524) "mut"
924 WHITESPACE@[1524; 1525) " "
925 PATH_TYPE@[1525; 1533)
926 PATH@[1525; 1533)
927 PATH_SEGMENT@[1525; 1533)
928 COLONCOLON@[1525; 1527) "::"
929 NAME_REF@[1527; 1533)
930 IDENT@[1527; 1533) "c_void"
931 COMMA@[1533; 1534) ","
932 WHITESPACE@[1534; 1535) " "
933 PARAM@[1535; 1548)
934 BIND_PAT@[1535; 1538)
935 NAME@[1535; 1538)
936 IDENT@[1535; 1538) "len"
937 COLON@[1538; 1539) ":"
938 WHITESPACE@[1539; 1540) " "
939 PATH_TYPE@[1540; 1548)
940 PATH@[1540; 1548)
941 PATH_SEGMENT@[1540; 1548)
942 COLONCOLON@[1540; 1542) "::"
943 NAME_REF@[1542; 1548)
944 IDENT@[1542; 1548) "size_t"
945 COMMA@[1548; 1549) ","
946 WHITESPACE@[1549; 1566) "\n "
947 PARAM@[1566; 1580)
948 BIND_PAT@[1566; 1571)
949 NAME@[1566; 1571)
950 IDENT@[1566; 1571) "flags"
951 COLON@[1571; 1572) ":"
952 WHITESPACE@[1572; 1573) " "
953 PATH_TYPE@[1573; 1580)
954 PATH@[1573; 1580)
955 PATH_SEGMENT@[1573; 1580)
956 COLONCOLON@[1573; 1575) "::"
957 NAME_REF@[1575; 1580)
958 IDENT@[1575; 1580) "c_int"
959 R_PAREN@[1580; 1581) ")"
960 WHITESPACE@[1581; 1582) " "
961 RET_TYPE@[1582; 1594)
962 THIN_ARROW@[1582; 1584) "->"
963 WHITESPACE@[1584; 1585) " "
964 PATH_TYPE@[1585; 1594)
965 PATH@[1585; 1594)
966 PATH_SEGMENT@[1585; 1594)
967 COLONCOLON@[1585; 1587) "::"
968 NAME_REF@[1587; 1594)
969 IDENT@[1587; 1594) "ssize_t"
970 SEMI@[1594; 1595) ";"
971 WHITESPACE@[1595; 1596) "\n"
972 R_CURLY@[1596; 1597) "}"
973 WHITESPACE@[1597; 1598) "\n"
diff --git a/crates/ra_syntax/tests/data/parser/ok/0032_where_for.rs b/crates/ra_syntax/tests/data/parser/ok/0032_where_for.rs
deleted file mode 100644
index 588170fbe..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0032_where_for.rs
+++ /dev/null
@@ -1,4 +0,0 @@
1fn test_serialization<SER>()
2where
3 SER: Serialize + for<'de> Deserialize<'de> + PartialEq + std::fmt::Debug,
4{}
diff --git a/crates/ra_syntax/tests/data/parser/ok/0032_where_for.txt b/crates/ra_syntax/tests/data/parser/ok/0032_where_for.txt
deleted file mode 100644
index 9b1d0e84a..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0032_where_for.txt
+++ /dev/null
@@ -1,90 +0,0 @@
1SOURCE_FILE@[0; 116)
2 FN_DEF@[0; 115)
3 FN_KW@[0; 2) "fn"
4 WHITESPACE@[2; 3) " "
5 NAME@[3; 21)
6 IDENT@[3; 21) "test_serialization"
7 TYPE_PARAM_LIST@[21; 26)
8 L_ANGLE@[21; 22) "<"
9 TYPE_PARAM@[22; 25)
10 NAME@[22; 25)
11 IDENT@[22; 25) "SER"
12 R_ANGLE@[25; 26) ">"
13 PARAM_LIST@[26; 28)
14 L_PAREN@[26; 27) "("
15 R_PAREN@[27; 28) ")"
16 WHITESPACE@[28; 29) "\n"
17 WHERE_CLAUSE@[29; 112)
18 WHERE_KW@[29; 34) "where"
19 WHITESPACE@[34; 39) "\n "
20 WHERE_PRED@[39; 111)
21 PATH_TYPE@[39; 42)
22 PATH@[39; 42)
23 PATH_SEGMENT@[39; 42)
24 NAME_REF@[39; 42)
25 IDENT@[39; 42) "SER"
26 COLON@[42; 43) ":"
27 WHITESPACE@[43; 44) " "
28 TYPE_BOUND_LIST@[44; 111)
29 TYPE_BOUND@[44; 53)
30 PATH_TYPE@[44; 53)
31 PATH@[44; 53)
32 PATH_SEGMENT@[44; 53)
33 NAME_REF@[44; 53)
34 IDENT@[44; 53) "Serialize"
35 WHITESPACE@[53; 54) " "
36 PLUS@[54; 55) "+"
37 WHITESPACE@[55; 56) " "
38 TYPE_BOUND@[56; 81)
39 FOR_TYPE@[56; 81)
40 FOR_KW@[56; 59) "for"
41 TYPE_PARAM_LIST@[59; 64)
42 L_ANGLE@[59; 60) "<"
43 LIFETIME_PARAM@[60; 63)
44 LIFETIME@[60; 63) "\'de"
45 R_ANGLE@[63; 64) ">"
46 WHITESPACE@[64; 65) " "
47 PATH_TYPE@[65; 81)
48 PATH@[65; 81)
49 PATH_SEGMENT@[65; 81)
50 NAME_REF@[65; 76)
51 IDENT@[65; 76) "Deserialize"
52 TYPE_ARG_LIST@[76; 81)
53 L_ANGLE@[76; 77) "<"
54 LIFETIME_ARG@[77; 80)
55 LIFETIME@[77; 80) "\'de"
56 R_ANGLE@[80; 81) ">"
57 WHITESPACE@[81; 82) " "
58 PLUS@[82; 83) "+"
59 WHITESPACE@[83; 84) " "
60 TYPE_BOUND@[84; 93)
61 PATH_TYPE@[84; 93)
62 PATH@[84; 93)
63 PATH_SEGMENT@[84; 93)
64 NAME_REF@[84; 93)
65 IDENT@[84; 93) "PartialEq"
66 WHITESPACE@[93; 94) " "
67 PLUS@[94; 95) "+"
68 WHITESPACE@[95; 96) " "
69 TYPE_BOUND@[96; 111)
70 PATH_TYPE@[96; 111)
71 PATH@[96; 111)
72 PATH@[96; 104)
73 PATH@[96; 99)
74 PATH_SEGMENT@[96; 99)
75 NAME_REF@[96; 99)
76 IDENT@[96; 99) "std"
77 COLONCOLON@[99; 101) "::"
78 PATH_SEGMENT@[101; 104)
79 NAME_REF@[101; 104)
80 IDENT@[101; 104) "fmt"
81 COLONCOLON@[104; 106) "::"
82 PATH_SEGMENT@[106; 111)
83 NAME_REF@[106; 111)
84 IDENT@[106; 111) "Debug"
85 COMMA@[111; 112) ","
86 WHITESPACE@[112; 113) "\n"
87 BLOCK@[113; 115)
88 L_CURLY@[113; 114) "{"
89 R_CURLY@[114; 115) "}"
90 WHITESPACE@[115; 116) "\n"
diff --git a/crates/ra_syntax/tests/data/parser/ok/0033_label_break.rs b/crates/ra_syntax/tests/data/parser/ok/0033_label_break.rs
deleted file mode 100644
index 728d78137..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0033_label_break.rs
+++ /dev/null
@@ -1,28 +0,0 @@
1// format with label break value.
2fn main() {
3 'empty_block: {}
4
5 'block: {
6 do_thing();
7 if condition_not_met() {
8 break 'block;
9 }
10 do_next_thing();
11 if condition_not_met() {
12 break 'block;
13 }
14 do_last_thing();
15 }
16
17 let result = 'block: {
18 if foo() {
19 // comment
20 break 'block 1;
21 }
22 if bar() {
23 /* comment */
24 break 'block 2;
25 }
26 3
27 };
28}
diff --git a/crates/ra_syntax/tests/data/parser/ok/0033_label_break.txt b/crates/ra_syntax/tests/data/parser/ok/0033_label_break.txt
deleted file mode 100644
index 845a8d7af..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0033_label_break.txt
+++ /dev/null
@@ -1,215 +0,0 @@
1SOURCE_FILE@[0; 506)
2 FN_DEF@[0; 505)
3 COMMENT@[0; 33) "// format with label ..."
4 WHITESPACE@[33; 34) "\n"
5 FN_KW@[34; 36) "fn"
6 WHITESPACE@[36; 37) " "
7 NAME@[37; 41)
8 IDENT@[37; 41) "main"
9 PARAM_LIST@[41; 43)
10 L_PAREN@[41; 42) "("
11 R_PAREN@[42; 43) ")"
12 WHITESPACE@[43; 44) " "
13 BLOCK@[44; 505)
14 L_CURLY@[44; 45) "{"
15 WHITESPACE@[45; 50) "\n "
16 EXPR_STMT@[50; 66)
17 BLOCK_EXPR@[50; 66)
18 LABEL@[50; 63)
19 LIFETIME@[50; 62) "\'empty_block"
20 COLON@[62; 63) ":"
21 WHITESPACE@[63; 64) " "
22 BLOCK@[64; 66)
23 L_CURLY@[64; 65) "{"
24 R_CURLY@[65; 66) "}"
25 WHITESPACE@[66; 72) "\n\n "
26 EXPR_STMT@[72; 295)
27 BLOCK_EXPR@[72; 295)
28 LABEL@[72; 79)
29 LIFETIME@[72; 78) "\'block"
30 COLON@[78; 79) ":"
31 WHITESPACE@[79; 80) " "
32 BLOCK@[80; 295)
33 L_CURLY@[80; 81) "{"
34 WHITESPACE@[81; 90) "\n "
35 EXPR_STMT@[90; 101)
36 CALL_EXPR@[90; 100)
37 PATH_EXPR@[90; 98)
38 PATH@[90; 98)
39 PATH_SEGMENT@[90; 98)
40 NAME_REF@[90; 98)
41 IDENT@[90; 98) "do_thing"
42 ARG_LIST@[98; 100)
43 L_PAREN@[98; 99) "("
44 R_PAREN@[99; 100) ")"
45 SEMI@[100; 101) ";"
46 WHITESPACE@[101; 110) "\n "
47 EXPR_STMT@[110; 170)
48 IF_EXPR@[110; 170)
49 IF_KW@[110; 112) "if"
50 WHITESPACE@[112; 113) " "
51 CONDITION@[113; 132)
52 CALL_EXPR@[113; 132)
53 PATH_EXPR@[113; 130)
54 PATH@[113; 130)
55 PATH_SEGMENT@[113; 130)
56 NAME_REF@[113; 130)
57 IDENT@[113; 130) "condition_not_met"
58 ARG_LIST@[130; 132)
59 L_PAREN@[130; 131) "("
60 R_PAREN@[131; 132) ")"
61 WHITESPACE@[132; 133) " "
62 BLOCK@[133; 170)
63 L_CURLY@[133; 134) "{"
64 WHITESPACE@[134; 147) "\n "
65 EXPR_STMT@[147; 160)
66 BREAK_EXPR@[147; 159)
67 BREAK_KW@[147; 152) "break"
68 WHITESPACE@[152; 153) " "
69 LIFETIME@[153; 159) "\'block"
70 SEMI@[159; 160) ";"
71 WHITESPACE@[160; 169) "\n "
72 R_CURLY@[169; 170) "}"
73 WHITESPACE@[170; 179) "\n "
74 EXPR_STMT@[179; 195)
75 CALL_EXPR@[179; 194)
76 PATH_EXPR@[179; 192)
77 PATH@[179; 192)
78 PATH_SEGMENT@[179; 192)
79 NAME_REF@[179; 192)
80 IDENT@[179; 192) "do_next_thing"
81 ARG_LIST@[192; 194)
82 L_PAREN@[192; 193) "("
83 R_PAREN@[193; 194) ")"
84 SEMI@[194; 195) ";"
85 WHITESPACE@[195; 204) "\n "
86 EXPR_STMT@[204; 264)
87 IF_EXPR@[204; 264)
88 IF_KW@[204; 206) "if"
89 WHITESPACE@[206; 207) " "
90 CONDITION@[207; 226)
91 CALL_EXPR@[207; 226)
92 PATH_EXPR@[207; 224)
93 PATH@[207; 224)
94 PATH_SEGMENT@[207; 224)
95 NAME_REF@[207; 224)
96 IDENT@[207; 224) "condition_not_met"
97 ARG_LIST@[224; 226)
98 L_PAREN@[224; 225) "("
99 R_PAREN@[225; 226) ")"
100 WHITESPACE@[226; 227) " "
101 BLOCK@[227; 264)
102 L_CURLY@[227; 228) "{"
103 WHITESPACE@[228; 241) "\n "
104 EXPR_STMT@[241; 254)
105 BREAK_EXPR@[241; 253)
106 BREAK_KW@[241; 246) "break"
107 WHITESPACE@[246; 247) " "
108 LIFETIME@[247; 253) "\'block"
109 SEMI@[253; 254) ";"
110 WHITESPACE@[254; 263) "\n "
111 R_CURLY@[263; 264) "}"
112 WHITESPACE@[264; 273) "\n "
113 EXPR_STMT@[273; 289)
114 CALL_EXPR@[273; 288)
115 PATH_EXPR@[273; 286)
116 PATH@[273; 286)
117 PATH_SEGMENT@[273; 286)
118 NAME_REF@[273; 286)
119 IDENT@[273; 286) "do_last_thing"
120 ARG_LIST@[286; 288)
121 L_PAREN@[286; 287) "("
122 R_PAREN@[287; 288) ")"
123 SEMI@[288; 289) ";"
124 WHITESPACE@[289; 294) "\n "
125 R_CURLY@[294; 295) "}"
126 WHITESPACE@[295; 301) "\n\n "
127 LET_STMT@[301; 503)
128 LET_KW@[301; 304) "let"
129 WHITESPACE@[304; 305) " "
130 BIND_PAT@[305; 311)
131 NAME@[305; 311)
132 IDENT@[305; 311) "result"
133 WHITESPACE@[311; 312) " "
134 EQ@[312; 313) "="
135 WHITESPACE@[313; 314) " "
136 BLOCK_EXPR@[314; 502)
137 LABEL@[314; 321)
138 LIFETIME@[314; 320) "\'block"
139 COLON@[320; 321) ":"
140 WHITESPACE@[321; 322) " "
141 BLOCK@[322; 502)
142 L_CURLY@[322; 323) "{"
143 WHITESPACE@[323; 332) "\n "
144 EXPR_STMT@[332; 403)
145 IF_EXPR@[332; 403)
146 IF_KW@[332; 334) "if"
147 WHITESPACE@[334; 335) " "
148 CONDITION@[335; 340)
149 CALL_EXPR@[335; 340)
150 PATH_EXPR@[335; 338)
151 PATH@[335; 338)
152 PATH_SEGMENT@[335; 338)
153 NAME_REF@[335; 338)
154 IDENT@[335; 338) "foo"
155 ARG_LIST@[338; 340)
156 L_PAREN@[338; 339) "("
157 R_PAREN@[339; 340) ")"
158 WHITESPACE@[340; 341) " "
159 BLOCK@[341; 403)
160 L_CURLY@[341; 342) "{"
161 WHITESPACE@[342; 355) "\n "
162 COMMENT@[355; 365) "// comment"
163 WHITESPACE@[365; 378) "\n "
164 EXPR_STMT@[378; 393)
165 BREAK_EXPR@[378; 392)
166 BREAK_KW@[378; 383) "break"
167 WHITESPACE@[383; 384) " "
168 LIFETIME@[384; 390) "\'block"
169 WHITESPACE@[390; 391) " "
170 LITERAL@[391; 392)
171 INT_NUMBER@[391; 392) "1"
172 SEMI@[392; 393) ";"
173 WHITESPACE@[393; 402) "\n "
174 R_CURLY@[402; 403) "}"
175 WHITESPACE@[403; 412) "\n "
176 EXPR_STMT@[412; 486)
177 IF_EXPR@[412; 486)
178 IF_KW@[412; 414) "if"
179 WHITESPACE@[414; 415) " "
180 CONDITION@[415; 420)
181 CALL_EXPR@[415; 420)
182 PATH_EXPR@[415; 418)
183 PATH@[415; 418)
184 PATH_SEGMENT@[415; 418)
185 NAME_REF@[415; 418)
186 IDENT@[415; 418) "bar"
187 ARG_LIST@[418; 420)
188 L_PAREN@[418; 419) "("
189 R_PAREN@[419; 420) ")"
190 WHITESPACE@[420; 421) " "
191 BLOCK@[421; 486)
192 L_CURLY@[421; 422) "{"
193 WHITESPACE@[422; 435) "\n "
194 COMMENT@[435; 448) "/* comment */"
195 WHITESPACE@[448; 461) "\n "
196 EXPR_STMT@[461; 476)
197 BREAK_EXPR@[461; 475)
198 BREAK_KW@[461; 466) "break"
199 WHITESPACE@[466; 467) " "
200 LIFETIME@[467; 473) "\'block"
201 WHITESPACE@[473; 474) " "
202 LITERAL@[474; 475)
203 INT_NUMBER@[474; 475) "2"
204 SEMI@[475; 476) ";"
205 WHITESPACE@[476; 485) "\n "
206 R_CURLY@[485; 486) "}"
207 WHITESPACE@[486; 495) "\n "
208 LITERAL@[495; 496)
209 INT_NUMBER@[495; 496) "3"
210 WHITESPACE@[496; 501) "\n "
211 R_CURLY@[501; 502) "}"
212 SEMI@[502; 503) ";"
213 WHITESPACE@[503; 504) "\n"
214 R_CURLY@[504; 505) "}"
215 WHITESPACE@[505; 506) "\n"
diff --git a/crates/ra_syntax/tests/data/parser/ok/0034_crate_path_in_call.rs b/crates/ra_syntax/tests/data/parser/ok/0034_crate_path_in_call.rs
deleted file mode 100644
index f1ed30220..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0034_crate_path_in_call.rs
+++ /dev/null
@@ -1,3 +0,0 @@
1fn main() {
2 make_query(crate::module_map::module_tree);
3}
diff --git a/crates/ra_syntax/tests/data/parser/ok/0034_crate_path_in_call.txt b/crates/ra_syntax/tests/data/parser/ok/0034_crate_path_in_call.txt
deleted file mode 100644
index a77d4aabe..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0034_crate_path_in_call.txt
+++ /dev/null
@@ -1,41 +0,0 @@
1SOURCE_FILE@[0; 62)
2 FN_DEF@[0; 61)
3 FN_KW@[0; 2) "fn"
4 WHITESPACE@[2; 3) " "
5 NAME@[3; 7)
6 IDENT@[3; 7) "main"
7 PARAM_LIST@[7; 9)
8 L_PAREN@[7; 8) "("
9 R_PAREN@[8; 9) ")"
10 WHITESPACE@[9; 10) " "
11 BLOCK@[10; 61)
12 L_CURLY@[10; 11) "{"
13 WHITESPACE@[11; 16) "\n "
14 EXPR_STMT@[16; 59)
15 CALL_EXPR@[16; 58)
16 PATH_EXPR@[16; 26)
17 PATH@[16; 26)
18 PATH_SEGMENT@[16; 26)
19 NAME_REF@[16; 26)
20 IDENT@[16; 26) "make_query"
21 ARG_LIST@[26; 58)
22 L_PAREN@[26; 27) "("
23 PATH_EXPR@[27; 57)
24 PATH@[27; 57)
25 PATH@[27; 44)
26 PATH@[27; 32)
27 PATH_SEGMENT@[27; 32)
28 CRATE_KW@[27; 32) "crate"
29 COLONCOLON@[32; 34) "::"
30 PATH_SEGMENT@[34; 44)
31 NAME_REF@[34; 44)
32 IDENT@[34; 44) "module_map"
33 COLONCOLON@[44; 46) "::"
34 PATH_SEGMENT@[46; 57)
35 NAME_REF@[46; 57)
36 IDENT@[46; 57) "module_tree"
37 R_PAREN@[57; 58) ")"
38 SEMI@[58; 59) ";"
39 WHITESPACE@[59; 60) "\n"
40 R_CURLY@[60; 61) "}"
41 WHITESPACE@[61; 62) "\n"
diff --git a/crates/ra_syntax/tests/data/parser/ok/0035_weird_exprs.rs b/crates/ra_syntax/tests/data/parser/ok/0035_weird_exprs.rs
deleted file mode 100644
index 8c1323163..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0035_weird_exprs.rs
+++ /dev/null
@@ -1,154 +0,0 @@
1//! Adapted from a `rustc` test, which can be found at
2//! https://github.com/rust-lang/rust/blob/6d34ec18c7d7e574553f6347ecf08e1e1c45c13d/src/test/run-pass/weird-exprs.rs.
3//!
4//! Reported to rust-analyzer in https://github.com/rust-analyzer/rust-analyzer/issues/290
5
6#![allow(non_camel_case_types)]
7#![allow(dead_code)]
8#![allow(unreachable_code)]
9#![allow(unused_parens)]
10
11#![recursion_limit = "128"]
12
13use std::cell::Cell;
14use std::mem::swap;
15
16// Just a grab bag of stuff that you wouldn't want to actually write.
17
18fn strange() -> bool { let _x: bool = return true; }
19
20fn funny() {
21 fn f(_x: ()) { }
22 f(return);
23}
24
25fn what() {
26 fn the(x: &Cell<bool>) {
27 return while !x.get() { x.set(true); };
28 }
29 let i = &Cell::new(false);
30 let dont = {||the(i)};
31 dont();
32 assert!((i.get()));
33}
34
35fn zombiejesus() {
36 loop {
37 while (return) {
38 if (return) {
39 match (return) {
40 1 => {
41 if (return) {
42 return
43 } else {
44 return
45 }
46 }
47 _ => { return }
48 };
49 } else if (return) {
50 return;
51 }
52 }
53 if (return) { break; }
54 }
55}
56
57fn notsure() {
58 let mut _x: isize;
59 let mut _y = (_x = 0) == (_x = 0);
60 let mut _z = (_x = 0) < (_x = 0);
61 let _a = (_x += 0) == (_x = 0);
62 let _b = swap(&mut _y, &mut _z) == swap(&mut _y, &mut _z);
63}
64
65fn canttouchthis() -> usize {
66 fn p() -> bool { true }
67 let _a = (assert!((true)) == (assert!(p())));
68 let _c = (assert!((p())) == ());
69 let _b: bool = (println!("{}", 0) == (return 0));
70}
71
72fn angrydome() {
73 loop { if break { } }
74 let mut i = 0;
75 loop { i += 1; if i == 1 { match (continue) { 1 => { }, _ => panic!("wat") } }
76 break; }
77}
78
79fn evil_lincoln() { let _evil = println!("lincoln"); }
80
81fn dots() {
82 assert_eq!(String::from(".................................................."),
83 format!("{:?}", .. .. .. .. .. .. .. .. .. .. .. .. ..
84 .. .. .. .. .. .. .. .. .. .. .. ..));
85}
86
87fn u8(u8: u8) {
88 if u8 != 0u8 {
89 assert_eq!(8u8, {
90 macro_rules! u8 {
91 (u8) => {
92 mod u8 {
93 pub fn u8<'u8: 'u8 + 'u8>(u8: &'u8 u8) -> &'u8 u8 {
94 "u8";
95 u8
96 }
97 }
98 };
99 }
100
101 u8!(u8);
102 let &u8: &u8 = u8::u8(&8u8);
103 crate::u8(0u8);
104 u8
105 });
106 }
107}
108
109fn fishy() {
110 assert_eq!(String::from("><>"),
111 String::<>::from::<>("><>").chars::<>().rev::<>().collect::<String>());
112}
113
114fn union() {
115 union union<'union> { union: &'union union<'union>, }
116}
117
118fn special_characters() {
119 let val = !((|(..):(_,_),__@_|__)((&*"\\",'🤔')/**/,{})=={&[..=..][..];})//
120 ;
121 assert!(!val);
122}
123
124fn punch_card() -> impl std::fmt::Debug {
125 ..=..=.. .. .. .. .. .. .. .. .. .. .. ..=.. ..
126 ..=.. ..=.. .. .. .. .. .. .. .. .. ..=..=..=..
127 ..=.. ..=.. ..=.. ..=.. .. ..=..=.. .. ..=.. ..
128 ..=..=.. .. ..=.. ..=.. ..=.. .. .. .. ..=.. ..
129 ..=.. ..=.. ..=.. ..=.. .. ..=.. .. .. ..=.. ..
130 ..=.. ..=.. ..=.. ..=.. .. .. ..=.. .. ..=.. ..
131 ..=.. ..=.. .. ..=..=.. ..=..=.. .. .. ..=.. ..
132}
133
134fn ktulhu() {
135 ;;;();;;;;;;;;()
136}
137
138pub fn main() {
139 strange();
140 funny();
141 what();
142 zombiejesus();
143 notsure();
144 canttouchthis();
145 angrydome();
146 evil_lincoln();
147 dots();
148 u8(8u8);
149 fishy();
150 union();
151 special_characters();
152 punch_card();
153 ktulhu();
154}
diff --git a/crates/ra_syntax/tests/data/parser/ok/0035_weird_exprs.txt b/crates/ra_syntax/tests/data/parser/ok/0035_weird_exprs.txt
deleted file mode 100644
index c89b591e9..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0035_weird_exprs.txt
+++ /dev/null
@@ -1,2285 +0,0 @@
1SOURCE_FILE@[0; 3813)
2 COMMENT@[0; 55) "//! Adapted from a `r ..."
3 WHITESPACE@[55; 56) "\n"
4 COMMENT@[56; 173) "//! https://github.co ..."
5 WHITESPACE@[173; 174) "\n"
6 COMMENT@[174; 178) "//! "
7 WHITESPACE@[178; 179) "\n"
8 COMMENT@[179; 269) "//! Reported to rust- ..."
9 WHITESPACE@[269; 271) "\n\n"
10 ATTR@[271; 302)
11 POUND@[271; 272) "#"
12 EXCL@[272; 273) "!"
13 TOKEN_TREE@[273; 302)
14 L_BRACK@[273; 274) "["
15 IDENT@[274; 279) "allow"
16 TOKEN_TREE@[279; 301)
17 L_PAREN@[279; 280) "("
18 IDENT@[280; 300) "non_camel_case_types"
19 R_PAREN@[300; 301) ")"
20 R_BRACK@[301; 302) "]"
21 WHITESPACE@[302; 303) "\n"
22 ATTR@[303; 323)
23 POUND@[303; 304) "#"
24 EXCL@[304; 305) "!"
25 TOKEN_TREE@[305; 323)
26 L_BRACK@[305; 306) "["
27 IDENT@[306; 311) "allow"
28 TOKEN_TREE@[311; 322)
29 L_PAREN@[311; 312) "("
30 IDENT@[312; 321) "dead_code"
31 R_PAREN@[321; 322) ")"
32 R_BRACK@[322; 323) "]"
33 WHITESPACE@[323; 324) "\n"
34 ATTR@[324; 351)
35 POUND@[324; 325) "#"
36 EXCL@[325; 326) "!"
37 TOKEN_TREE@[326; 351)
38 L_BRACK@[326; 327) "["
39 IDENT@[327; 332) "allow"
40 TOKEN_TREE@[332; 350)
41 L_PAREN@[332; 333) "("
42 IDENT@[333; 349) "unreachable_code"
43 R_PAREN@[349; 350) ")"
44 R_BRACK@[350; 351) "]"
45 WHITESPACE@[351; 352) "\n"
46 ATTR@[352; 376)
47 POUND@[352; 353) "#"
48 EXCL@[353; 354) "!"
49 TOKEN_TREE@[354; 376)
50 L_BRACK@[354; 355) "["
51 IDENT@[355; 360) "allow"
52 TOKEN_TREE@[360; 375)
53 L_PAREN@[360; 361) "("
54 IDENT@[361; 374) "unused_parens"
55 R_PAREN@[374; 375) ")"
56 R_BRACK@[375; 376) "]"
57 WHITESPACE@[376; 378) "\n\n"
58 ATTR@[378; 405)
59 POUND@[378; 379) "#"
60 EXCL@[379; 380) "!"
61 TOKEN_TREE@[380; 405)
62 L_BRACK@[380; 381) "["
63 IDENT@[381; 396) "recursion_limit"
64 WHITESPACE@[396; 397) " "
65 EQ@[397; 398) "="
66 WHITESPACE@[398; 399) " "
67 STRING@[399; 404) "\"128\""
68 R_BRACK@[404; 405) "]"
69 WHITESPACE@[405; 407) "\n\n"
70 USE_ITEM@[407; 427)
71 USE_KW@[407; 410) "use"
72 WHITESPACE@[410; 411) " "
73 USE_TREE@[411; 426)
74 PATH@[411; 426)
75 PATH@[411; 420)
76 PATH@[411; 414)
77 PATH_SEGMENT@[411; 414)
78 NAME_REF@[411; 414)
79 IDENT@[411; 414) "std"
80 COLONCOLON@[414; 416) "::"
81 PATH_SEGMENT@[416; 420)
82 NAME_REF@[416; 420)
83 IDENT@[416; 420) "cell"
84 COLONCOLON@[420; 422) "::"
85 PATH_SEGMENT@[422; 426)
86 NAME_REF@[422; 426)
87 IDENT@[422; 426) "Cell"
88 SEMI@[426; 427) ";"
89 WHITESPACE@[427; 428) "\n"
90 USE_ITEM@[428; 447)
91 USE_KW@[428; 431) "use"
92 WHITESPACE@[431; 432) " "
93 USE_TREE@[432; 446)
94 PATH@[432; 446)
95 PATH@[432; 440)
96 PATH@[432; 435)
97 PATH_SEGMENT@[432; 435)
98 NAME_REF@[432; 435)
99 IDENT@[432; 435) "std"
100 COLONCOLON@[435; 437) "::"
101 PATH_SEGMENT@[437; 440)
102 NAME_REF@[437; 440)
103 IDENT@[437; 440) "mem"
104 COLONCOLON@[440; 442) "::"
105 PATH_SEGMENT@[442; 446)
106 NAME_REF@[442; 446)
107 IDENT@[442; 446) "swap"
108 SEMI@[446; 447) ";"
109 WHITESPACE@[447; 449) "\n\n"
110 COMMENT@[449; 518) "// Just a grab bag of ..."
111 WHITESPACE@[518; 520) "\n\n"
112 FN_DEF@[520; 572)
113 FN_KW@[520; 522) "fn"
114 WHITESPACE@[522; 523) " "
115 NAME@[523; 530)
116 IDENT@[523; 530) "strange"
117 PARAM_LIST@[530; 532)
118 L_PAREN@[530; 531) "("
119 R_PAREN@[531; 532) ")"
120 WHITESPACE@[532; 533) " "
121 RET_TYPE@[533; 540)
122 THIN_ARROW@[533; 535) "->"
123 WHITESPACE@[535; 536) " "
124 PATH_TYPE@[536; 540)
125 PATH@[536; 540)
126 PATH_SEGMENT@[536; 540)
127 NAME_REF@[536; 540)
128 IDENT@[536; 540) "bool"
129 WHITESPACE@[540; 541) " "
130 BLOCK@[541; 572)
131 L_CURLY@[541; 542) "{"
132 WHITESPACE@[542; 543) " "
133 LET_STMT@[543; 570)
134 LET_KW@[543; 546) "let"
135 WHITESPACE@[546; 547) " "
136 BIND_PAT@[547; 549)
137 NAME@[547; 549)
138 IDENT@[547; 549) "_x"
139 COLON@[549; 550) ":"
140 WHITESPACE@[550; 551) " "
141 PATH_TYPE@[551; 555)
142 PATH@[551; 555)
143 PATH_SEGMENT@[551; 555)
144 NAME_REF@[551; 555)
145 IDENT@[551; 555) "bool"
146 WHITESPACE@[555; 556) " "
147 EQ@[556; 557) "="
148 WHITESPACE@[557; 558) " "
149 RETURN_EXPR@[558; 569)
150 RETURN_KW@[558; 564) "return"
151 WHITESPACE@[564; 565) " "
152 LITERAL@[565; 569)
153 TRUE_KW@[565; 569) "true"
154 SEMI@[569; 570) ";"
155 WHITESPACE@[570; 571) " "
156 R_CURLY@[571; 572) "}"
157 WHITESPACE@[572; 574) "\n\n"
158 FN_DEF@[574; 624)
159 FN_KW@[574; 576) "fn"
160 WHITESPACE@[576; 577) " "
161 NAME@[577; 582)
162 IDENT@[577; 582) "funny"
163 PARAM_LIST@[582; 584)
164 L_PAREN@[582; 583) "("
165 R_PAREN@[583; 584) ")"
166 WHITESPACE@[584; 585) " "
167 BLOCK@[585; 624)
168 L_CURLY@[585; 586) "{"
169 WHITESPACE@[586; 591) "\n "
170 FN_DEF@[591; 607)
171 FN_KW@[591; 593) "fn"
172 WHITESPACE@[593; 594) " "
173 NAME@[594; 595)
174 IDENT@[594; 595) "f"
175 PARAM_LIST@[595; 603)
176 L_PAREN@[595; 596) "("
177 PARAM@[596; 602)
178 BIND_PAT@[596; 598)
179 NAME@[596; 598)
180 IDENT@[596; 598) "_x"
181 COLON@[598; 599) ":"
182 WHITESPACE@[599; 600) " "
183 TUPLE_TYPE@[600; 602)
184 L_PAREN@[600; 601) "("
185 R_PAREN@[601; 602) ")"
186 R_PAREN@[602; 603) ")"
187 WHITESPACE@[603; 604) " "
188 BLOCK@[604; 607)
189 L_CURLY@[604; 605) "{"
190 WHITESPACE@[605; 606) " "
191 R_CURLY@[606; 607) "}"
192 WHITESPACE@[607; 612) "\n "
193 EXPR_STMT@[612; 622)
194 CALL_EXPR@[612; 621)
195 PATH_EXPR@[612; 613)
196 PATH@[612; 613)
197 PATH_SEGMENT@[612; 613)
198 NAME_REF@[612; 613)
199 IDENT@[612; 613) "f"
200 ARG_LIST@[613; 621)
201 L_PAREN@[613; 614) "("
202 RETURN_EXPR@[614; 620)
203 RETURN_KW@[614; 620) "return"
204 R_PAREN@[620; 621) ")"
205 SEMI@[621; 622) ";"
206 WHITESPACE@[622; 623) "\n"
207 R_CURLY@[623; 624) "}"
208 WHITESPACE@[624; 626) "\n\n"
209 FN_DEF@[626; 816)
210 FN_KW@[626; 628) "fn"
211 WHITESPACE@[628; 629) " "
212 NAME@[629; 633)
213 IDENT@[629; 633) "what"
214 PARAM_LIST@[633; 635)
215 L_PAREN@[633; 634) "("
216 R_PAREN@[634; 635) ")"
217 WHITESPACE@[635; 636) " "
218 BLOCK@[636; 816)
219 L_CURLY@[636; 637) "{"
220 WHITESPACE@[637; 642) "\n "
221 FN_DEF@[642; 720)
222 FN_KW@[642; 644) "fn"
223 WHITESPACE@[644; 645) " "
224 NAME@[645; 648)
225 IDENT@[645; 648) "the"
226 PARAM_LIST@[648; 664)
227 L_PAREN@[648; 649) "("
228 PARAM@[649; 663)
229 BIND_PAT@[649; 650)
230 NAME@[649; 650)
231 IDENT@[649; 650) "x"
232 COLON@[650; 651) ":"
233 WHITESPACE@[651; 652) " "
234 REFERENCE_TYPE@[652; 663)
235 AMP@[652; 653) "&"
236 PATH_TYPE@[653; 663)
237 PATH@[653; 663)
238 PATH_SEGMENT@[653; 663)
239 NAME_REF@[653; 657)
240 IDENT@[653; 657) "Cell"
241 TYPE_ARG_LIST@[657; 663)
242 L_ANGLE@[657; 658) "<"
243 TYPE_ARG@[658; 662)
244 PATH_TYPE@[658; 662)
245 PATH@[658; 662)
246 PATH_SEGMENT@[658; 662)
247 NAME_REF@[658; 662)
248 IDENT@[658; 662) "bool"
249 R_ANGLE@[662; 663) ">"
250 R_PAREN@[663; 664) ")"
251 WHITESPACE@[664; 665) " "
252 BLOCK@[665; 720)
253 L_CURLY@[665; 666) "{"
254 WHITESPACE@[666; 675) "\n "
255 EXPR_STMT@[675; 714)
256 RETURN_EXPR@[675; 713)
257 RETURN_KW@[675; 681) "return"
258 WHITESPACE@[681; 682) " "
259 WHILE_EXPR@[682; 713)
260 WHILE_KW@[682; 687) "while"
261 WHITESPACE@[687; 688) " "
262 CONDITION@[688; 696)
263 PREFIX_EXPR@[688; 696)
264 EXCL@[688; 689) "!"
265 METHOD_CALL_EXPR@[689; 696)
266 PATH_EXPR@[689; 690)
267 PATH@[689; 690)
268 PATH_SEGMENT@[689; 690)
269 NAME_REF@[689; 690)
270 IDENT@[689; 690) "x"
271 DOT@[690; 691) "."
272 NAME_REF@[691; 694)
273 IDENT@[691; 694) "get"
274 ARG_LIST@[694; 696)
275 L_PAREN@[694; 695) "("
276 R_PAREN@[695; 696) ")"
277 WHITESPACE@[696; 697) " "
278 BLOCK@[697; 713)
279 L_CURLY@[697; 698) "{"
280 WHITESPACE@[698; 699) " "
281 EXPR_STMT@[699; 711)
282 METHOD_CALL_EXPR@[699; 710)
283 PATH_EXPR@[699; 700)
284 PATH@[699; 700)
285 PATH_SEGMENT@[699; 700)
286 NAME_REF@[699; 700)
287 IDENT@[699; 700) "x"
288 DOT@[700; 701) "."
289 NAME_REF@[701; 704)
290 IDENT@[701; 704) "set"
291 ARG_LIST@[704; 710)
292 L_PAREN@[704; 705) "("
293 LITERAL@[705; 709)
294 TRUE_KW@[705; 709) "true"
295 R_PAREN@[709; 710) ")"
296 SEMI@[710; 711) ";"
297 WHITESPACE@[711; 712) " "
298 R_CURLY@[712; 713) "}"
299 SEMI@[713; 714) ";"
300 WHITESPACE@[714; 719) "\n "
301 R_CURLY@[719; 720) "}"
302 WHITESPACE@[720; 725) "\n "
303 LET_STMT@[725; 751)
304 LET_KW@[725; 728) "let"
305 WHITESPACE@[728; 729) " "
306 BIND_PAT@[729; 730)
307 NAME@[729; 730)
308 IDENT@[729; 730) "i"
309 WHITESPACE@[730; 731) " "
310 EQ@[731; 732) "="
311 WHITESPACE@[732; 733) " "
312 REF_EXPR@[733; 750)
313 AMP@[733; 734) "&"
314 CALL_EXPR@[734; 750)
315 PATH_EXPR@[734; 743)
316 PATH@[734; 743)
317 PATH@[734; 738)
318 PATH_SEGMENT@[734; 738)
319 NAME_REF@[734; 738)
320 IDENT@[734; 738) "Cell"
321 COLONCOLON@[738; 740) "::"
322 PATH_SEGMENT@[740; 743)
323 NAME_REF@[740; 743)
324 IDENT@[740; 743) "new"
325 ARG_LIST@[743; 750)
326 L_PAREN@[743; 744) "("
327 LITERAL@[744; 749)
328 FALSE_KW@[744; 749) "false"
329 R_PAREN@[749; 750) ")"
330 SEMI@[750; 751) ";"
331 WHITESPACE@[751; 756) "\n "
332 LET_STMT@[756; 778)
333 LET_KW@[756; 759) "let"
334 WHITESPACE@[759; 760) " "
335 BIND_PAT@[760; 764)
336 NAME@[760; 764)
337 IDENT@[760; 764) "dont"
338 WHITESPACE@[764; 765) " "
339 EQ@[765; 766) "="
340 WHITESPACE@[766; 767) " "
341 BLOCK_EXPR@[767; 777)
342 BLOCK@[767; 777)
343 L_CURLY@[767; 768) "{"
344 LAMBDA_EXPR@[768; 776)
345 PARAM_LIST@[768; 770)
346 PIPE@[768; 769) "|"
347 PIPE@[769; 770) "|"
348 CALL_EXPR@[770; 776)
349 PATH_EXPR@[770; 773)
350 PATH@[770; 773)
351 PATH_SEGMENT@[770; 773)
352 NAME_REF@[770; 773)
353 IDENT@[770; 773) "the"
354 ARG_LIST@[773; 776)
355 L_PAREN@[773; 774) "("
356 PATH_EXPR@[774; 775)
357 PATH@[774; 775)
358 PATH_SEGMENT@[774; 775)
359 NAME_REF@[774; 775)
360 IDENT@[774; 775) "i"
361 R_PAREN@[775; 776) ")"
362 R_CURLY@[776; 777) "}"
363 SEMI@[777; 778) ";"
364 WHITESPACE@[778; 783) "\n "
365 EXPR_STMT@[783; 790)
366 CALL_EXPR@[783; 789)
367 PATH_EXPR@[783; 787)
368 PATH@[783; 787)
369 PATH_SEGMENT@[783; 787)
370 NAME_REF@[783; 787)
371 IDENT@[783; 787) "dont"
372 ARG_LIST@[787; 789)
373 L_PAREN@[787; 788) "("
374 R_PAREN@[788; 789) ")"
375 SEMI@[789; 790) ";"
376 WHITESPACE@[790; 795) "\n "
377 EXPR_STMT@[795; 814)
378 MACRO_CALL@[795; 813)
379 PATH@[795; 801)
380 PATH_SEGMENT@[795; 801)
381 NAME_REF@[795; 801)
382 IDENT@[795; 801) "assert"
383 EXCL@[801; 802) "!"
384 TOKEN_TREE@[802; 813)
385 L_PAREN@[802; 803) "("
386 TOKEN_TREE@[803; 812)
387 L_PAREN@[803; 804) "("
388 IDENT@[804; 805) "i"
389 DOT@[805; 806) "."
390 IDENT@[806; 809) "get"
391 TOKEN_TREE@[809; 811)
392 L_PAREN@[809; 810) "("
393 R_PAREN@[810; 811) ")"
394 R_PAREN@[811; 812) ")"
395 R_PAREN@[812; 813) ")"
396 SEMI@[813; 814) ";"
397 WHITESPACE@[814; 815) "\n"
398 R_CURLY@[815; 816) "}"
399 WHITESPACE@[816; 818) "\n\n"
400 FN_DEF@[818; 1322)
401 FN_KW@[818; 820) "fn"
402 WHITESPACE@[820; 821) " "
403 NAME@[821; 832)
404 IDENT@[821; 832) "zombiejesus"
405 PARAM_LIST@[832; 834)
406 L_PAREN@[832; 833) "("
407 R_PAREN@[833; 834) ")"
408 WHITESPACE@[834; 835) " "
409 BLOCK@[835; 1322)
410 L_CURLY@[835; 836) "{"
411 WHITESPACE@[836; 841) "\n "
412 LOOP_EXPR@[841; 1320)
413 LOOP_KW@[841; 845) "loop"
414 WHITESPACE@[845; 846) " "
415 BLOCK@[846; 1320)
416 L_CURLY@[846; 847) "{"
417 WHITESPACE@[847; 856) "\n "
418 EXPR_STMT@[856; 1283)
419 WHILE_EXPR@[856; 1283)
420 WHILE_KW@[856; 861) "while"
421 WHITESPACE@[861; 862) " "
422 CONDITION@[862; 870)
423 PAREN_EXPR@[862; 870)
424 L_PAREN@[862; 863) "("
425 RETURN_EXPR@[863; 869)
426 RETURN_KW@[863; 869) "return"
427 R_PAREN@[869; 870) ")"
428 WHITESPACE@[870; 871) " "
429 BLOCK@[871; 1283)
430 L_CURLY@[871; 872) "{"
431 WHITESPACE@[872; 885) "\n "
432 IF_EXPR@[885; 1273)
433 IF_KW@[885; 887) "if"
434 WHITESPACE@[887; 888) " "
435 CONDITION@[888; 896)
436 PAREN_EXPR@[888; 896)
437 L_PAREN@[888; 889) "("
438 RETURN_EXPR@[889; 895)
439 RETURN_KW@[889; 895) "return"
440 R_PAREN@[895; 896) ")"
441 WHITESPACE@[896; 897) " "
442 BLOCK@[897; 1216)
443 L_CURLY@[897; 898) "{"
444 WHITESPACE@[898; 915) "\n "
445 EXPR_STMT@[915; 1202)
446 MATCH_EXPR@[915; 1201)
447 MATCH_KW@[915; 920) "match"
448 WHITESPACE@[920; 921) " "
449 PAREN_EXPR@[921; 929)
450 L_PAREN@[921; 922) "("
451 RETURN_EXPR@[922; 928)
452 RETURN_KW@[922; 928) "return"
453 R_PAREN@[928; 929) ")"
454 WHITESPACE@[929; 930) " "
455 MATCH_ARM_LIST@[930; 1201)
456 L_CURLY@[930; 931) "{"
457 WHITESPACE@[931; 952) "\n "
458 MATCH_ARM@[952; 1147)
459 LITERAL_PAT@[952; 953)
460 LITERAL@[952; 953)
461 INT_NUMBER@[952; 953) "1"
462 WHITESPACE@[953; 954) " "
463 FAT_ARROW@[954; 956) "=>"
464 WHITESPACE@[956; 957) " "
465 BLOCK_EXPR@[957; 1147)
466 BLOCK@[957; 1147)
467 L_CURLY@[957; 958) "{"
468 WHITESPACE@[958; 983) "\n ..."
469 IF_EXPR@[983; 1125)
470 IF_KW@[983; 985) "if"
471 WHITESPACE@[985; 986) " "
472 CONDITION@[986; 994)
473 PAREN_EXPR@[986; 994)
474 L_PAREN@[986; 987) "("
475 RETURN_EXPR@[987; 993)
476 RETURN_KW@[987; 993) "return"
477 R_PAREN@[993; 994) ")"
478 WHITESPACE@[994; 995) " "
479 BLOCK@[995; 1057)
480 L_CURLY@[995; 996) "{"
481 WHITESPACE@[996; 1025) "\n ..."
482 RETURN_EXPR@[1025; 1031)
483 RETURN_KW@[1025; 1031) "return"
484 WHITESPACE@[1031; 1056) "\n ..."
485 R_CURLY@[1056; 1057) "}"
486 WHITESPACE@[1057; 1058) " "
487 ELSE_KW@[1058; 1062) "else"
488 WHITESPACE@[1062; 1063) " "
489 BLOCK@[1063; 1125)
490 L_CURLY@[1063; 1064) "{"
491 WHITESPACE@[1064; 1093) "\n ..."
492 RETURN_EXPR@[1093; 1099)
493 RETURN_KW@[1093; 1099) "return"
494 WHITESPACE@[1099; 1124) "\n ..."
495 R_CURLY@[1124; 1125) "}"
496 WHITESPACE@[1125; 1146) "\n "
497 R_CURLY@[1146; 1147) "}"
498 WHITESPACE@[1147; 1168) "\n "
499 MATCH_ARM@[1168; 1183)
500 PLACEHOLDER_PAT@[1168; 1169)
501 UNDERSCORE@[1168; 1169) "_"
502 WHITESPACE@[1169; 1170) " "
503 FAT_ARROW@[1170; 1172) "=>"
504 WHITESPACE@[1172; 1173) " "
505 BLOCK_EXPR@[1173; 1183)
506 BLOCK@[1173; 1183)
507 L_CURLY@[1173; 1174) "{"
508 WHITESPACE@[1174; 1175) " "
509 RETURN_EXPR@[1175; 1181)
510 RETURN_KW@[1175; 1181) "return"
511 WHITESPACE@[1181; 1182) " "
512 R_CURLY@[1182; 1183) "}"
513 WHITESPACE@[1183; 1200) "\n "
514 R_CURLY@[1200; 1201) "}"
515 SEMI@[1201; 1202) ";"
516 WHITESPACE@[1202; 1215) "\n "
517 R_CURLY@[1215; 1216) "}"
518 WHITESPACE@[1216; 1217) " "
519 ELSE_KW@[1217; 1221) "else"
520 WHITESPACE@[1221; 1222) " "
521 IF_EXPR@[1222; 1273)
522 IF_KW@[1222; 1224) "if"
523 WHITESPACE@[1224; 1225) " "
524 CONDITION@[1225; 1233)
525 PAREN_EXPR@[1225; 1233)
526 L_PAREN@[1225; 1226) "("
527 RETURN_EXPR@[1226; 1232)
528 RETURN_KW@[1226; 1232) "return"
529 R_PAREN@[1232; 1233) ")"
530 WHITESPACE@[1233; 1234) " "
531 BLOCK@[1234; 1273)
532 L_CURLY@[1234; 1235) "{"
533 WHITESPACE@[1235; 1252) "\n "
534 EXPR_STMT@[1252; 1259)
535 RETURN_EXPR@[1252; 1258)
536 RETURN_KW@[1252; 1258) "return"
537 SEMI@[1258; 1259) ";"
538 WHITESPACE@[1259; 1272) "\n "
539 R_CURLY@[1272; 1273) "}"
540 WHITESPACE@[1273; 1282) "\n "
541 R_CURLY@[1282; 1283) "}"
542 WHITESPACE@[1283; 1292) "\n "
543 IF_EXPR@[1292; 1314)
544 IF_KW@[1292; 1294) "if"
545 WHITESPACE@[1294; 1295) " "
546 CONDITION@[1295; 1303)
547 PAREN_EXPR@[1295; 1303)
548 L_PAREN@[1295; 1296) "("
549 RETURN_EXPR@[1296; 1302)
550 RETURN_KW@[1296; 1302) "return"
551 R_PAREN@[1302; 1303) ")"
552 WHITESPACE@[1303; 1304) " "
553 BLOCK@[1304; 1314)
554 L_CURLY@[1304; 1305) "{"
555 WHITESPACE@[1305; 1306) " "
556 EXPR_STMT@[1306; 1312)
557 BREAK_EXPR@[1306; 1311)
558 BREAK_KW@[1306; 1311) "break"
559 SEMI@[1311; 1312) ";"
560 WHITESPACE@[1312; 1313) " "
561 R_CURLY@[1313; 1314) "}"
562 WHITESPACE@[1314; 1319) "\n "
563 R_CURLY@[1319; 1320) "}"
564 WHITESPACE@[1320; 1321) "\n"
565 R_CURLY@[1321; 1322) "}"
566 WHITESPACE@[1322; 1324) "\n\n"
567 FN_DEF@[1324; 1539)
568 FN_KW@[1324; 1326) "fn"
569 WHITESPACE@[1326; 1327) " "
570 NAME@[1327; 1334)
571 IDENT@[1327; 1334) "notsure"
572 PARAM_LIST@[1334; 1336)
573 L_PAREN@[1334; 1335) "("
574 R_PAREN@[1335; 1336) ")"
575 WHITESPACE@[1336; 1337) " "
576 BLOCK@[1337; 1539)
577 L_CURLY@[1337; 1338) "{"
578 WHITESPACE@[1338; 1343) "\n "
579 LET_STMT@[1343; 1361)
580 LET_KW@[1343; 1346) "let"
581 WHITESPACE@[1346; 1347) " "
582 BIND_PAT@[1347; 1353)
583 MUT_KW@[1347; 1350) "mut"
584 WHITESPACE@[1350; 1351) " "
585 NAME@[1351; 1353)
586 IDENT@[1351; 1353) "_x"
587 COLON@[1353; 1354) ":"
588 WHITESPACE@[1354; 1355) " "
589 PATH_TYPE@[1355; 1360)
590 PATH@[1355; 1360)
591 PATH_SEGMENT@[1355; 1360)
592 NAME_REF@[1355; 1360)
593 IDENT@[1355; 1360) "isize"
594 SEMI@[1360; 1361) ";"
595 WHITESPACE@[1361; 1366) "\n "
596 LET_STMT@[1366; 1400)
597 LET_KW@[1366; 1369) "let"
598 WHITESPACE@[1369; 1370) " "
599 BIND_PAT@[1370; 1376)
600 MUT_KW@[1370; 1373) "mut"
601 WHITESPACE@[1373; 1374) " "
602 NAME@[1374; 1376)
603 IDENT@[1374; 1376) "_y"
604 WHITESPACE@[1376; 1377) " "
605 EQ@[1377; 1378) "="
606 WHITESPACE@[1378; 1379) " "
607 BIN_EXPR@[1379; 1399)
608 PAREN_EXPR@[1379; 1387)
609 L_PAREN@[1379; 1380) "("
610 BIN_EXPR@[1380; 1386)
611 PATH_EXPR@[1380; 1382)
612 PATH@[1380; 1382)
613 PATH_SEGMENT@[1380; 1382)
614 NAME_REF@[1380; 1382)
615 IDENT@[1380; 1382) "_x"
616 WHITESPACE@[1382; 1383) " "
617 EQ@[1383; 1384) "="
618 WHITESPACE@[1384; 1385) " "
619 LITERAL@[1385; 1386)
620 INT_NUMBER@[1385; 1386) "0"
621 R_PAREN@[1386; 1387) ")"
622 WHITESPACE@[1387; 1388) " "
623 EQEQ@[1388; 1390) "=="
624 WHITESPACE@[1390; 1391) " "
625 PAREN_EXPR@[1391; 1399)
626 L_PAREN@[1391; 1392) "("
627 BIN_EXPR@[1392; 1398)
628 PATH_EXPR@[1392; 1394)
629 PATH@[1392; 1394)
630 PATH_SEGMENT@[1392; 1394)
631 NAME_REF@[1392; 1394)
632 IDENT@[1392; 1394) "_x"
633 WHITESPACE@[1394; 1395) " "
634 EQ@[1395; 1396) "="
635 WHITESPACE@[1396; 1397) " "
636 LITERAL@[1397; 1398)
637 INT_NUMBER@[1397; 1398) "0"
638 R_PAREN@[1398; 1399) ")"
639 SEMI@[1399; 1400) ";"
640 WHITESPACE@[1400; 1405) "\n "
641 LET_STMT@[1405; 1438)
642 LET_KW@[1405; 1408) "let"
643 WHITESPACE@[1408; 1409) " "
644 BIND_PAT@[1409; 1415)
645 MUT_KW@[1409; 1412) "mut"
646 WHITESPACE@[1412; 1413) " "
647 NAME@[1413; 1415)
648 IDENT@[1413; 1415) "_z"
649 WHITESPACE@[1415; 1416) " "
650 EQ@[1416; 1417) "="
651 WHITESPACE@[1417; 1418) " "
652 BIN_EXPR@[1418; 1437)
653 PAREN_EXPR@[1418; 1426)
654 L_PAREN@[1418; 1419) "("
655 BIN_EXPR@[1419; 1425)
656 PATH_EXPR@[1419; 1421)
657 PATH@[1419; 1421)
658 PATH_SEGMENT@[1419; 1421)
659 NAME_REF@[1419; 1421)
660 IDENT@[1419; 1421) "_x"
661 WHITESPACE@[1421; 1422) " "
662 EQ@[1422; 1423) "="
663 WHITESPACE@[1423; 1424) " "
664 LITERAL@[1424; 1425)
665 INT_NUMBER@[1424; 1425) "0"
666 R_PAREN@[1425; 1426) ")"
667 WHITESPACE@[1426; 1427) " "
668 L_ANGLE@[1427; 1428) "<"
669 WHITESPACE@[1428; 1429) " "
670 PAREN_EXPR@[1429; 1437)
671 L_PAREN@[1429; 1430) "("
672 BIN_EXPR@[1430; 1436)
673 PATH_EXPR@[1430; 1432)
674 PATH@[1430; 1432)
675 PATH_SEGMENT@[1430; 1432)
676 NAME_REF@[1430; 1432)
677 IDENT@[1430; 1432) "_x"
678 WHITESPACE@[1432; 1433) " "
679 EQ@[1433; 1434) "="
680 WHITESPACE@[1434; 1435) " "
681 LITERAL@[1435; 1436)
682 INT_NUMBER@[1435; 1436) "0"
683 R_PAREN@[1436; 1437) ")"
684 SEMI@[1437; 1438) ";"
685 WHITESPACE@[1438; 1443) "\n "
686 LET_STMT@[1443; 1474)
687 LET_KW@[1443; 1446) "let"
688 WHITESPACE@[1446; 1447) " "
689 BIND_PAT@[1447; 1449)
690 NAME@[1447; 1449)
691 IDENT@[1447; 1449) "_a"
692 WHITESPACE@[1449; 1450) " "
693 EQ@[1450; 1451) "="
694 WHITESPACE@[1451; 1452) " "
695 BIN_EXPR@[1452; 1473)
696 PAREN_EXPR@[1452; 1461)
697 L_PAREN@[1452; 1453) "("
698 BIN_EXPR@[1453; 1460)
699 PATH_EXPR@[1453; 1455)
700 PATH@[1453; 1455)
701 PATH_SEGMENT@[1453; 1455)
702 NAME_REF@[1453; 1455)
703 IDENT@[1453; 1455) "_x"
704 WHITESPACE@[1455; 1456) " "
705 PLUSEQ@[1456; 1458) "+="
706 WHITESPACE@[1458; 1459) " "
707 LITERAL@[1459; 1460)
708 INT_NUMBER@[1459; 1460) "0"
709 R_PAREN@[1460; 1461) ")"
710 WHITESPACE@[1461; 1462) " "
711 EQEQ@[1462; 1464) "=="
712 WHITESPACE@[1464; 1465) " "
713 PAREN_EXPR@[1465; 1473)
714 L_PAREN@[1465; 1466) "("
715 BIN_EXPR@[1466; 1472)
716 PATH_EXPR@[1466; 1468)
717 PATH@[1466; 1468)
718 PATH_SEGMENT@[1466; 1468)
719 NAME_REF@[1466; 1468)
720 IDENT@[1466; 1468) "_x"
721 WHITESPACE@[1468; 1469) " "
722 EQ@[1469; 1470) "="
723 WHITESPACE@[1470; 1471) " "
724 LITERAL@[1471; 1472)
725 INT_NUMBER@[1471; 1472) "0"
726 R_PAREN@[1472; 1473) ")"
727 SEMI@[1473; 1474) ";"
728 WHITESPACE@[1474; 1479) "\n "
729 LET_STMT@[1479; 1537)
730 LET_KW@[1479; 1482) "let"
731 WHITESPACE@[1482; 1483) " "
732 BIND_PAT@[1483; 1485)
733 NAME@[1483; 1485)
734 IDENT@[1483; 1485) "_b"
735 WHITESPACE@[1485; 1486) " "
736 EQ@[1486; 1487) "="
737 WHITESPACE@[1487; 1488) " "
738 BIN_EXPR@[1488; 1536)
739 CALL_EXPR@[1488; 1510)
740 PATH_EXPR@[1488; 1492)
741 PATH@[1488; 1492)
742 PATH_SEGMENT@[1488; 1492)
743 NAME_REF@[1488; 1492)
744 IDENT@[1488; 1492) "swap"
745 ARG_LIST@[1492; 1510)
746 L_PAREN@[1492; 1493) "("
747 REF_EXPR@[1493; 1500)
748 AMP@[1493; 1494) "&"
749 MUT_KW@[1494; 1497) "mut"
750 WHITESPACE@[1497; 1498) " "
751 PATH_EXPR@[1498; 1500)
752 PATH@[1498; 1500)
753 PATH_SEGMENT@[1498; 1500)
754 NAME_REF@[1498; 1500)
755 IDENT@[1498; 1500) "_y"
756 COMMA@[1500; 1501) ","
757 WHITESPACE@[1501; 1502) " "
758 REF_EXPR@[1502; 1509)
759 AMP@[1502; 1503) "&"
760 MUT_KW@[1503; 1506) "mut"
761 WHITESPACE@[1506; 1507) " "
762 PATH_EXPR@[1507; 1509)
763 PATH@[1507; 1509)
764 PATH_SEGMENT@[1507; 1509)
765 NAME_REF@[1507; 1509)
766 IDENT@[1507; 1509) "_z"
767 R_PAREN@[1509; 1510) ")"
768 WHITESPACE@[1510; 1511) " "
769 EQEQ@[1511; 1513) "=="
770 WHITESPACE@[1513; 1514) " "
771 CALL_EXPR@[1514; 1536)
772 PATH_EXPR@[1514; 1518)
773 PATH@[1514; 1518)
774 PATH_SEGMENT@[1514; 1518)
775 NAME_REF@[1514; 1518)
776 IDENT@[1514; 1518) "swap"
777 ARG_LIST@[1518; 1536)
778 L_PAREN@[1518; 1519) "("
779 REF_EXPR@[1519; 1526)
780 AMP@[1519; 1520) "&"
781 MUT_KW@[1520; 1523) "mut"
782 WHITESPACE@[1523; 1524) " "
783 PATH_EXPR@[1524; 1526)
784 PATH@[1524; 1526)
785 PATH_SEGMENT@[1524; 1526)
786 NAME_REF@[1524; 1526)
787 IDENT@[1524; 1526) "_y"
788 COMMA@[1526; 1527) ","
789 WHITESPACE@[1527; 1528) " "
790 REF_EXPR@[1528; 1535)
791 AMP@[1528; 1529) "&"
792 MUT_KW@[1529; 1532) "mut"
793 WHITESPACE@[1532; 1533) " "
794 PATH_EXPR@[1533; 1535)
795 PATH@[1533; 1535)
796 PATH_SEGMENT@[1533; 1535)
797 NAME_REF@[1533; 1535)
798 IDENT@[1533; 1535) "_z"
799 R_PAREN@[1535; 1536) ")"
800 SEMI@[1536; 1537) ";"
801 WHITESPACE@[1537; 1538) "\n"
802 R_CURLY@[1538; 1539) "}"
803 WHITESPACE@[1539; 1541) "\n\n"
804 FN_DEF@[1541; 1741)
805 FN_KW@[1541; 1543) "fn"
806 WHITESPACE@[1543; 1544) " "
807 NAME@[1544; 1557)
808 IDENT@[1544; 1557) "canttouchthis"
809 PARAM_LIST@[1557; 1559)
810 L_PAREN@[1557; 1558) "("
811 R_PAREN@[1558; 1559) ")"
812 WHITESPACE@[1559; 1560) " "
813 RET_TYPE@[1560; 1568)
814 THIN_ARROW@[1560; 1562) "->"
815 WHITESPACE@[1562; 1563) " "
816 PATH_TYPE@[1563; 1568)
817 PATH@[1563; 1568)
818 PATH_SEGMENT@[1563; 1568)
819 NAME_REF@[1563; 1568)
820 IDENT@[1563; 1568) "usize"
821 WHITESPACE@[1568; 1569) " "
822 BLOCK@[1569; 1741)
823 L_CURLY@[1569; 1570) "{"
824 WHITESPACE@[1570; 1575) "\n "
825 FN_DEF@[1575; 1598)
826 FN_KW@[1575; 1577) "fn"
827 WHITESPACE@[1577; 1578) " "
828 NAME@[1578; 1579)
829 IDENT@[1578; 1579) "p"
830 PARAM_LIST@[1579; 1581)
831 L_PAREN@[1579; 1580) "("
832 R_PAREN@[1580; 1581) ")"
833 WHITESPACE@[1581; 1582) " "
834 RET_TYPE@[1582; 1589)
835 THIN_ARROW@[1582; 1584) "->"
836 WHITESPACE@[1584; 1585) " "
837 PATH_TYPE@[1585; 1589)
838 PATH@[1585; 1589)
839 PATH_SEGMENT@[1585; 1589)
840 NAME_REF@[1585; 1589)
841 IDENT@[1585; 1589) "bool"
842 WHITESPACE@[1589; 1590) " "
843 BLOCK@[1590; 1598)
844 L_CURLY@[1590; 1591) "{"
845 WHITESPACE@[1591; 1592) " "
846 LITERAL@[1592; 1596)
847 TRUE_KW@[1592; 1596) "true"
848 WHITESPACE@[1596; 1597) " "
849 R_CURLY@[1597; 1598) "}"
850 WHITESPACE@[1598; 1603) "\n "
851 LET_STMT@[1603; 1648)
852 LET_KW@[1603; 1606) "let"
853 WHITESPACE@[1606; 1607) " "
854 BIND_PAT@[1607; 1609)
855 NAME@[1607; 1609)
856 IDENT@[1607; 1609) "_a"
857 WHITESPACE@[1609; 1610) " "
858 EQ@[1610; 1611) "="
859 WHITESPACE@[1611; 1612) " "
860 PAREN_EXPR@[1612; 1647)
861 L_PAREN@[1612; 1613) "("
862 BIN_EXPR@[1613; 1646)
863 MACRO_CALL@[1613; 1628)
864 PATH@[1613; 1619)
865 PATH_SEGMENT@[1613; 1619)
866 NAME_REF@[1613; 1619)
867 IDENT@[1613; 1619) "assert"
868 EXCL@[1619; 1620) "!"
869 TOKEN_TREE@[1620; 1628)
870 L_PAREN@[1620; 1621) "("
871 TOKEN_TREE@[1621; 1627)
872 L_PAREN@[1621; 1622) "("
873 TRUE_KW@[1622; 1626) "true"
874 R_PAREN@[1626; 1627) ")"
875 R_PAREN@[1627; 1628) ")"
876 WHITESPACE@[1628; 1629) " "
877 EQEQ@[1629; 1631) "=="
878 WHITESPACE@[1631; 1632) " "
879 PAREN_EXPR@[1632; 1646)
880 L_PAREN@[1632; 1633) "("
881 MACRO_CALL@[1633; 1645)
882 PATH@[1633; 1639)
883 PATH_SEGMENT@[1633; 1639)
884 NAME_REF@[1633; 1639)
885 IDENT@[1633; 1639) "assert"
886 EXCL@[1639; 1640) "!"
887 TOKEN_TREE@[1640; 1645)
888 L_PAREN@[1640; 1641) "("
889 IDENT@[1641; 1642) "p"
890 TOKEN_TREE@[1642; 1644)
891 L_PAREN@[1642; 1643) "("
892 R_PAREN@[1643; 1644) ")"
893 R_PAREN@[1644; 1645) ")"
894 R_PAREN@[1645; 1646) ")"
895 R_PAREN@[1646; 1647) ")"
896 SEMI@[1647; 1648) ";"
897 WHITESPACE@[1648; 1653) "\n "
898 LET_STMT@[1653; 1685)
899 LET_KW@[1653; 1656) "let"
900 WHITESPACE@[1656; 1657) " "
901 BIND_PAT@[1657; 1659)
902 NAME@[1657; 1659)
903 IDENT@[1657; 1659) "_c"
904 WHITESPACE@[1659; 1660) " "
905 EQ@[1660; 1661) "="
906 WHITESPACE@[1661; 1662) " "
907 PAREN_EXPR@[1662; 1684)
908 L_PAREN@[1662; 1663) "("
909 BIN_EXPR@[1663; 1683)
910 MACRO_CALL@[1663; 1677)
911 PATH@[1663; 1669)
912 PATH_SEGMENT@[1663; 1669)
913 NAME_REF@[1663; 1669)
914 IDENT@[1663; 1669) "assert"
915 EXCL@[1669; 1670) "!"
916 TOKEN_TREE@[1670; 1677)
917 L_PAREN@[1670; 1671) "("
918 TOKEN_TREE@[1671; 1676)
919 L_PAREN@[1671; 1672) "("
920 IDENT@[1672; 1673) "p"
921 TOKEN_TREE@[1673; 1675)
922 L_PAREN@[1673; 1674) "("
923 R_PAREN@[1674; 1675) ")"
924 R_PAREN@[1675; 1676) ")"
925 R_PAREN@[1676; 1677) ")"
926 WHITESPACE@[1677; 1678) " "
927 EQEQ@[1678; 1680) "=="
928 WHITESPACE@[1680; 1681) " "
929 TUPLE_EXPR@[1681; 1683)
930 L_PAREN@[1681; 1682) "("
931 R_PAREN@[1682; 1683) ")"
932 R_PAREN@[1683; 1684) ")"
933 SEMI@[1684; 1685) ";"
934 WHITESPACE@[1685; 1690) "\n "
935 LET_STMT@[1690; 1739)
936 LET_KW@[1690; 1693) "let"
937 WHITESPACE@[1693; 1694) " "
938 BIND_PAT@[1694; 1696)
939 NAME@[1694; 1696)
940 IDENT@[1694; 1696) "_b"
941 COLON@[1696; 1697) ":"
942 WHITESPACE@[1697; 1698) " "
943 PATH_TYPE@[1698; 1702)
944 PATH@[1698; 1702)
945 PATH_SEGMENT@[1698; 1702)
946 NAME_REF@[1698; 1702)
947 IDENT@[1698; 1702) "bool"
948 WHITESPACE@[1702; 1703) " "
949 EQ@[1703; 1704) "="
950 WHITESPACE@[1704; 1705) " "
951 PAREN_EXPR@[1705; 1738)
952 L_PAREN@[1705; 1706) "("
953 BIN_EXPR@[1706; 1737)
954 MACRO_CALL@[1706; 1723)
955 PATH@[1706; 1713)
956 PATH_SEGMENT@[1706; 1713)
957 NAME_REF@[1706; 1713)
958 IDENT@[1706; 1713) "println"
959 EXCL@[1713; 1714) "!"
960 TOKEN_TREE@[1714; 1723)
961 L_PAREN@[1714; 1715) "("
962 STRING@[1715; 1719) "\"{}\""
963 COMMA@[1719; 1720) ","
964 WHITESPACE@[1720; 1721) " "
965 INT_NUMBER@[1721; 1722) "0"
966 R_PAREN@[1722; 1723) ")"
967 WHITESPACE@[1723; 1724) " "
968 EQEQ@[1724; 1726) "=="
969 WHITESPACE@[1726; 1727) " "
970 PAREN_EXPR@[1727; 1737)
971 L_PAREN@[1727; 1728) "("
972 RETURN_EXPR@[1728; 1736)
973 RETURN_KW@[1728; 1734) "return"
974 WHITESPACE@[1734; 1735) " "
975 LITERAL@[1735; 1736)
976 INT_NUMBER@[1735; 1736) "0"
977 R_PAREN@[1736; 1737) ")"
978 R_PAREN@[1737; 1738) ")"
979 SEMI@[1738; 1739) ";"
980 WHITESPACE@[1739; 1740) "\n"
981 R_CURLY@[1740; 1741) "}"
982 WHITESPACE@[1741; 1743) "\n\n"
983 FN_DEF@[1743; 1904)
984 FN_KW@[1743; 1745) "fn"
985 WHITESPACE@[1745; 1746) " "
986 NAME@[1746; 1755)
987 IDENT@[1746; 1755) "angrydome"
988 PARAM_LIST@[1755; 1757)
989 L_PAREN@[1755; 1756) "("
990 R_PAREN@[1756; 1757) ")"
991 WHITESPACE@[1757; 1758) " "
992 BLOCK@[1758; 1904)
993 L_CURLY@[1758; 1759) "{"
994 WHITESPACE@[1759; 1764) "\n "
995 EXPR_STMT@[1764; 1785)
996 LOOP_EXPR@[1764; 1785)
997 LOOP_KW@[1764; 1768) "loop"
998 WHITESPACE@[1768; 1769) " "
999 BLOCK@[1769; 1785)
1000 L_CURLY@[1769; 1770) "{"
1001 WHITESPACE@[1770; 1771) " "
1002 IF_EXPR@[1771; 1783)
1003 IF_KW@[1771; 1773) "if"
1004 WHITESPACE@[1773; 1774) " "
1005 CONDITION@[1774; 1779)
1006 BREAK_EXPR@[1774; 1779)
1007 BREAK_KW@[1774; 1779) "break"
1008 WHITESPACE@[1779; 1780) " "
1009 BLOCK@[1780; 1783)
1010 L_CURLY@[1780; 1781) "{"
1011 WHITESPACE@[1781; 1782) " "
1012 R_CURLY@[1782; 1783) "}"
1013 WHITESPACE@[1783; 1784) " "
1014 R_CURLY@[1784; 1785) "}"
1015 WHITESPACE@[1785; 1790) "\n "
1016 LET_STMT@[1790; 1804)
1017 LET_KW@[1790; 1793) "let"
1018 WHITESPACE@[1793; 1794) " "
1019 BIND_PAT@[1794; 1799)
1020 MUT_KW@[1794; 1797) "mut"
1021 WHITESPACE@[1797; 1798) " "
1022 NAME@[1798; 1799)
1023 IDENT@[1798; 1799) "i"
1024 WHITESPACE@[1799; 1800) " "
1025 EQ@[1800; 1801) "="
1026 WHITESPACE@[1801; 1802) " "
1027 LITERAL@[1802; 1803)
1028 INT_NUMBER@[1802; 1803) "0"
1029 SEMI@[1803; 1804) ";"
1030 WHITESPACE@[1804; 1809) "\n "
1031 LOOP_EXPR@[1809; 1902)
1032 LOOP_KW@[1809; 1813) "loop"
1033 WHITESPACE@[1813; 1814) " "
1034 BLOCK@[1814; 1902)
1035 L_CURLY@[1814; 1815) "{"
1036 WHITESPACE@[1815; 1816) " "
1037 EXPR_STMT@[1816; 1823)
1038 BIN_EXPR@[1816; 1822)
1039 PATH_EXPR@[1816; 1817)
1040 PATH@[1816; 1817)
1041 PATH_SEGMENT@[1816; 1817)
1042 NAME_REF@[1816; 1817)
1043 IDENT@[1816; 1817) "i"
1044 WHITESPACE@[1817; 1818) " "
1045 PLUSEQ@[1818; 1820) "+="
1046 WHITESPACE@[1820; 1821) " "
1047 LITERAL@[1821; 1822)
1048 INT_NUMBER@[1821; 1822) "1"
1049 SEMI@[1822; 1823) ";"
1050 WHITESPACE@[1823; 1824) " "
1051 EXPR_STMT@[1824; 1887)
1052 IF_EXPR@[1824; 1887)
1053 IF_KW@[1824; 1826) "if"
1054 WHITESPACE@[1826; 1827) " "
1055 CONDITION@[1827; 1833)
1056 BIN_EXPR@[1827; 1833)
1057 PATH_EXPR@[1827; 1828)
1058 PATH@[1827; 1828)
1059 PATH_SEGMENT@[1827; 1828)
1060 NAME_REF@[1827; 1828)
1061 IDENT@[1827; 1828) "i"
1062 WHITESPACE@[1828; 1829) " "
1063 EQEQ@[1829; 1831) "=="
1064 WHITESPACE@[1831; 1832) " "
1065 LITERAL@[1832; 1833)
1066 INT_NUMBER@[1832; 1833) "1"
1067 WHITESPACE@[1833; 1834) " "
1068 BLOCK@[1834; 1887)
1069 L_CURLY@[1834; 1835) "{"
1070 WHITESPACE@[1835; 1836) " "
1071 MATCH_EXPR@[1836; 1885)
1072 MATCH_KW@[1836; 1841) "match"
1073 WHITESPACE@[1841; 1842) " "
1074 PAREN_EXPR@[1842; 1852)
1075 L_PAREN@[1842; 1843) "("
1076 CONTINUE_EXPR@[1843; 1851)
1077 CONTINUE_KW@[1843; 1851) "continue"
1078 R_PAREN@[1851; 1852) ")"
1079 WHITESPACE@[1852; 1853) " "
1080 MATCH_ARM_LIST@[1853; 1885)
1081 L_CURLY@[1853; 1854) "{"
1082 WHITESPACE@[1854; 1855) " "
1083 MATCH_ARM@[1855; 1863)
1084 LITERAL_PAT@[1855; 1856)
1085 LITERAL@[1855; 1856)
1086 INT_NUMBER@[1855; 1856) "1"
1087 WHITESPACE@[1856; 1857) " "
1088 FAT_ARROW@[1857; 1859) "=>"
1089 WHITESPACE@[1859; 1860) " "
1090 BLOCK_EXPR@[1860; 1863)
1091 BLOCK@[1860; 1863)
1092 L_CURLY@[1860; 1861) "{"
1093 WHITESPACE@[1861; 1862) " "
1094 R_CURLY@[1862; 1863) "}"
1095 COMMA@[1863; 1864) ","
1096 WHITESPACE@[1864; 1865) " "
1097 MATCH_ARM@[1865; 1883)
1098 PLACEHOLDER_PAT@[1865; 1866)
1099 UNDERSCORE@[1865; 1866) "_"
1100 WHITESPACE@[1866; 1867) " "
1101 FAT_ARROW@[1867; 1869) "=>"
1102 WHITESPACE@[1869; 1870) " "
1103 MACRO_CALL@[1870; 1883)
1104 PATH@[1870; 1875)
1105 PATH_SEGMENT@[1870; 1875)
1106 NAME_REF@[1870; 1875)
1107 IDENT@[1870; 1875) "panic"
1108 EXCL@[1875; 1876) "!"
1109 TOKEN_TREE@[1876; 1883)
1110 L_PAREN@[1876; 1877) "("
1111 STRING@[1877; 1882) "\"wat\""
1112 R_PAREN@[1882; 1883) ")"
1113 WHITESPACE@[1883; 1884) " "
1114 R_CURLY@[1884; 1885) "}"
1115 WHITESPACE@[1885; 1886) " "
1116 R_CURLY@[1886; 1887) "}"
1117 WHITESPACE@[1887; 1894) "\n "
1118 EXPR_STMT@[1894; 1900)
1119 BREAK_EXPR@[1894; 1899)
1120 BREAK_KW@[1894; 1899) "break"
1121 SEMI@[1899; 1900) ";"
1122 WHITESPACE@[1900; 1901) " "
1123 R_CURLY@[1901; 1902) "}"
1124 WHITESPACE@[1902; 1903) "\n"
1125 R_CURLY@[1903; 1904) "}"
1126 WHITESPACE@[1904; 1906) "\n\n"
1127 FN_DEF@[1906; 1960)
1128 FN_KW@[1906; 1908) "fn"
1129 WHITESPACE@[1908; 1909) " "
1130 NAME@[1909; 1921)
1131 IDENT@[1909; 1921) "evil_lincoln"
1132 PARAM_LIST@[1921; 1923)
1133 L_PAREN@[1921; 1922) "("
1134 R_PAREN@[1922; 1923) ")"
1135 WHITESPACE@[1923; 1924) " "
1136 BLOCK@[1924; 1960)
1137 L_CURLY@[1924; 1925) "{"
1138 WHITESPACE@[1925; 1926) " "
1139 LET_STMT@[1926; 1958)
1140 LET_KW@[1926; 1929) "let"
1141 WHITESPACE@[1929; 1930) " "
1142 BIND_PAT@[1930; 1935)
1143 NAME@[1930; 1935)
1144 IDENT@[1930; 1935) "_evil"
1145 WHITESPACE@[1935; 1936) " "
1146 EQ@[1936; 1937) "="
1147 WHITESPACE@[1937; 1938) " "
1148 MACRO_CALL@[1938; 1957)
1149 PATH@[1938; 1945)
1150 PATH_SEGMENT@[1938; 1945)
1151 NAME_REF@[1938; 1945)
1152 IDENT@[1938; 1945) "println"
1153 EXCL@[1945; 1946) "!"
1154 TOKEN_TREE@[1946; 1957)
1155 L_PAREN@[1946; 1947) "("
1156 STRING@[1947; 1956) "\"lincoln\""
1157 R_PAREN@[1956; 1957) ")"
1158 SEMI@[1957; 1958) ";"
1159 WHITESPACE@[1958; 1959) " "
1160 R_CURLY@[1959; 1960) "}"
1161 WHITESPACE@[1960; 1962) "\n\n"
1162 FN_DEF@[1962; 2198)
1163 FN_KW@[1962; 1964) "fn"
1164 WHITESPACE@[1964; 1965) " "
1165 NAME@[1965; 1969)
1166 IDENT@[1965; 1969) "dots"
1167 PARAM_LIST@[1969; 1971)
1168 L_PAREN@[1969; 1970) "("
1169 R_PAREN@[1970; 1971) ")"
1170 WHITESPACE@[1971; 1972) " "
1171 BLOCK@[1972; 2198)
1172 L_CURLY@[1972; 1973) "{"
1173 WHITESPACE@[1973; 1978) "\n "
1174 EXPR_STMT@[1978; 2196)
1175 MACRO_CALL@[1978; 2195)
1176 PATH@[1978; 1987)
1177 PATH_SEGMENT@[1978; 1987)
1178 NAME_REF@[1978; 1987)
1179 IDENT@[1978; 1987) "assert_eq"
1180 EXCL@[1987; 1988) "!"
1181 TOKEN_TREE@[1988; 2195)
1182 L_PAREN@[1988; 1989) "("
1183 IDENT@[1989; 1995) "String"
1184 COLON@[1995; 1996) ":"
1185 COLON@[1996; 1997) ":"
1186 IDENT@[1997; 2001) "from"
1187 TOKEN_TREE@[2001; 2055)
1188 L_PAREN@[2001; 2002) "("
1189 STRING@[2002; 2054) "\".................... ..."
1190 R_PAREN@[2054; 2055) ")"
1191 COMMA@[2055; 2056) ","
1192 WHITESPACE@[2056; 2072) "\n "
1193 IDENT@[2072; 2078) "format"
1194 EXCL@[2078; 2079) "!"
1195 TOKEN_TREE@[2079; 2194)
1196 L_PAREN@[2079; 2080) "("
1197 STRING@[2080; 2086) "\"{:?}\""
1198 COMMA@[2086; 2087) ","
1199 WHITESPACE@[2087; 2088) " "
1200 DOT@[2088; 2089) "."
1201 DOT@[2089; 2090) "."
1202 WHITESPACE@[2090; 2091) " "
1203 DOT@[2091; 2092) "."
1204 DOT@[2092; 2093) "."
1205 WHITESPACE@[2093; 2094) " "
1206 DOT@[2094; 2095) "."
1207 DOT@[2095; 2096) "."
1208 WHITESPACE@[2096; 2097) " "
1209 DOT@[2097; 2098) "."
1210 DOT@[2098; 2099) "."
1211 WHITESPACE@[2099; 2100) " "
1212 DOT@[2100; 2101) "."
1213 DOT@[2101; 2102) "."
1214 WHITESPACE@[2102; 2103) " "
1215 DOT@[2103; 2104) "."
1216 DOT@[2104; 2105) "."
1217 WHITESPACE@[2105; 2106) " "
1218 DOT@[2106; 2107) "."
1219 DOT@[2107; 2108) "."
1220 WHITESPACE@[2108; 2109) " "
1221 DOT@[2109; 2110) "."
1222 DOT@[2110; 2111) "."
1223 WHITESPACE@[2111; 2112) " "
1224 DOT@[2112; 2113) "."
1225 DOT@[2113; 2114) "."
1226 WHITESPACE@[2114; 2115) " "
1227 DOT@[2115; 2116) "."
1228 DOT@[2116; 2117) "."
1229 WHITESPACE@[2117; 2118) " "
1230 DOT@[2118; 2119) "."
1231 DOT@[2119; 2120) "."
1232 WHITESPACE@[2120; 2121) " "
1233 DOT@[2121; 2122) "."
1234 DOT@[2122; 2123) "."
1235 WHITESPACE@[2123; 2124) " "
1236 DOT@[2124; 2125) "."
1237 DOT@[2125; 2126) "."
1238 WHITESPACE@[2126; 2158) "\n ..."
1239 DOT@[2158; 2159) "."
1240 DOT@[2159; 2160) "."
1241 WHITESPACE@[2160; 2161) " "
1242 DOT@[2161; 2162) "."
1243 DOT@[2162; 2163) "."
1244 WHITESPACE@[2163; 2164) " "
1245 DOT@[2164; 2165) "."
1246 DOT@[2165; 2166) "."
1247 WHITESPACE@[2166; 2167) " "
1248 DOT@[2167; 2168) "."
1249 DOT@[2168; 2169) "."
1250 WHITESPACE@[2169; 2170) " "
1251 DOT@[2170; 2171) "."
1252 DOT@[2171; 2172) "."
1253 WHITESPACE@[2172; 2173) " "
1254 DOT@[2173; 2174) "."
1255 DOT@[2174; 2175) "."
1256 WHITESPACE@[2175; 2176) " "
1257 DOT@[2176; 2177) "."
1258 DOT@[2177; 2178) "."
1259 WHITESPACE@[2178; 2179) " "
1260 DOT@[2179; 2180) "."
1261 DOT@[2180; 2181) "."
1262 WHITESPACE@[2181; 2182) " "
1263 DOT@[2182; 2183) "."
1264 DOT@[2183; 2184) "."
1265 WHITESPACE@[2184; 2185) " "
1266 DOT@[2185; 2186) "."
1267 DOT@[2186; 2187) "."
1268 WHITESPACE@[2187; 2188) " "
1269 DOT@[2188; 2189) "."
1270 DOT@[2189; 2190) "."
1271 WHITESPACE@[2190; 2191) " "
1272 DOT@[2191; 2192) "."
1273 DOT@[2192; 2193) "."
1274 R_PAREN@[2193; 2194) ")"
1275 R_PAREN@[2194; 2195) ")"
1276 SEMI@[2195; 2196) ";"
1277 WHITESPACE@[2196; 2197) "\n"
1278 R_CURLY@[2197; 2198) "}"
1279 WHITESPACE@[2198; 2200) "\n\n"
1280 FN_DEF@[2200; 2693)
1281 FN_KW@[2200; 2202) "fn"
1282 WHITESPACE@[2202; 2203) " "
1283 NAME@[2203; 2205)
1284 IDENT@[2203; 2205) "u8"
1285 PARAM_LIST@[2205; 2213)
1286 L_PAREN@[2205; 2206) "("
1287 PARAM@[2206; 2212)
1288 BIND_PAT@[2206; 2208)
1289 NAME@[2206; 2208)
1290 IDENT@[2206; 2208) "u8"
1291 COLON@[2208; 2209) ":"
1292 WHITESPACE@[2209; 2210) " "
1293 PATH_TYPE@[2210; 2212)
1294 PATH@[2210; 2212)
1295 PATH_SEGMENT@[2210; 2212)
1296 NAME_REF@[2210; 2212)
1297 IDENT@[2210; 2212) "u8"
1298 R_PAREN@[2212; 2213) ")"
1299 WHITESPACE@[2213; 2214) " "
1300 BLOCK@[2214; 2693)
1301 L_CURLY@[2214; 2215) "{"
1302 WHITESPACE@[2215; 2220) "\n "
1303 IF_EXPR@[2220; 2691)
1304 IF_KW@[2220; 2222) "if"
1305 WHITESPACE@[2222; 2223) " "
1306 CONDITION@[2223; 2232)
1307 BIN_EXPR@[2223; 2232)
1308 PATH_EXPR@[2223; 2225)
1309 PATH@[2223; 2225)
1310 PATH_SEGMENT@[2223; 2225)
1311 NAME_REF@[2223; 2225)
1312 IDENT@[2223; 2225) "u8"
1313 WHITESPACE@[2225; 2226) " "
1314 NEQ@[2226; 2228) "!="
1315 WHITESPACE@[2228; 2229) " "
1316 LITERAL@[2229; 2232)
1317 INT_NUMBER@[2229; 2232) "0u8"
1318 WHITESPACE@[2232; 2233) " "
1319 BLOCK@[2233; 2691)
1320 L_CURLY@[2233; 2234) "{"
1321 WHITESPACE@[2234; 2243) "\n "
1322 EXPR_STMT@[2243; 2685)
1323 MACRO_CALL@[2243; 2684)
1324 PATH@[2243; 2252)
1325 PATH_SEGMENT@[2243; 2252)
1326 NAME_REF@[2243; 2252)
1327 IDENT@[2243; 2252) "assert_eq"
1328 EXCL@[2252; 2253) "!"
1329 TOKEN_TREE@[2253; 2684)
1330 L_PAREN@[2253; 2254) "("
1331 INT_NUMBER@[2254; 2257) "8u8"
1332 COMMA@[2257; 2258) ","
1333 WHITESPACE@[2258; 2259) " "
1334 TOKEN_TREE@[2259; 2683)
1335 L_CURLY@[2259; 2260) "{"
1336 WHITESPACE@[2260; 2273) "\n "
1337 IDENT@[2273; 2284) "macro_rules"
1338 EXCL@[2284; 2285) "!"
1339 WHITESPACE@[2285; 2286) " "
1340 IDENT@[2286; 2288) "u8"
1341 WHITESPACE@[2288; 2289) " "
1342 TOKEN_TREE@[2289; 2567)
1343 L_CURLY@[2289; 2290) "{"
1344 WHITESPACE@[2290; 2307) "\n "
1345 TOKEN_TREE@[2307; 2311)
1346 L_PAREN@[2307; 2308) "("
1347 IDENT@[2308; 2310) "u8"
1348 R_PAREN@[2310; 2311) ")"
1349 WHITESPACE@[2311; 2312) " "
1350 EQ@[2312; 2313) "="
1351 R_ANGLE@[2313; 2314) ">"
1352 WHITESPACE@[2314; 2315) " "
1353 TOKEN_TREE@[2315; 2552)
1354 L_CURLY@[2315; 2316) "{"
1355 WHITESPACE@[2316; 2337) "\n "
1356 MOD_KW@[2337; 2340) "mod"
1357 WHITESPACE@[2340; 2341) " "
1358 IDENT@[2341; 2343) "u8"
1359 WHITESPACE@[2343; 2344) " "
1360 TOKEN_TREE@[2344; 2534)
1361 L_CURLY@[2344; 2345) "{"
1362 WHITESPACE@[2345; 2370) "\n ..."
1363 PUB_KW@[2370; 2373) "pub"
1364 WHITESPACE@[2373; 2374) " "
1365 FN_KW@[2374; 2376) "fn"
1366 WHITESPACE@[2376; 2377) " "
1367 IDENT@[2377; 2379) "u8"
1368 L_ANGLE@[2379; 2380) "<"
1369 LIFETIME@[2380; 2383) "\'u8"
1370 COLON@[2383; 2384) ":"
1371 WHITESPACE@[2384; 2385) " "
1372 LIFETIME@[2385; 2388) "\'u8"
1373 WHITESPACE@[2388; 2389) " "
1374 PLUS@[2389; 2390) "+"
1375 WHITESPACE@[2390; 2391) " "
1376 LIFETIME@[2391; 2394) "\'u8"
1377 R_ANGLE@[2394; 2395) ">"
1378 TOKEN_TREE@[2395; 2408)
1379 L_PAREN@[2395; 2396) "("
1380 IDENT@[2396; 2398) "u8"
1381 COLON@[2398; 2399) ":"
1382 WHITESPACE@[2399; 2400) " "
1383 AMP@[2400; 2401) "&"
1384 LIFETIME@[2401; 2404) "\'u8"
1385 WHITESPACE@[2404; 2405) " "
1386 IDENT@[2405; 2407) "u8"
1387 R_PAREN@[2407; 2408) ")"
1388 WHITESPACE@[2408; 2409) " "
1389 MINUS@[2409; 2410) "-"
1390 R_ANGLE@[2410; 2411) ">"
1391 WHITESPACE@[2411; 2412) " "
1392 AMP@[2412; 2413) "&"
1393 LIFETIME@[2413; 2416) "\'u8"
1394 WHITESPACE@[2416; 2417) " "
1395 IDENT@[2417; 2419) "u8"
1396 WHITESPACE@[2419; 2420) " "
1397 TOKEN_TREE@[2420; 2512)
1398 L_CURLY@[2420; 2421) "{"
1399 WHITESPACE@[2421; 2450) "\n ..."
1400 STRING@[2450; 2454) "\"u8\""
1401 SEMI@[2454; 2455) ";"
1402 WHITESPACE@[2455; 2484) "\n ..."
1403 IDENT@[2484; 2486) "u8"
1404 WHITESPACE@[2486; 2511) "\n ..."
1405 R_CURLY@[2511; 2512) "}"
1406 WHITESPACE@[2512; 2533) "\n "
1407 R_CURLY@[2533; 2534) "}"
1408 WHITESPACE@[2534; 2551) "\n "
1409 R_CURLY@[2551; 2552) "}"
1410 SEMI@[2552; 2553) ";"
1411 WHITESPACE@[2553; 2566) "\n "
1412 R_CURLY@[2566; 2567) "}"
1413 WHITESPACE@[2567; 2581) "\n\n "
1414 IDENT@[2581; 2583) "u8"
1415 EXCL@[2583; 2584) "!"
1416 TOKEN_TREE@[2584; 2588)
1417 L_PAREN@[2584; 2585) "("
1418 IDENT@[2585; 2587) "u8"
1419 R_PAREN@[2587; 2588) ")"
1420 SEMI@[2588; 2589) ";"
1421 WHITESPACE@[2589; 2602) "\n "
1422 LET_KW@[2602; 2605) "let"
1423 WHITESPACE@[2605; 2606) " "
1424 AMP@[2606; 2607) "&"
1425 IDENT@[2607; 2609) "u8"
1426 COLON@[2609; 2610) ":"
1427 WHITESPACE@[2610; 2611) " "
1428 AMP@[2611; 2612) "&"
1429 IDENT@[2612; 2614) "u8"
1430 WHITESPACE@[2614; 2615) " "
1431 EQ@[2615; 2616) "="
1432 WHITESPACE@[2616; 2617) " "
1433 IDENT@[2617; 2619) "u8"
1434 COLON@[2619; 2620) ":"
1435 COLON@[2620; 2621) ":"
1436 IDENT@[2621; 2623) "u8"
1437 TOKEN_TREE@[2623; 2629)
1438 L_PAREN@[2623; 2624) "("
1439 AMP@[2624; 2625) "&"
1440 INT_NUMBER@[2625; 2628) "8u8"
1441 R_PAREN@[2628; 2629) ")"
1442 SEMI@[2629; 2630) ";"
1443 WHITESPACE@[2630; 2643) "\n "
1444 CRATE_KW@[2643; 2648) "crate"
1445 COLON@[2648; 2649) ":"
1446 COLON@[2649; 2650) ":"
1447 IDENT@[2650; 2652) "u8"
1448 TOKEN_TREE@[2652; 2657)
1449 L_PAREN@[2652; 2653) "("
1450 INT_NUMBER@[2653; 2656) "0u8"
1451 R_PAREN@[2656; 2657) ")"
1452 SEMI@[2657; 2658) ";"
1453 WHITESPACE@[2658; 2671) "\n "
1454 IDENT@[2671; 2673) "u8"
1455 WHITESPACE@[2673; 2682) "\n "
1456 R_CURLY@[2682; 2683) "}"
1457 R_PAREN@[2683; 2684) ")"
1458 SEMI@[2684; 2685) ";"
1459 WHITESPACE@[2685; 2690) "\n "
1460 R_CURLY@[2690; 2691) "}"
1461 WHITESPACE@[2691; 2692) "\n"
1462 R_CURLY@[2692; 2693) "}"
1463 WHITESPACE@[2693; 2695) "\n\n"
1464 FN_DEF@[2695; 2832)
1465 FN_KW@[2695; 2697) "fn"
1466 WHITESPACE@[2697; 2698) " "
1467 NAME@[2698; 2703)
1468 IDENT@[2698; 2703) "fishy"
1469 PARAM_LIST@[2703; 2705)
1470 L_PAREN@[2703; 2704) "("
1471 R_PAREN@[2704; 2705) ")"
1472 WHITESPACE@[2705; 2706) " "
1473 BLOCK@[2706; 2832)
1474 L_CURLY@[2706; 2707) "{"
1475 WHITESPACE@[2707; 2712) "\n "
1476 EXPR_STMT@[2712; 2830)
1477 MACRO_CALL@[2712; 2829)
1478 PATH@[2712; 2721)
1479 PATH_SEGMENT@[2712; 2721)
1480 NAME_REF@[2712; 2721)
1481 IDENT@[2712; 2721) "assert_eq"
1482 EXCL@[2721; 2722) "!"
1483 TOKEN_TREE@[2722; 2829)
1484 L_PAREN@[2722; 2723) "("
1485 IDENT@[2723; 2729) "String"
1486 COLON@[2729; 2730) ":"
1487 COLON@[2730; 2731) ":"
1488 IDENT@[2731; 2735) "from"
1489 TOKEN_TREE@[2735; 2742)
1490 L_PAREN@[2735; 2736) "("
1491 STRING@[2736; 2741) "\"><>\""
1492 R_PAREN@[2741; 2742) ")"
1493 COMMA@[2742; 2743) ","
1494 WHITESPACE@[2743; 2759) "\n "
1495 IDENT@[2759; 2765) "String"
1496 COLON@[2765; 2766) ":"
1497 COLON@[2766; 2767) ":"
1498 L_ANGLE@[2767; 2768) "<"
1499 R_ANGLE@[2768; 2769) ">"
1500 COLON@[2769; 2770) ":"
1501 COLON@[2770; 2771) ":"
1502 IDENT@[2771; 2775) "from"
1503 COLON@[2775; 2776) ":"
1504 COLON@[2776; 2777) ":"
1505 L_ANGLE@[2777; 2778) "<"
1506 R_ANGLE@[2778; 2779) ">"
1507 TOKEN_TREE@[2779; 2786)
1508 L_PAREN@[2779; 2780) "("
1509 STRING@[2780; 2785) "\"><>\""
1510 R_PAREN@[2785; 2786) ")"
1511 DOT@[2786; 2787) "."
1512 IDENT@[2787; 2792) "chars"
1513 COLON@[2792; 2793) ":"
1514 COLON@[2793; 2794) ":"
1515 L_ANGLE@[2794; 2795) "<"
1516 R_ANGLE@[2795; 2796) ">"
1517 TOKEN_TREE@[2796; 2798)
1518 L_PAREN@[2796; 2797) "("
1519 R_PAREN@[2797; 2798) ")"
1520 DOT@[2798; 2799) "."
1521 IDENT@[2799; 2802) "rev"
1522 COLON@[2802; 2803) ":"
1523 COLON@[2803; 2804) ":"
1524 L_ANGLE@[2804; 2805) "<"
1525 R_ANGLE@[2805; 2806) ">"
1526 TOKEN_TREE@[2806; 2808)
1527 L_PAREN@[2806; 2807) "("
1528 R_PAREN@[2807; 2808) ")"
1529 DOT@[2808; 2809) "."
1530 IDENT@[2809; 2816) "collect"
1531 COLON@[2816; 2817) ":"
1532 COLON@[2817; 2818) ":"
1533 L_ANGLE@[2818; 2819) "<"
1534 IDENT@[2819; 2825) "String"
1535 R_ANGLE@[2825; 2826) ">"
1536 TOKEN_TREE@[2826; 2828)
1537 L_PAREN@[2826; 2827) "("
1538 R_PAREN@[2827; 2828) ")"
1539 R_PAREN@[2828; 2829) ")"
1540 SEMI@[2829; 2830) ";"
1541 WHITESPACE@[2830; 2831) "\n"
1542 R_CURLY@[2831; 2832) "}"
1543 WHITESPACE@[2832; 2834) "\n\n"
1544 FN_DEF@[2834; 2906)
1545 FN_KW@[2834; 2836) "fn"
1546 WHITESPACE@[2836; 2837) " "
1547 NAME@[2837; 2842)
1548 IDENT@[2837; 2842) "union"
1549 PARAM_LIST@[2842; 2844)
1550 L_PAREN@[2842; 2843) "("
1551 R_PAREN@[2843; 2844) ")"
1552 WHITESPACE@[2844; 2845) " "
1553 BLOCK@[2845; 2906)
1554 L_CURLY@[2845; 2846) "{"
1555 WHITESPACE@[2846; 2851) "\n "
1556 STRUCT_DEF@[2851; 2904)
1557 UNION_KW@[2851; 2856) "union"
1558 WHITESPACE@[2856; 2857) " "
1559 NAME@[2857; 2862)
1560 IDENT@[2857; 2862) "union"
1561 TYPE_PARAM_LIST@[2862; 2870)
1562 L_ANGLE@[2862; 2863) "<"
1563 LIFETIME_PARAM@[2863; 2869)
1564 LIFETIME@[2863; 2869) "\'union"
1565 R_ANGLE@[2869; 2870) ">"
1566 WHITESPACE@[2870; 2871) " "
1567 NAMED_FIELD_DEF_LIST@[2871; 2904)
1568 L_CURLY@[2871; 2872) "{"
1569 WHITESPACE@[2872; 2873) " "
1570 NAMED_FIELD_DEF@[2873; 2901)
1571 NAME@[2873; 2878)
1572 IDENT@[2873; 2878) "union"
1573 COLON@[2878; 2879) ":"
1574 WHITESPACE@[2879; 2880) " "
1575 REFERENCE_TYPE@[2880; 2901)
1576 AMP@[2880; 2881) "&"
1577 LIFETIME@[2881; 2887) "\'union"
1578 WHITESPACE@[2887; 2888) " "
1579 PATH_TYPE@[2888; 2901)
1580 PATH@[2888; 2901)
1581 PATH_SEGMENT@[2888; 2901)
1582 NAME_REF@[2888; 2893)
1583 IDENT@[2888; 2893) "union"
1584 TYPE_ARG_LIST@[2893; 2901)
1585 L_ANGLE@[2893; 2894) "<"
1586 LIFETIME_ARG@[2894; 2900)
1587 LIFETIME@[2894; 2900) "\'union"
1588 R_ANGLE@[2900; 2901) ">"
1589 COMMA@[2901; 2902) ","
1590 WHITESPACE@[2902; 2903) " "
1591 R_CURLY@[2903; 2904) "}"
1592 WHITESPACE@[2904; 2905) "\n"
1593 R_CURLY@[2905; 2906) "}"
1594 WHITESPACE@[2906; 2908) "\n\n"
1595 FN_DEF@[2908; 3042)
1596 FN_KW@[2908; 2910) "fn"
1597 WHITESPACE@[2910; 2911) " "
1598 NAME@[2911; 2929)
1599 IDENT@[2911; 2929) "special_characters"
1600 PARAM_LIST@[2929; 2931)
1601 L_PAREN@[2929; 2930) "("
1602 R_PAREN@[2930; 2931) ")"
1603 WHITESPACE@[2931; 2932) " "
1604 BLOCK@[2932; 3042)
1605 L_CURLY@[2932; 2933) "{"
1606 WHITESPACE@[2933; 2938) "\n "
1607 LET_STMT@[2938; 3021)
1608 LET_KW@[2938; 2941) "let"
1609 WHITESPACE@[2941; 2942) " "
1610 BIND_PAT@[2942; 2945)
1611 NAME@[2942; 2945)
1612 IDENT@[2942; 2945) "val"
1613 WHITESPACE@[2945; 2946) " "
1614 EQ@[2946; 2947) "="
1615 WHITESPACE@[2947; 2948) " "
1616 PREFIX_EXPR@[2948; 3013)
1617 EXCL@[2948; 2949) "!"
1618 PAREN_EXPR@[2949; 3013)
1619 L_PAREN@[2949; 2950) "("
1620 BIN_EXPR@[2950; 3012)
1621 CALL_EXPR@[2950; 2995)
1622 PAREN_EXPR@[2950; 2971)
1623 L_PAREN@[2950; 2951) "("
1624 LAMBDA_EXPR@[2951; 2970)
1625 PARAM_LIST@[2951; 2968)
1626 PIPE@[2951; 2952) "|"
1627 PARAM@[2952; 2962)
1628 TUPLE_PAT@[2952; 2956)
1629 L_PAREN@[2952; 2953) "("
1630 DOTDOT@[2953; 2955) ".."
1631 R_PAREN@[2955; 2956) ")"
1632 COLON@[2956; 2957) ":"
1633 TUPLE_TYPE@[2957; 2962)
1634 L_PAREN@[2957; 2958) "("
1635 PLACEHOLDER_TYPE@[2958; 2959)
1636 UNDERSCORE@[2958; 2959) "_"
1637 COMMA@[2959; 2960) ","
1638 PLACEHOLDER_TYPE@[2960; 2961)
1639 UNDERSCORE@[2960; 2961) "_"
1640 R_PAREN@[2961; 2962) ")"
1641 COMMA@[2962; 2963) ","
1642 PARAM@[2963; 2967)
1643 BIND_PAT@[2963; 2967)
1644 NAME@[2963; 2965)
1645 IDENT@[2963; 2965) "__"
1646 AT@[2965; 2966) "@"
1647 PLACEHOLDER_PAT@[2966; 2967)
1648 UNDERSCORE@[2966; 2967) "_"
1649 PIPE@[2967; 2968) "|"
1650 PATH_EXPR@[2968; 2970)
1651 PATH@[2968; 2970)
1652 PATH_SEGMENT@[2968; 2970)
1653 NAME_REF@[2968; 2970)
1654 IDENT@[2968; 2970) "__"
1655 R_PAREN@[2970; 2971) ")"
1656 ARG_LIST@[2971; 2995)
1657 L_PAREN@[2971; 2972) "("
1658 TUPLE_EXPR@[2972; 2987)
1659 L_PAREN@[2972; 2973) "("
1660 REF_EXPR@[2973; 2979)
1661 AMP@[2973; 2974) "&"
1662 PREFIX_EXPR@[2974; 2979)
1663 STAR@[2974; 2975) "*"
1664 LITERAL@[2975; 2979)
1665 STRING@[2975; 2979) "\"\\\\\""
1666 COMMA@[2979; 2980) ","
1667 LITERAL@[2980; 2986)
1668 CHAR@[2980; 2986) "\'🤔\'"
1669 R_PAREN@[2986; 2987) ")"
1670 COMMENT@[2987; 2991) "/**/"
1671 COMMA@[2991; 2992) ","
1672 BLOCK_EXPR@[2992; 2994)
1673 BLOCK@[2992; 2994)
1674 L_CURLY@[2992; 2993) "{"
1675 R_CURLY@[2993; 2994) "}"
1676 R_PAREN@[2994; 2995) ")"
1677 EQEQ@[2995; 2997) "=="
1678 BLOCK_EXPR@[2997; 3012)
1679 BLOCK@[2997; 3012)
1680 L_CURLY@[2997; 2998) "{"
1681 EXPR_STMT@[2998; 3011)
1682 REF_EXPR@[2998; 3010)
1683 AMP@[2998; 2999) "&"
1684 INDEX_EXPR@[2999; 3010)
1685 ARRAY_EXPR@[2999; 3006)
1686 L_BRACK@[2999; 3000) "["
1687 RANGE_EXPR@[3000; 3005)
1688 DOTDOTEQ@[3000; 3003) "..="
1689 RANGE_EXPR@[3003; 3005)
1690 DOTDOT@[3003; 3005) ".."
1691 R_BRACK@[3005; 3006) "]"
1692 L_BRACK@[3006; 3007) "["
1693 RANGE_EXPR@[3007; 3009)
1694 DOTDOT@[3007; 3009) ".."
1695 R_BRACK@[3009; 3010) "]"
1696 SEMI@[3010; 3011) ";"
1697 R_CURLY@[3011; 3012) "}"
1698 R_PAREN@[3012; 3013) ")"
1699 COMMENT@[3013; 3015) "//"
1700 WHITESPACE@[3015; 3020) "\n "
1701 SEMI@[3020; 3021) ";"
1702 WHITESPACE@[3021; 3026) "\n "
1703 EXPR_STMT@[3026; 3040)
1704 MACRO_CALL@[3026; 3039)
1705 PATH@[3026; 3032)
1706 PATH_SEGMENT@[3026; 3032)
1707 NAME_REF@[3026; 3032)
1708 IDENT@[3026; 3032) "assert"
1709 EXCL@[3032; 3033) "!"
1710 TOKEN_TREE@[3033; 3039)
1711 L_PAREN@[3033; 3034) "("
1712 EXCL@[3034; 3035) "!"
1713 IDENT@[3035; 3038) "val"
1714 R_PAREN@[3038; 3039) ")"
1715 SEMI@[3039; 3040) ";"
1716 WHITESPACE@[3040; 3041) "\n"
1717 R_CURLY@[3041; 3042) "}"
1718 WHITESPACE@[3042; 3044) "\n\n"
1719 FN_DEF@[3044; 3514)
1720 FN_KW@[3044; 3046) "fn"
1721 WHITESPACE@[3046; 3047) " "
1722 NAME@[3047; 3057)
1723 IDENT@[3047; 3057) "punch_card"
1724 PARAM_LIST@[3057; 3059)
1725 L_PAREN@[3057; 3058) "("
1726 R_PAREN@[3058; 3059) ")"
1727 WHITESPACE@[3059; 3060) " "
1728 RET_TYPE@[3060; 3083)
1729 THIN_ARROW@[3060; 3062) "->"
1730 WHITESPACE@[3062; 3063) " "
1731 IMPL_TRAIT_TYPE@[3063; 3083)
1732 IMPL_KW@[3063; 3067) "impl"
1733 WHITESPACE@[3067; 3068) " "
1734 TYPE_BOUND_LIST@[3068; 3083)
1735 TYPE_BOUND@[3068; 3083)
1736 PATH_TYPE@[3068; 3083)
1737 PATH@[3068; 3083)
1738 PATH@[3068; 3076)
1739 PATH@[3068; 3071)
1740 PATH_SEGMENT@[3068; 3071)
1741 NAME_REF@[3068; 3071)
1742 IDENT@[3068; 3071) "std"
1743 COLONCOLON@[3071; 3073) "::"
1744 PATH_SEGMENT@[3073; 3076)
1745 NAME_REF@[3073; 3076)
1746 IDENT@[3073; 3076) "fmt"
1747 COLONCOLON@[3076; 3078) "::"
1748 PATH_SEGMENT@[3078; 3083)
1749 NAME_REF@[3078; 3083)
1750 IDENT@[3078; 3083) "Debug"
1751 WHITESPACE@[3083; 3084) " "
1752 BLOCK@[3084; 3514)
1753 L_CURLY@[3084; 3085) "{"
1754 WHITESPACE@[3085; 3090) "\n "
1755 RANGE_EXPR@[3090; 3512)
1756 DOTDOTEQ@[3090; 3093) "..="
1757 RANGE_EXPR@[3093; 3512)
1758 DOTDOTEQ@[3093; 3096) "..="
1759 RANGE_EXPR@[3096; 3512)
1760 DOTDOT@[3096; 3098) ".."
1761 WHITESPACE@[3098; 3099) " "
1762 RANGE_EXPR@[3099; 3512)
1763 DOTDOT@[3099; 3101) ".."
1764 WHITESPACE@[3101; 3105) " "
1765 RANGE_EXPR@[3105; 3512)
1766 DOTDOT@[3105; 3107) ".."
1767 WHITESPACE@[3107; 3108) " "
1768 RANGE_EXPR@[3108; 3512)
1769 DOTDOT@[3108; 3110) ".."
1770 WHITESPACE@[3110; 3111) " "
1771 RANGE_EXPR@[3111; 3512)
1772 DOTDOT@[3111; 3113) ".."
1773 WHITESPACE@[3113; 3114) " "
1774 RANGE_EXPR@[3114; 3512)
1775 DOTDOT@[3114; 3116) ".."
1776 WHITESPACE@[3116; 3120) " "
1777 RANGE_EXPR@[3120; 3512)
1778 DOTDOT@[3120; 3122) ".."
1779 WHITESPACE@[3122; 3123) " "
1780 RANGE_EXPR@[3123; 3512)
1781 DOTDOT@[3123; 3125) ".."
1782 WHITESPACE@[3125; 3126) " "
1783 RANGE_EXPR@[3126; 3512)
1784 DOTDOT@[3126; 3128) ".."
1785 WHITESPACE@[3128; 3129) " "
1786 RANGE_EXPR@[3129; 3512)
1787 DOTDOT@[3129; 3131) ".."
1788 WHITESPACE@[3131; 3135) " "
1789 RANGE_EXPR@[3135; 3512)
1790 DOTDOT@[3135; 3137) ".."
1791 WHITESPACE@[3137; 3138) " "
1792 RANGE_EXPR@[3138; 3512)
1793 DOTDOTEQ@[3138; 3141) "..="
1794 RANGE_EXPR@[3141; 3512)
1795 DOTDOT@[3141; 3143) ".."
1796 WHITESPACE@[3143; 3144) " "
1797 RANGE_EXPR@[3144; 3512)
1798 DOTDOT@[3144; 3146) ".."
1799 WHITESPACE@[3146; 3151) "\n "
1800 RANGE_EXPR@[3151; 3512)
1801 DOTDOTEQ@[3151; 3154) "..="
1802 RANGE_EXPR@[3154; 3512)
1803 DOTDOT@[3154; 3156) ".."
1804 WHITESPACE@[3156; 3157) " "
1805 RANGE_EXPR@[3157; 3512)
1806 DOTDOTEQ@[3157; 3160) "..="
1807 RANGE_EXPR@[3160; 3512)
1808 DOTDOT@[3160; 3162) ".."
1809 WHITESPACE@[3162; 3166) " "
1810 RANGE_EXPR@[3166; 3512)
1811 DOTDOT@[3166; 3168) ".."
1812 WHITESPACE@[3168; 3169) " "
1813 RANGE_EXPR@[3169; 3512)
1814 DOTDOT@[3169; 3171) ".."
1815 WHITESPACE@[3171; 3172) " "
1816 RANGE_EXPR@[3172; 3512)
1817 DOTDOT@[3172; 3174) ".."
1818 WHITESPACE@[3174; 3175) " "
1819 RANGE_EXPR@[3175; 3512)
1820 DOTDOT@[3175; 3177) ".."
1821 WHITESPACE@[3177; 3181) " "
1822 RANGE_EXPR@[3181; 3512)
1823 DOTDOT@[3181; 3183) ".."
1824 WHITESPACE@[3183; 3184) " "
1825 RANGE_EXPR@[3184; 3512)
1826 DOTDOT@[3184; 3186) ".."
1827 WHITESPACE@[3186; 3187) " "
1828 RANGE_EXPR@[3187; 3512)
1829 DOTDOT@[3187; 3189) ".."
1830 WHITESPACE@[3189; 3190) " "
1831 RANGE_EXPR@[3190; 3512)
1832 DOTDOT@[3190; 3192) ".."
1833 WHITESPACE@[3192; 3196) " "
1834 RANGE_EXPR@[3196; 3512)
1835 DOTDOTEQ@[3196; 3199) "..="
1836 RANGE_EXPR@[3199; 3512)
1837 DOTDOTEQ@[3199; 3202) "..="
1838 RANGE_EXPR@[3202; 3512)
1839 DOTDOTEQ@[3202; 3205) "..="
1840 RANGE_EXPR@[3205; 3512)
1841 DOTDOT@[3205; 3207) ".."
1842 WHITESPACE@[3207; 3212) "\n "
1843 RANGE_EXPR@[3212; 3512)
1844 DOTDOTEQ@[3212; 3215) "..="
1845 RANGE_EXPR@[3215; 3512)
1846 DOTDOT@[3215; 3217) ".."
1847 WHITESPACE@[3217; 3218) " "
1848 RANGE_EXPR@[3218; 3512)
1849 DOTDOTEQ@[3218; 3221) "..="
1850 RANGE_EXPR@[3221; 3512)
1851 DOTDOT@[3221; 3223) ".."
1852 WHITESPACE@[3223; 3227) " "
1853 RANGE_EXPR@[3227; 3512)
1854 DOTDOTEQ@[3227; 3230) "..="
1855 RANGE_EXPR@[3230; 3512)
1856 DOTDOT@[3230; 3232) ".."
1857 WHITESPACE@[3232; 3233) " "
1858 RANGE_EXPR@[3233; 3512)
1859 DOTDOTEQ@[3233; 3236) "..="
1860 RANGE_EXPR@[3236; 3512)
1861 DOTDOT@[3236; 3238) ".."
1862 WHITESPACE@[3238; 3242) " "
1863 RANGE_EXPR@[3242; 3512)
1864 DOTDOT@[3242; 3244) ".."
1865 WHITESPACE@[3244; 3245) " "
1866 RANGE_EXPR@[3245; 3512)
1867 DOTDOTEQ@[3245; 3248) "..="
1868 RANGE_EXPR@[3248; 3512)
1869 DOTDOTEQ@[3248; 3251) "..="
1870 RANGE_EXPR@[3251; 3512)
1871 DOTDOT@[3251; 3253) ".."
1872 WHITESPACE@[3253; 3257) " "
1873 RANGE_EXPR@[3257; 3512)
1874 DOTDOT@[3257; 3259) ".."
1875 WHITESPACE@[3259; 3260) " "
1876 RANGE_EXPR@[3260; 3512)
1877 DOTDOTEQ@[3260; 3263) "..="
1878 RANGE_EXPR@[3263; 3512)
1879 DOTDOT@[3263; 3265) ".."
1880 WHITESPACE@[3265; 3266) " "
1881 RANGE_EXPR@[3266; 3512)
1882 DOTDOT@[3266; 3268) ".."
1883 WHITESPACE@[3268; 3273) "\n "
1884 RANGE_EXPR@[3273; 3512)
1885 DOTDOTEQ@[3273; 3276) "..="
1886 RANGE_EXPR@[3276; 3512)
1887 DOTDOTEQ@[3276; 3279) "..="
1888 RANGE_EXPR@[3279; 3512)
1889 DOTDOT@[3279; 3281) ".."
1890 WHITESPACE@[3281; 3282) " "
1891 RANGE_EXPR@[3282; 3512)
1892 DOTDOT@[3282; 3284) ".."
1893 WHITESPACE@[3284; 3288) " "
1894 RANGE_EXPR@[3288; 3512)
1895 DOTDOTEQ@[3288; 3291) "..="
1896 RANGE_EXPR@[3291; 3512)
1897 DOTDOT@[3291; 3293) ".."
1898 WHITESPACE@[3293; 3294) " "
1899 RANGE_EXPR@[3294; 3512)
1900 DOTDOTEQ@[3294; 3297) "..="
1901 RANGE_EXPR@[3297; 3512)
1902 DOTDOT@[3297; 3299) ".."
1903 WHITESPACE@[3299; 3303) " "
1904 RANGE_EXPR@[3303; 3512)
1905 DOTDOTEQ@[3303; 3306) "..="
1906 RANGE_EXPR@[3306; 3512)
1907 DOTDOT@[3306; 3308) ".."
1908 WHITESPACE@[3308; 3309) " "
1909 RANGE_EXPR@[3309; 3512)
1910 DOTDOT@[3309; 3311) ".."
1911 WHITESPACE@[3311; 3312) " "
1912 RANGE_EXPR@[3312; 3512)
1913 DOTDOT@[3312; 3314) ".."
1914 WHITESPACE@[3314; 3318) " "
1915 RANGE_EXPR@[3318; 3512)
1916 DOTDOT@[3318; 3320) ".."
1917 WHITESPACE@[3320; 3321) " "
1918 RANGE_EXPR@[3321; 3512)
1919 DOTDOTEQ@[3321; 3324) "..="
1920 RANGE_EXPR@[3324; 3512)
1921 DOTDOT@[3324; 3326) ".."
1922 WHITESPACE@[3326; 3327) " "
1923 RANGE_EXPR@[3327; 3512)
1924 DOTDOT@[3327; 3329) ".."
1925 WHITESPACE@[3329; 3334) "\n "
1926 RANGE_EXPR@[3334; 3512)
1927 DOTDOTEQ@[3334; 3337) "..="
1928 RANGE_EXPR@[3337; 3512)
1929 DOTDOT@[3337; 3339) ".."
1930 WHITESPACE@[3339; 3340) " "
1931 RANGE_EXPR@[3340; 3512)
1932 DOTDOTEQ@[3340; 3343) "..="
1933 RANGE_EXPR@[3343; 3512)
1934 DOTDOT@[3343; 3345) ".."
1935 WHITESPACE@[3345; 3349) " "
1936 RANGE_EXPR@[3349; 3512)
1937 DOTDOTEQ@[3349; 3352) "..="
1938 RANGE_EXPR@[3352; 3512)
1939 DOTDOT@[3352; 3354) ".."
1940 WHITESPACE@[3354; 3355) " "
1941 RANGE_EXPR@[3355; 3512)
1942 DOTDOTEQ@[3355; 3358) "..="
1943 RANGE_EXPR@[3358; 3512)
1944 DOTDOT@[3358; 3360) ".."
1945 WHITESPACE@[3360; 3364) " "
1946 RANGE_EXPR@[3364; 3512)
1947 DOTDOT@[3364; 3366) ".."
1948 WHITESPACE@[3366; 3367) " "
1949 RANGE_EXPR@[3367; 3512)
1950 DOTDOTEQ@[3367; 3370) "..="
1951 RANGE_EXPR@[3370; 3512)
1952 DOTDOT@[3370; 3372) ".."
1953 WHITESPACE@[3372; 3373) " "
1954 RANGE_EXPR@[3373; 3512)
1955 DOTDOT@[3373; 3375) ".."
1956 WHITESPACE@[3375; 3379) " "
1957 RANGE_EXPR@[3379; 3512)
1958 DOTDOT@[3379; 3381) ".."
1959 WHITESPACE@[3381; 3382) " "
1960 RANGE_EXPR@[3382; 3512)
1961 DOTDOTEQ@[3382; 3385) "..="
1962 RANGE_EXPR@[3385; 3512)
1963 DOTDOT@[3385; 3387) ".."
1964 WHITESPACE@[3387; 3388) " "
1965 RANGE_EXPR@[3388; 3512)
1966 DOTDOT@[3388; 3390) ".."
1967 WHITESPACE@[3390; 3395) "\n "
1968 RANGE_EXPR@[3395; 3512)
1969 DOTDOTEQ@[3395; 3398) "..="
1970 RANGE_EXPR@[3398; 3512)
1971 DOTDOT@[3398; 3400) ".."
1972 WHITESPACE@[3400; 3401) " "
1973 RANGE_EXPR@[3401; 3512)
1974 DOTDOTEQ@[3401; 3404) "..="
1975 RANGE_EXPR@[3404; 3512)
1976 DOTDOT@[3404; 3406) ".."
1977 WHITESPACE@[3406; 3410) " "
1978 RANGE_EXPR@[3410; 3512)
1979 DOTDOTEQ@[3410; 3413) "..="
1980 RANGE_EXPR@[3413; 3512)
1981 DOTDOT@[3413; 3415) ".."
1982 WHITESPACE@[3415; 3416) " "
1983 RANGE_EXPR@[3416; 3512)
1984 DOTDOTEQ@[3416; 3419) "..="
1985 RANGE_EXPR@[3419; 3512)
1986 DOTDOT@[3419; 3421) ".."
1987 WHITESPACE@[3421; 3425) " "
1988 RANGE_EXPR@[3425; 3512)
1989 DOTDOT@[3425; 3427) ".."
1990 WHITESPACE@[3427; 3428) " "
1991 RANGE_EXPR@[3428; 3512)
1992 DOTDOT@[3428; 3430) ".."
1993 WHITESPACE@[3430; 3431) " "
1994 RANGE_EXPR@[3431; 3512)
1995 DOTDOTEQ@[3431; 3434) "..="
1996 RANGE_EXPR@[3434; 3512)
1997 DOTDOT@[3434; 3436) ".."
1998 WHITESPACE@[3436; 3440) " "
1999 RANGE_EXPR@[3440; 3512)
2000 DOTDOT@[3440; 3442) ".."
2001 WHITESPACE@[3442; 3443) " "
2002 RANGE_EXPR@[3443; 3512)
2003 DOTDOTEQ@[3443; 3446) "..="
2004 RANGE_EXPR@[3446; 3512)
2005 DOTDOT@[3446; 3448) ".."
2006 WHITESPACE@[3448; 3449) " "
2007 RANGE_EXPR@[3449; 3512)
2008 DOTDOT@[3449; 3451) ".."
2009 WHITESPACE@[3451; 3456) "\n "
2010 RANGE_EXPR@[3456; 3512)
2011 DOTDOTEQ@[3456; 3459) "..="
2012 RANGE_EXPR@[3459; 3512)
2013 DOTDOT@[3459; 3461) ".."
2014 WHITESPACE@[3461; 3462) " "
2015 RANGE_EXPR@[3462; 3512)
2016 DOTDOTEQ@[3462; 3465) "..="
2017 RANGE_EXPR@[3465; 3512)
2018 DOTDOT@[3465; 3467) ".."
2019 WHITESPACE@[3467; 3471) " "
2020 RANGE_EXPR@[3471; 3512)
2021 DOTDOT@[3471; 3473) ".."
2022 WHITESPACE@[3473; 3474) " "
2023 RANGE_EXPR@[3474; 3512)
2024 DOTDOTEQ@[3474; 3477) "..="
2025 RANGE_EXPR@[3477; 3512)
2026 DOTDOTEQ@[3477; 3480) "..="
2027 RANGE_EXPR@[3480; 3512)
2028 DOTDOT@[3480; 3482) ".."
2029 WHITESPACE@[3482; 3486) " "
2030 RANGE_EXPR@[3486; 3512)
2031 DOTDOTEQ@[3486; 3489) "..="
2032 RANGE_EXPR@[3489; 3512)
2033 DOTDOTEQ@[3489; 3492) "..="
2034 RANGE_EXPR@[3492; 3512)
2035 DOTDOT@[3492; 3494) ".."
2036 WHITESPACE@[3494; 3495) " "
2037 RANGE_EXPR@[3495; 3512)
2038 DOTDOT@[3495; 3497) ".."
2039 WHITESPACE@[3497; 3501) " "
2040 RANGE_EXPR@[3501; 3512)
2041 DOTDOT@[3501; 3503) ".."
2042 WHITESPACE@[3503; 3504) " "
2043 RANGE_EXPR@[3504; 3512)
2044 DOTDOTEQ@[3504; 3507) "..="
2045 RANGE_EXPR@[3507; 3512)
2046 DOTDOT@[3507; 3509) ".."
2047 WHITESPACE@[3509; 3510) " "
2048 RANGE_EXPR@[3510; 3512)
2049 DOTDOT@[3510; 3512) ".."
2050 WHITESPACE@[3512; 3513) "\n"
2051 R_CURLY@[3513; 3514) "}"
2052 WHITESPACE@[3514; 3516) "\n\n"
2053 FN_DEF@[3516; 3552)
2054 FN_KW@[3516; 3518) "fn"
2055 WHITESPACE@[3518; 3519) " "
2056 NAME@[3519; 3525)
2057 IDENT@[3519; 3525) "ktulhu"
2058 PARAM_LIST@[3525; 3527)
2059 L_PAREN@[3525; 3526) "("
2060 R_PAREN@[3526; 3527) ")"
2061 WHITESPACE@[3527; 3528) " "
2062 BLOCK@[3528; 3552)
2063 L_CURLY@[3528; 3529) "{"
2064 WHITESPACE@[3529; 3534) "\n "
2065 SEMI@[3534; 3535) ";"
2066 SEMI@[3535; 3536) ";"
2067 SEMI@[3536; 3537) ";"
2068 EXPR_STMT@[3537; 3540)
2069 TUPLE_EXPR@[3537; 3539)
2070 L_PAREN@[3537; 3538) "("
2071 R_PAREN@[3538; 3539) ")"
2072 SEMI@[3539; 3540) ";"
2073 SEMI@[3540; 3541) ";"
2074 SEMI@[3541; 3542) ";"
2075 SEMI@[3542; 3543) ";"
2076 SEMI@[3543; 3544) ";"
2077 SEMI@[3544; 3545) ";"
2078 SEMI@[3545; 3546) ";"
2079 SEMI@[3546; 3547) ";"
2080 SEMI@[3547; 3548) ";"
2081 TUPLE_EXPR@[3548; 3550)
2082 L_PAREN@[3548; 3549) "("
2083 R_PAREN@[3549; 3550) ")"
2084 WHITESPACE@[3550; 3551) "\n"
2085 R_CURLY@[3551; 3552) "}"
2086 WHITESPACE@[3552; 3554) "\n\n"
2087 FN_DEF@[3554; 3812)
2088 VISIBILITY@[3554; 3557)
2089 PUB_KW@[3554; 3557) "pub"
2090 WHITESPACE@[3557; 3558) " "
2091 FN_KW@[3558; 3560) "fn"
2092 WHITESPACE@[3560; 3561) " "
2093 NAME@[3561; 3565)
2094 IDENT@[3561; 3565) "main"
2095 PARAM_LIST@[3565; 3567)
2096 L_PAREN@[3565; 3566) "("
2097 R_PAREN@[3566; 3567) ")"
2098 WHITESPACE@[3567; 3568) " "
2099 BLOCK@[3568; 3812)
2100 L_CURLY@[3568; 3569) "{"
2101 WHITESPACE@[3569; 3574) "\n "
2102 EXPR_STMT@[3574; 3584)
2103 CALL_EXPR@[3574; 3583)
2104 PATH_EXPR@[3574; 3581)
2105 PATH@[3574; 3581)
2106 PATH_SEGMENT@[3574; 3581)
2107 NAME_REF@[3574; 3581)
2108 IDENT@[3574; 3581) "strange"
2109 ARG_LIST@[3581; 3583)
2110 L_PAREN@[3581; 3582) "("
2111 R_PAREN@[3582; 3583) ")"
2112 SEMI@[3583; 3584) ";"
2113 WHITESPACE@[3584; 3589) "\n "
2114 EXPR_STMT@[3589; 3597)
2115 CALL_EXPR@[3589; 3596)
2116 PATH_EXPR@[3589; 3594)
2117 PATH@[3589; 3594)
2118 PATH_SEGMENT@[3589; 3594)
2119 NAME_REF@[3589; 3594)
2120 IDENT@[3589; 3594) "funny"
2121 ARG_LIST@[3594; 3596)
2122 L_PAREN@[3594; 3595) "("
2123 R_PAREN@[3595; 3596) ")"
2124 SEMI@[3596; 3597) ";"
2125 WHITESPACE@[3597; 3602) "\n "
2126 EXPR_STMT@[3602; 3609)
2127 CALL_EXPR@[3602; 3608)
2128 PATH_EXPR@[3602; 3606)
2129 PATH@[3602; 3606)
2130 PATH_SEGMENT@[3602; 3606)
2131 NAME_REF@[3602; 3606)
2132 IDENT@[3602; 3606) "what"
2133 ARG_LIST@[3606; 3608)
2134 L_PAREN@[3606; 3607) "("
2135 R_PAREN@[3607; 3608) ")"
2136 SEMI@[3608; 3609) ";"
2137 WHITESPACE@[3609; 3614) "\n "
2138 EXPR_STMT@[3614; 3628)
2139 CALL_EXPR@[3614; 3627)
2140 PATH_EXPR@[3614; 3625)
2141 PATH@[3614; 3625)
2142 PATH_SEGMENT@[3614; 3625)
2143 NAME_REF@[3614; 3625)
2144 IDENT@[3614; 3625) "zombiejesus"
2145 ARG_LIST@[3625; 3627)
2146 L_PAREN@[3625; 3626) "("
2147 R_PAREN@[3626; 3627) ")"
2148 SEMI@[3627; 3628) ";"
2149 WHITESPACE@[3628; 3633) "\n "
2150 EXPR_STMT@[3633; 3643)
2151 CALL_EXPR@[3633; 3642)
2152 PATH_EXPR@[3633; 3640)
2153 PATH@[3633; 3640)
2154 PATH_SEGMENT@[3633; 3640)
2155 NAME_REF@[3633; 3640)
2156 IDENT@[3633; 3640) "notsure"
2157 ARG_LIST@[3640; 3642)
2158 L_PAREN@[3640; 3641) "("
2159 R_PAREN@[3641; 3642) ")"
2160 SEMI@[3642; 3643) ";"
2161 WHITESPACE@[3643; 3648) "\n "
2162 EXPR_STMT@[3648; 3664)
2163 CALL_EXPR@[3648; 3663)
2164 PATH_EXPR@[3648; 3661)
2165 PATH@[3648; 3661)
2166 PATH_SEGMENT@[3648; 3661)
2167 NAME_REF@[3648; 3661)
2168 IDENT@[3648; 3661) "canttouchthis"
2169 ARG_LIST@[3661; 3663)
2170 L_PAREN@[3661; 3662) "("
2171 R_PAREN@[3662; 3663) ")"
2172 SEMI@[3663; 3664) ";"
2173 WHITESPACE@[3664; 3669) "\n "
2174 EXPR_STMT@[3669; 3681)
2175 CALL_EXPR@[3669; 3680)
2176 PATH_EXPR@[3669; 3678)
2177 PATH@[3669; 3678)
2178 PATH_SEGMENT@[3669; 3678)
2179 NAME_REF@[3669; 3678)
2180 IDENT@[3669; 3678) "angrydome"
2181 ARG_LIST@[3678; 3680)
2182 L_PAREN@[3678; 3679) "("
2183 R_PAREN@[3679; 3680) ")"
2184 SEMI@[3680; 3681) ";"
2185 WHITESPACE@[3681; 3686) "\n "
2186 EXPR_STMT@[3686; 3701)
2187 CALL_EXPR@[3686; 3700)
2188 PATH_EXPR@[3686; 3698)
2189 PATH@[3686; 3698)
2190 PATH_SEGMENT@[3686; 3698)
2191 NAME_REF@[3686; 3698)
2192 IDENT@[3686; 3698) "evil_lincoln"
2193 ARG_LIST@[3698; 3700)
2194 L_PAREN@[3698; 3699) "("
2195 R_PAREN@[3699; 3700) ")"
2196 SEMI@[3700; 3701) ";"
2197 WHITESPACE@[3701; 3706) "\n "
2198 EXPR_STMT@[3706; 3713)
2199 CALL_EXPR@[3706; 3712)
2200 PATH_EXPR@[3706; 3710)
2201 PATH@[3706; 3710)
2202 PATH_SEGMENT@[3706; 3710)
2203 NAME_REF@[3706; 3710)
2204 IDENT@[3706; 3710) "dots"
2205 ARG_LIST@[3710; 3712)
2206 L_PAREN@[3710; 3711) "("
2207 R_PAREN@[3711; 3712) ")"
2208 SEMI@[3712; 3713) ";"
2209 WHITESPACE@[3713; 3718) "\n "
2210 EXPR_STMT@[3718; 3726)
2211 CALL_EXPR@[3718; 3725)
2212 PATH_EXPR@[3718; 3720)
2213 PATH@[3718; 3720)
2214 PATH_SEGMENT@[3718; 3720)
2215 NAME_REF@[3718; 3720)
2216 IDENT@[3718; 3720) "u8"
2217 ARG_LIST@[3720; 3725)
2218 L_PAREN@[3720; 3721) "("
2219 LITERAL@[3721; 3724)
2220 INT_NUMBER@[3721; 3724) "8u8"
2221 R_PAREN@[3724; 3725) ")"
2222 SEMI@[3725; 3726) ";"
2223 WHITESPACE@[3726; 3731) "\n "
2224 EXPR_STMT@[3731; 3739)
2225 CALL_EXPR@[3731; 3738)
2226 PATH_EXPR@[3731; 3736)
2227 PATH@[3731; 3736)
2228 PATH_SEGMENT@[3731; 3736)
2229 NAME_REF@[3731; 3736)
2230 IDENT@[3731; 3736) "fishy"
2231 ARG_LIST@[3736; 3738)
2232 L_PAREN@[3736; 3737) "("
2233 R_PAREN@[3737; 3738) ")"
2234 SEMI@[3738; 3739) ";"
2235 WHITESPACE@[3739; 3744) "\n "
2236 EXPR_STMT@[3744; 3752)
2237 CALL_EXPR@[3744; 3751)
2238 PATH_EXPR@[3744; 3749)
2239 PATH@[3744; 3749)
2240 PATH_SEGMENT@[3744; 3749)
2241 NAME_REF@[3744; 3749)
2242 IDENT@[3744; 3749) "union"
2243 ARG_LIST@[3749; 3751)
2244 L_PAREN@[3749; 3750) "("
2245 R_PAREN@[3750; 3751) ")"
2246 SEMI@[3751; 3752) ";"
2247 WHITESPACE@[3752; 3757) "\n "
2248 EXPR_STMT@[3757; 3778)
2249 CALL_EXPR@[3757; 3777)
2250 PATH_EXPR@[3757; 3775)
2251 PATH@[3757; 3775)
2252 PATH_SEGMENT@[3757; 3775)
2253 NAME_REF@[3757; 3775)
2254 IDENT@[3757; 3775) "special_characters"
2255 ARG_LIST@[3775; 3777)
2256 L_PAREN@[3775; 3776) "("
2257 R_PAREN@[3776; 3777) ")"
2258 SEMI@[3777; 3778) ";"
2259 WHITESPACE@[3778; 3783) "\n "
2260 EXPR_STMT@[3783; 3796)
2261 CALL_EXPR@[3783; 3795)
2262 PATH_EXPR@[3783; 3793)
2263 PATH@[3783; 3793)
2264 PATH_SEGMENT@[3783; 3793)
2265 NAME_REF@[3783; 3793)
2266 IDENT@[3783; 3793) "punch_card"
2267 ARG_LIST@[3793; 3795)
2268 L_PAREN@[3793; 3794) "("
2269 R_PAREN@[3794; 3795) ")"
2270 SEMI@[3795; 3796) ";"
2271 WHITESPACE@[3796; 3801) "\n "
2272 EXPR_STMT@[3801; 3810)
2273 CALL_EXPR@[3801; 3809)
2274 PATH_EXPR@[3801; 3807)
2275 PATH@[3801; 3807)
2276 PATH_SEGMENT@[3801; 3807)
2277 NAME_REF@[3801; 3807)
2278 IDENT@[3801; 3807) "ktulhu"
2279 ARG_LIST@[3807; 3809)
2280 L_PAREN@[3807; 3808) "("
2281 R_PAREN@[3808; 3809) ")"
2282 SEMI@[3809; 3810) ";"
2283 WHITESPACE@[3810; 3811) "\n"
2284 R_CURLY@[3811; 3812) "}"
2285 WHITESPACE@[3812; 3813) "\n"
diff --git a/crates/ra_syntax/tests/data/parser/ok/0036_fully_qualified.rs b/crates/ra_syntax/tests/data/parser/ok/0036_fully_qualified.rs
deleted file mode 100644
index 6da27933e..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0036_fully_qualified.rs
+++ /dev/null
@@ -1,8 +0,0 @@
1// https://github.com/rust-analyzer/rust-analyzer/issues/311
2
3pub fn foo<S: Iterator>() -> String
4where
5 <S as Iterator>::Item: Eq,
6{
7 "".to_owned()
8}
diff --git a/crates/ra_syntax/tests/data/parser/ok/0036_fully_qualified.txt b/crates/ra_syntax/tests/data/parser/ok/0036_fully_qualified.txt
deleted file mode 100644
index 86263c0bb..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0036_fully_qualified.txt
+++ /dev/null
@@ -1,92 +0,0 @@
1SOURCE_FILE@[0; 157)
2 COMMENT@[0; 60) "// https://github.com ..."
3 WHITESPACE@[60; 62) "\n\n"
4 FN_DEF@[62; 156)
5 VISIBILITY@[62; 65)
6 PUB_KW@[62; 65) "pub"
7 WHITESPACE@[65; 66) " "
8 FN_KW@[66; 68) "fn"
9 WHITESPACE@[68; 69) " "
10 NAME@[69; 72)
11 IDENT@[69; 72) "foo"
12 TYPE_PARAM_LIST@[72; 85)
13 L_ANGLE@[72; 73) "<"
14 TYPE_PARAM@[73; 84)
15 NAME@[73; 74)
16 IDENT@[73; 74) "S"
17 COLON@[74; 75) ":"
18 WHITESPACE@[75; 76) " "
19 TYPE_BOUND_LIST@[76; 84)
20 TYPE_BOUND@[76; 84)
21 PATH_TYPE@[76; 84)
22 PATH@[76; 84)
23 PATH_SEGMENT@[76; 84)
24 NAME_REF@[76; 84)
25 IDENT@[76; 84) "Iterator"
26 R_ANGLE@[84; 85) ">"
27 PARAM_LIST@[85; 87)
28 L_PAREN@[85; 86) "("
29 R_PAREN@[86; 87) ")"
30 WHITESPACE@[87; 88) " "
31 RET_TYPE@[88; 97)
32 THIN_ARROW@[88; 90) "->"
33 WHITESPACE@[90; 91) " "
34 PATH_TYPE@[91; 97)
35 PATH@[91; 97)
36 PATH_SEGMENT@[91; 97)
37 NAME_REF@[91; 97)
38 IDENT@[91; 97) "String"
39 WHITESPACE@[97; 98) "\n"
40 WHERE_CLAUSE@[98; 134)
41 WHERE_KW@[98; 103) "where"
42 WHITESPACE@[103; 108) "\n "
43 WHERE_PRED@[108; 133)
44 PATH_TYPE@[108; 129)
45 PATH@[108; 129)
46 PATH@[108; 123)
47 PATH_SEGMENT@[108; 123)
48 L_ANGLE@[108; 109) "<"
49 PATH_TYPE@[109; 110)
50 PATH@[109; 110)
51 PATH_SEGMENT@[109; 110)
52 NAME_REF@[109; 110)
53 IDENT@[109; 110) "S"
54 WHITESPACE@[110; 111) " "
55 AS_KW@[111; 113) "as"
56 WHITESPACE@[113; 114) " "
57 PATH_TYPE@[114; 122)
58 PATH@[114; 122)
59 PATH_SEGMENT@[114; 122)
60 NAME_REF@[114; 122)
61 IDENT@[114; 122) "Iterator"
62 R_ANGLE@[122; 123) ">"
63 COLONCOLON@[123; 125) "::"
64 PATH_SEGMENT@[125; 129)
65 NAME_REF@[125; 129)
66 IDENT@[125; 129) "Item"
67 COLON@[129; 130) ":"
68 WHITESPACE@[130; 131) " "
69 TYPE_BOUND_LIST@[131; 133)
70 TYPE_BOUND@[131; 133)
71 PATH_TYPE@[131; 133)
72 PATH@[131; 133)
73 PATH_SEGMENT@[131; 133)
74 NAME_REF@[131; 133)
75 IDENT@[131; 133) "Eq"
76 COMMA@[133; 134) ","
77 WHITESPACE@[134; 135) "\n"
78 BLOCK@[135; 156)
79 L_CURLY@[135; 136) "{"
80 WHITESPACE@[136; 141) "\n "
81 METHOD_CALL_EXPR@[141; 154)
82 LITERAL@[141; 143)
83 STRING@[141; 143) "\"\""
84 DOT@[143; 144) "."
85 NAME_REF@[144; 152)
86 IDENT@[144; 152) "to_owned"
87 ARG_LIST@[152; 154)
88 L_PAREN@[152; 153) "("
89 R_PAREN@[153; 154) ")"
90 WHITESPACE@[154; 155) "\n"
91 R_CURLY@[155; 156) "}"
92 WHITESPACE@[156; 157) "\n"
diff --git a/crates/ra_syntax/tests/data/parser/ok/0037_mod.rs b/crates/ra_syntax/tests/data/parser/ok/0037_mod.rs
deleted file mode 100644
index 7e5a1b835..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0037_mod.rs
+++ /dev/null
@@ -1,5 +0,0 @@
1// https://github.com/rust-analyzer/rust-analyzer/issues/357
2
3//! docs
4// non-docs
5mod foo {} \ No newline at end of file
diff --git a/crates/ra_syntax/tests/data/parser/ok/0037_mod.txt b/crates/ra_syntax/tests/data/parser/ok/0037_mod.txt
deleted file mode 100644
index 3af40a104..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0037_mod.txt
+++ /dev/null
@@ -1,16 +0,0 @@
1SOURCE_FILE@[0; 93)
2 COMMENT@[0; 60) "// https://github.com ..."
3 WHITESPACE@[60; 62) "\n\n"
4 MODULE@[62; 93)
5 COMMENT@[62; 70) "//! docs"
6 WHITESPACE@[70; 71) "\n"
7 COMMENT@[71; 82) "// non-docs"
8 WHITESPACE@[82; 83) "\n"
9 MOD_KW@[83; 86) "mod"
10 WHITESPACE@[86; 87) " "
11 NAME@[87; 90)
12 IDENT@[87; 90) "foo"
13 WHITESPACE@[90; 91) " "
14 ITEM_LIST@[91; 93)
15 L_CURLY@[91; 92) "{"
16 R_CURLY@[92; 93) "}"
diff --git a/crates/ra_syntax/tests/data/parser/ok/0038_where_pred_type.rs b/crates/ra_syntax/tests/data/parser/ok/0038_where_pred_type.rs
deleted file mode 100644
index 8bfc341a5..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0038_where_pred_type.rs
+++ /dev/null
@@ -1 +0,0 @@
1fn test() where (u64, u64): Foo {} \ No newline at end of file
diff --git a/crates/ra_syntax/tests/data/parser/ok/0038_where_pred_type.txt b/crates/ra_syntax/tests/data/parser/ok/0038_where_pred_type.txt
deleted file mode 100644
index 7a5507473..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0038_where_pred_type.txt
+++ /dev/null
@@ -1,42 +0,0 @@
1SOURCE_FILE@[0; 34)
2 FN_DEF@[0; 34)
3 FN_KW@[0; 2) "fn"
4 WHITESPACE@[2; 3) " "
5 NAME@[3; 7)
6 IDENT@[3; 7) "test"
7 PARAM_LIST@[7; 9)
8 L_PAREN@[7; 8) "("
9 R_PAREN@[8; 9) ")"
10 WHITESPACE@[9; 10) " "
11 WHERE_CLAUSE@[10; 31)
12 WHERE_KW@[10; 15) "where"
13 WHITESPACE@[15; 16) " "
14 WHERE_PRED@[16; 31)
15 TUPLE_TYPE@[16; 26)
16 L_PAREN@[16; 17) "("
17 PATH_TYPE@[17; 20)
18 PATH@[17; 20)
19 PATH_SEGMENT@[17; 20)
20 NAME_REF@[17; 20)
21 IDENT@[17; 20) "u64"
22 COMMA@[20; 21) ","
23 WHITESPACE@[21; 22) " "
24 PATH_TYPE@[22; 25)
25 PATH@[22; 25)
26 PATH_SEGMENT@[22; 25)
27 NAME_REF@[22; 25)
28 IDENT@[22; 25) "u64"
29 R_PAREN@[25; 26) ")"
30 COLON@[26; 27) ":"
31 WHITESPACE@[27; 28) " "
32 TYPE_BOUND_LIST@[28; 31)
33 TYPE_BOUND@[28; 31)
34 PATH_TYPE@[28; 31)
35 PATH@[28; 31)
36 PATH_SEGMENT@[28; 31)
37 NAME_REF@[28; 31)
38 IDENT@[28; 31) "Foo"
39 WHITESPACE@[31; 32) " "
40 BLOCK@[32; 34)
41 L_CURLY@[32; 33) "{"
42 R_CURLY@[33; 34) "}"
diff --git a/crates/ra_syntax/tests/data/parser/ok/0039_raw_fn_item.rs b/crates/ra_syntax/tests/data/parser/ok/0039_raw_fn_item.rs
deleted file mode 100644
index 8380d1e79..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0039_raw_fn_item.rs
+++ /dev/null
@@ -1,2 +0,0 @@
1fn r#foo() {
2}
diff --git a/crates/ra_syntax/tests/data/parser/ok/0039_raw_fn_item.txt b/crates/ra_syntax/tests/data/parser/ok/0039_raw_fn_item.txt
deleted file mode 100644
index 69fac87e3..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0039_raw_fn_item.txt
+++ /dev/null
@@ -1,15 +0,0 @@
1SOURCE_FILE@[0; 15)
2 FN_DEF@[0; 14)
3 FN_KW@[0; 2) "fn"
4 WHITESPACE@[2; 3) " "
5 NAME@[3; 8)
6 IDENT@[3; 8) "r#foo"
7 PARAM_LIST@[8; 10)
8 L_PAREN@[8; 9) "("
9 R_PAREN@[9; 10) ")"
10 WHITESPACE@[10; 11) " "
11 BLOCK@[11; 14)
12 L_CURLY@[11; 12) "{"
13 WHITESPACE@[12; 13) "\n"
14 R_CURLY@[13; 14) "}"
15 WHITESPACE@[14; 15) "\n"
diff --git a/crates/ra_syntax/tests/data/parser/ok/0040_raw_struct_item_field.rs b/crates/ra_syntax/tests/data/parser/ok/0040_raw_struct_item_field.rs
deleted file mode 100644
index 098a60a72..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0040_raw_struct_item_field.rs
+++ /dev/null
@@ -1,3 +0,0 @@
1struct S {
2 r#foo: u32
3} \ No newline at end of file
diff --git a/crates/ra_syntax/tests/data/parser/ok/0040_raw_struct_item_field.txt b/crates/ra_syntax/tests/data/parser/ok/0040_raw_struct_item_field.txt
deleted file mode 100644
index 3c717555d..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0040_raw_struct_item_field.txt
+++ /dev/null
@@ -1,22 +0,0 @@
1SOURCE_FILE@[0; 27)
2 STRUCT_DEF@[0; 27)
3 STRUCT_KW@[0; 6) "struct"
4 WHITESPACE@[6; 7) " "
5 NAME@[7; 8)
6 IDENT@[7; 8) "S"
7 WHITESPACE@[8; 9) " "
8 NAMED_FIELD_DEF_LIST@[9; 27)
9 L_CURLY@[9; 10) "{"
10 WHITESPACE@[10; 15) "\n "
11 NAMED_FIELD_DEF@[15; 25)
12 NAME@[15; 20)
13 IDENT@[15; 20) "r#foo"
14 COLON@[20; 21) ":"
15 WHITESPACE@[21; 22) " "
16 PATH_TYPE@[22; 25)
17 PATH@[22; 25)
18 PATH_SEGMENT@[22; 25)
19 NAME_REF@[22; 25)
20 IDENT@[22; 25) "u32"
21 WHITESPACE@[25; 26) "\n"
22 R_CURLY@[26; 27) "}"
diff --git a/crates/ra_syntax/tests/data/parser/ok/0041_raw_keywords.rs b/crates/ra_syntax/tests/data/parser/ok/0041_raw_keywords.rs
deleted file mode 100644
index d59a6d347..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0041_raw_keywords.rs
+++ /dev/null
@@ -1 +0,0 @@
1fn foo() { let r#struct = 92; let r#trait = r#struct * 2; } \ No newline at end of file
diff --git a/crates/ra_syntax/tests/data/parser/ok/0041_raw_keywords.txt b/crates/ra_syntax/tests/data/parser/ok/0041_raw_keywords.txt
deleted file mode 100644
index 554b52f85..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0041_raw_keywords.txt
+++ /dev/null
@@ -1,49 +0,0 @@
1SOURCE_FILE@[0; 59)
2 FN_DEF@[0; 59)
3 FN_KW@[0; 2) "fn"
4 WHITESPACE@[2; 3) " "
5 NAME@[3; 6)
6 IDENT@[3; 6) "foo"
7 PARAM_LIST@[6; 8)
8 L_PAREN@[6; 7) "("
9 R_PAREN@[7; 8) ")"
10 WHITESPACE@[8; 9) " "
11 BLOCK@[9; 59)
12 L_CURLY@[9; 10) "{"
13 WHITESPACE@[10; 11) " "
14 LET_STMT@[11; 29)
15 LET_KW@[11; 14) "let"
16 WHITESPACE@[14; 15) " "
17 BIND_PAT@[15; 23)
18 NAME@[15; 23)
19 IDENT@[15; 23) "r#struct"
20 WHITESPACE@[23; 24) " "
21 EQ@[24; 25) "="
22 WHITESPACE@[25; 26) " "
23 LITERAL@[26; 28)
24 INT_NUMBER@[26; 28) "92"
25 SEMI@[28; 29) ";"
26 WHITESPACE@[29; 30) " "
27 LET_STMT@[30; 57)
28 LET_KW@[30; 33) "let"
29 WHITESPACE@[33; 34) " "
30 BIND_PAT@[34; 41)
31 NAME@[34; 41)
32 IDENT@[34; 41) "r#trait"
33 WHITESPACE@[41; 42) " "
34 EQ@[42; 43) "="
35 WHITESPACE@[43; 44) " "
36 BIN_EXPR@[44; 56)
37 PATH_EXPR@[44; 52)
38 PATH@[44; 52)
39 PATH_SEGMENT@[44; 52)
40 NAME_REF@[44; 52)
41 IDENT@[44; 52) "r#struct"
42 WHITESPACE@[52; 53) " "
43 STAR@[53; 54) "*"
44 WHITESPACE@[54; 55) " "
45 LITERAL@[55; 56)
46 INT_NUMBER@[55; 56) "2"
47 SEMI@[56; 57) ";"
48 WHITESPACE@[57; 58) " "
49 R_CURLY@[58; 59) "}"
diff --git a/crates/ra_syntax/tests/data/parser/ok/0042_ufcs_call_list.rs b/crates/ra_syntax/tests/data/parser/ok/0042_ufcs_call_list.rs
deleted file mode 100644
index 6c02e65ed..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0042_ufcs_call_list.rs
+++ /dev/null
@@ -1,15 +0,0 @@
1// https://github.com/rust-analyzer/rust-analyzer/issues/596
2
3struct Foo;
4
5impl Foo {
6 fn bar() -> bool {
7 unimplemented!()
8 }
9}
10
11fn baz(_: bool) {}
12
13fn main() {
14 baz(<Foo>::bar())
15}
diff --git a/crates/ra_syntax/tests/data/parser/ok/0042_ufcs_call_list.txt b/crates/ra_syntax/tests/data/parser/ok/0042_ufcs_call_list.txt
deleted file mode 100644
index 19951011e..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0042_ufcs_call_list.txt
+++ /dev/null
@@ -1,123 +0,0 @@
1SOURCE_FILE@[0; 199)
2 COMMENT@[0; 60) "// https://github.com ..."
3 WHITESPACE@[60; 62) "\n\n"
4 STRUCT_DEF@[62; 73)
5 STRUCT_KW@[62; 68) "struct"
6 WHITESPACE@[68; 69) " "
7 NAME@[69; 72)
8 IDENT@[69; 72) "Foo"
9 SEMI@[72; 73) ";"
10 WHITESPACE@[73; 75) "\n\n"
11 IMPL_BLOCK@[75; 141)
12 IMPL_KW@[75; 79) "impl"
13 WHITESPACE@[79; 80) " "
14 PATH_TYPE@[80; 83)
15 PATH@[80; 83)
16 PATH_SEGMENT@[80; 83)
17 NAME_REF@[80; 83)
18 IDENT@[80; 83) "Foo"
19 WHITESPACE@[83; 84) " "
20 ITEM_LIST@[84; 141)
21 L_CURLY@[84; 85) "{"
22 WHITESPACE@[85; 90) "\n "
23 FN_DEF@[90; 139)
24 FN_KW@[90; 92) "fn"
25 WHITESPACE@[92; 93) " "
26 NAME@[93; 96)
27 IDENT@[93; 96) "bar"
28 PARAM_LIST@[96; 98)
29 L_PAREN@[96; 97) "("
30 R_PAREN@[97; 98) ")"
31 WHITESPACE@[98; 99) " "
32 RET_TYPE@[99; 106)
33 THIN_ARROW@[99; 101) "->"
34 WHITESPACE@[101; 102) " "
35 PATH_TYPE@[102; 106)
36 PATH@[102; 106)
37 PATH_SEGMENT@[102; 106)
38 NAME_REF@[102; 106)
39 IDENT@[102; 106) "bool"
40 WHITESPACE@[106; 107) " "
41 BLOCK@[107; 139)
42 L_CURLY@[107; 108) "{"
43 WHITESPACE@[108; 117) "\n "
44 MACRO_CALL@[117; 133)
45 PATH@[117; 130)
46 PATH_SEGMENT@[117; 130)
47 NAME_REF@[117; 130)
48 IDENT@[117; 130) "unimplemented"
49 EXCL@[130; 131) "!"
50 TOKEN_TREE@[131; 133)
51 L_PAREN@[131; 132) "("
52 R_PAREN@[132; 133) ")"
53 WHITESPACE@[133; 138) "\n "
54 R_CURLY@[138; 139) "}"
55 WHITESPACE@[139; 140) "\n"
56 R_CURLY@[140; 141) "}"
57 WHITESPACE@[141; 143) "\n\n"
58 FN_DEF@[143; 161)
59 FN_KW@[143; 145) "fn"
60 WHITESPACE@[145; 146) " "
61 NAME@[146; 149)
62 IDENT@[146; 149) "baz"
63 PARAM_LIST@[149; 158)
64 L_PAREN@[149; 150) "("
65 PARAM@[150; 157)
66 PLACEHOLDER_PAT@[150; 151)
67 UNDERSCORE@[150; 151) "_"
68 COLON@[151; 152) ":"
69 WHITESPACE@[152; 153) " "
70 PATH_TYPE@[153; 157)
71 PATH@[153; 157)
72 PATH_SEGMENT@[153; 157)
73 NAME_REF@[153; 157)
74 IDENT@[153; 157) "bool"
75 R_PAREN@[157; 158) ")"
76 WHITESPACE@[158; 159) " "
77 BLOCK@[159; 161)
78 L_CURLY@[159; 160) "{"
79 R_CURLY@[160; 161) "}"
80 WHITESPACE@[161; 163) "\n\n"
81 FN_DEF@[163; 198)
82 FN_KW@[163; 165) "fn"
83 WHITESPACE@[165; 166) " "
84 NAME@[166; 170)
85 IDENT@[166; 170) "main"
86 PARAM_LIST@[170; 172)
87 L_PAREN@[170; 171) "("
88 R_PAREN@[171; 172) ")"
89 WHITESPACE@[172; 173) " "
90 BLOCK@[173; 198)
91 L_CURLY@[173; 174) "{"
92 WHITESPACE@[174; 179) "\n "
93 CALL_EXPR@[179; 196)
94 PATH_EXPR@[179; 182)
95 PATH@[179; 182)
96 PATH_SEGMENT@[179; 182)
97 NAME_REF@[179; 182)
98 IDENT@[179; 182) "baz"
99 ARG_LIST@[182; 196)
100 L_PAREN@[182; 183) "("
101 CALL_EXPR@[183; 195)
102 PATH_EXPR@[183; 193)
103 PATH@[183; 193)
104 PATH@[183; 188)
105 PATH_SEGMENT@[183; 188)
106 L_ANGLE@[183; 184) "<"
107 PATH_TYPE@[184; 187)
108 PATH@[184; 187)
109 PATH_SEGMENT@[184; 187)
110 NAME_REF@[184; 187)
111 IDENT@[184; 187) "Foo"
112 R_ANGLE@[187; 188) ">"
113 COLONCOLON@[188; 190) "::"
114 PATH_SEGMENT@[190; 193)
115 NAME_REF@[190; 193)
116 IDENT@[190; 193) "bar"
117 ARG_LIST@[193; 195)
118 L_PAREN@[193; 194) "("
119 R_PAREN@[194; 195) ")"
120 R_PAREN@[195; 196) ")"
121 WHITESPACE@[196; 197) "\n"
122 R_CURLY@[197; 198) "}"
123 WHITESPACE@[198; 199) "\n"
diff --git a/crates/ra_syntax/tests/data/parser/ok/0043_complex_assignment.rs b/crates/ra_syntax/tests/data/parser/ok/0043_complex_assignment.rs
deleted file mode 100644
index 7e4a28bf7..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0043_complex_assignment.rs
+++ /dev/null
@@ -1,8 +0,0 @@
1// https://github.com/rust-analyzer/rust-analyzer/issues/674
2
3struct Repr { raw: [u8; 1] }
4
5fn abc() {
6 Repr { raw: [0] }.raw[0] = 0;
7 Repr{raw:[0]}();
8}
diff --git a/crates/ra_syntax/tests/data/parser/ok/0043_complex_assignment.txt b/crates/ra_syntax/tests/data/parser/ok/0043_complex_assignment.txt
deleted file mode 100644
index ef47521bf..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0043_complex_assignment.txt
+++ /dev/null
@@ -1,109 +0,0 @@
1SOURCE_FILE@[0; 160)
2 COMMENT@[0; 60) "// https://github.com ..."
3 WHITESPACE@[60; 62) "\n\n"
4 STRUCT_DEF@[62; 90)
5 STRUCT_KW@[62; 68) "struct"
6 WHITESPACE@[68; 69) " "
7 NAME@[69; 73)
8 IDENT@[69; 73) "Repr"
9 WHITESPACE@[73; 74) " "
10 NAMED_FIELD_DEF_LIST@[74; 90)
11 L_CURLY@[74; 75) "{"
12 WHITESPACE@[75; 76) " "
13 NAMED_FIELD_DEF@[76; 88)
14 NAME@[76; 79)
15 IDENT@[76; 79) "raw"
16 COLON@[79; 80) ":"
17 WHITESPACE@[80; 81) " "
18 ARRAY_TYPE@[81; 88)
19 L_BRACK@[81; 82) "["
20 PATH_TYPE@[82; 84)
21 PATH@[82; 84)
22 PATH_SEGMENT@[82; 84)
23 NAME_REF@[82; 84)
24 IDENT@[82; 84) "u8"
25 SEMI@[84; 85) ";"
26 WHITESPACE@[85; 86) " "
27 LITERAL@[86; 87)
28 INT_NUMBER@[86; 87) "1"
29 R_BRACK@[87; 88) "]"
30 WHITESPACE@[88; 89) " "
31 R_CURLY@[89; 90) "}"
32 WHITESPACE@[90; 92) "\n\n"
33 FN_DEF@[92; 159)
34 FN_KW@[92; 94) "fn"
35 WHITESPACE@[94; 95) " "
36 NAME@[95; 98)
37 IDENT@[95; 98) "abc"
38 PARAM_LIST@[98; 100)
39 L_PAREN@[98; 99) "("
40 R_PAREN@[99; 100) ")"
41 WHITESPACE@[100; 101) " "
42 BLOCK@[101; 159)
43 L_CURLY@[101; 102) "{"
44 WHITESPACE@[102; 107) "\n "
45 EXPR_STMT@[107; 136)
46 BIN_EXPR@[107; 135)
47 INDEX_EXPR@[107; 131)
48 FIELD_EXPR@[107; 128)
49 STRUCT_LIT@[107; 124)
50 PATH@[107; 111)
51 PATH_SEGMENT@[107; 111)
52 NAME_REF@[107; 111)
53 IDENT@[107; 111) "Repr"
54 WHITESPACE@[111; 112) " "
55 NAMED_FIELD_LIST@[112; 124)
56 L_CURLY@[112; 113) "{"
57 WHITESPACE@[113; 114) " "
58 NAMED_FIELD@[114; 122)
59 NAME_REF@[114; 117)
60 IDENT@[114; 117) "raw"
61 COLON@[117; 118) ":"
62 WHITESPACE@[118; 119) " "
63 ARRAY_EXPR@[119; 122)
64 L_BRACK@[119; 120) "["
65 LITERAL@[120; 121)
66 INT_NUMBER@[120; 121) "0"
67 R_BRACK@[121; 122) "]"
68 WHITESPACE@[122; 123) " "
69 R_CURLY@[123; 124) "}"
70 DOT@[124; 125) "."
71 NAME_REF@[125; 128)
72 IDENT@[125; 128) "raw"
73 L_BRACK@[128; 129) "["
74 LITERAL@[129; 130)
75 INT_NUMBER@[129; 130) "0"
76 R_BRACK@[130; 131) "]"
77 WHITESPACE@[131; 132) " "
78 EQ@[132; 133) "="
79 WHITESPACE@[133; 134) " "
80 LITERAL@[134; 135)
81 INT_NUMBER@[134; 135) "0"
82 SEMI@[135; 136) ";"
83 WHITESPACE@[136; 141) "\n "
84 EXPR_STMT@[141; 157)
85 CALL_EXPR@[141; 156)
86 STRUCT_LIT@[141; 154)
87 PATH@[141; 145)
88 PATH_SEGMENT@[141; 145)
89 NAME_REF@[141; 145)
90 IDENT@[141; 145) "Repr"
91 NAMED_FIELD_LIST@[145; 154)
92 L_CURLY@[145; 146) "{"
93 NAMED_FIELD@[146; 153)
94 NAME_REF@[146; 149)
95 IDENT@[146; 149) "raw"
96 COLON@[149; 150) ":"
97 ARRAY_EXPR@[150; 153)
98 L_BRACK@[150; 151) "["
99 LITERAL@[151; 152)
100 INT_NUMBER@[151; 152) "0"
101 R_BRACK@[152; 153) "]"
102 R_CURLY@[153; 154) "}"
103 ARG_LIST@[154; 156)
104 L_PAREN@[154; 155) "("
105 R_PAREN@[155; 156) ")"
106 SEMI@[156; 157) ";"
107 WHITESPACE@[157; 158) "\n"
108 R_CURLY@[158; 159) "}"
109 WHITESPACE@[159; 160) "\n"
diff --git a/crates/ra_syntax/tests/data/parser/ok/0044_let_attrs.rs b/crates/ra_syntax/tests/data/parser/ok/0044_let_attrs.rs
deleted file mode 100644
index 325a97aeb..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0044_let_attrs.rs
+++ /dev/null
@@ -1,5 +0,0 @@
1// https://github.com/rust-analyzer/rust-analyzer/issues/677
2fn main() {
3 #[cfg(feature = "backtrace")]
4 let exit_code = panic::catch_unwind(move || main());
5}
diff --git a/crates/ra_syntax/tests/data/parser/ok/0044_let_attrs.txt b/crates/ra_syntax/tests/data/parser/ok/0044_let_attrs.txt
deleted file mode 100644
index b928adaad..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0044_let_attrs.txt
+++ /dev/null
@@ -1,73 +0,0 @@
1SOURCE_FILE@[0; 166)
2 FN_DEF@[0; 165)
3 COMMENT@[0; 60) "// https://github.com ..."
4 WHITESPACE@[60; 61) "\n"
5 FN_KW@[61; 63) "fn"
6 WHITESPACE@[63; 64) " "
7 NAME@[64; 68)
8 IDENT@[64; 68) "main"
9 PARAM_LIST@[68; 70)
10 L_PAREN@[68; 69) "("
11 R_PAREN@[69; 70) ")"
12 WHITESPACE@[70; 71) " "
13 BLOCK@[71; 165)
14 L_CURLY@[71; 72) "{"
15 WHITESPACE@[72; 77) "\n "
16 LET_STMT@[77; 163)
17 ATTR@[77; 106)
18 POUND@[77; 78) "#"
19 TOKEN_TREE@[78; 106)
20 L_BRACK@[78; 79) "["
21 IDENT@[79; 82) "cfg"
22 TOKEN_TREE@[82; 105)
23 L_PAREN@[82; 83) "("
24 IDENT@[83; 90) "feature"
25 WHITESPACE@[90; 91) " "
26 EQ@[91; 92) "="
27 WHITESPACE@[92; 93) " "
28 STRING@[93; 104) "\"backtrace\""
29 R_PAREN@[104; 105) ")"
30 R_BRACK@[105; 106) "]"
31 WHITESPACE@[106; 111) "\n "
32 LET_KW@[111; 114) "let"
33 WHITESPACE@[114; 115) " "
34 BIND_PAT@[115; 124)
35 NAME@[115; 124)
36 IDENT@[115; 124) "exit_code"
37 WHITESPACE@[124; 125) " "
38 EQ@[125; 126) "="
39 WHITESPACE@[126; 127) " "
40 CALL_EXPR@[127; 162)
41 PATH_EXPR@[127; 146)
42 PATH@[127; 146)
43 PATH@[127; 132)
44 PATH_SEGMENT@[127; 132)
45 NAME_REF@[127; 132)
46 IDENT@[127; 132) "panic"
47 COLONCOLON@[132; 134) "::"
48 PATH_SEGMENT@[134; 146)
49 NAME_REF@[134; 146)
50 IDENT@[134; 146) "catch_unwind"
51 ARG_LIST@[146; 162)
52 L_PAREN@[146; 147) "("
53 LAMBDA_EXPR@[147; 161)
54 MOVE_KW@[147; 151) "move"
55 WHITESPACE@[151; 152) " "
56 PARAM_LIST@[152; 154)
57 PIPE@[152; 153) "|"
58 PIPE@[153; 154) "|"
59 WHITESPACE@[154; 155) " "
60 CALL_EXPR@[155; 161)
61 PATH_EXPR@[155; 159)
62 PATH@[155; 159)
63 PATH_SEGMENT@[155; 159)
64 NAME_REF@[155; 159)
65 IDENT@[155; 159) "main"
66 ARG_LIST@[159; 161)
67 L_PAREN@[159; 160) "("
68 R_PAREN@[160; 161) ")"
69 R_PAREN@[161; 162) ")"
70 SEMI@[162; 163) ";"
71 WHITESPACE@[163; 164) "\n"
72 R_CURLY@[164; 165) "}"
73 WHITESPACE@[165; 166) "\n"
diff --git a/crates/ra_syntax/tests/data/parser/ok/0045_block_inner_attrs.rs b/crates/ra_syntax/tests/data/parser/ok/0045_block_inner_attrs.rs
deleted file mode 100644
index 88df8138e..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0045_block_inner_attrs.rs
+++ /dev/null
@@ -1,20 +0,0 @@
1fn block() {
2 #![doc("Inner attributes allowed here")]
3 //! As are ModuleDoc style comments
4 {
5 #![doc("Inner attributes are allowed in blocks used as statements")]
6 #![doc("Being validated is not affected by duplcates")]
7 //! As are ModuleDoc style comments
8 };
9 {
10 #![doc("Inner attributes are allowed in blocks when they are the last statement of another block")]
11 //! As are ModuleDoc style comments
12 }
13}
14
15// https://github.com/rust-analyzer/rust-analyzer/issues/689
16impl Whatever {
17 fn salsa_event(&self, event_fn: impl Fn() -> Event<Self>) {
18 #![allow(unused_variables)] // this is `inner_attr` of the block
19 }
20}
diff --git a/crates/ra_syntax/tests/data/parser/ok/0045_block_inner_attrs.txt b/crates/ra_syntax/tests/data/parser/ok/0045_block_inner_attrs.txt
deleted file mode 100644
index f6d3bf302..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0045_block_inner_attrs.txt
+++ /dev/null
@@ -1,169 +0,0 @@
1SOURCE_FILE@[0; 686)
2 FN_DEF@[0; 461)
3 FN_KW@[0; 2) "fn"
4 WHITESPACE@[2; 3) " "
5 NAME@[3; 8)
6 IDENT@[3; 8) "block"
7 PARAM_LIST@[8; 10)
8 L_PAREN@[8; 9) "("
9 R_PAREN@[9; 10) ")"
10 WHITESPACE@[10; 11) " "
11 BLOCK@[11; 461)
12 L_CURLY@[11; 12) "{"
13 WHITESPACE@[12; 17) "\n "
14 ATTR@[17; 57)
15 POUND@[17; 18) "#"
16 EXCL@[18; 19) "!"
17 TOKEN_TREE@[19; 57)
18 L_BRACK@[19; 20) "["
19 IDENT@[20; 23) "doc"
20 TOKEN_TREE@[23; 56)
21 L_PAREN@[23; 24) "("
22 STRING@[24; 55) "\"Inner attributes all ..."
23 R_PAREN@[55; 56) ")"
24 R_BRACK@[56; 57) "]"
25 WHITESPACE@[57; 62) "\n "
26 COMMENT@[62; 97) "//! As are ModuleDoc ..."
27 WHITESPACE@[97; 102) "\n "
28 EXPR_STMT@[102; 295)
29 BLOCK_EXPR@[102; 294)
30 BLOCK@[102; 294)
31 L_CURLY@[102; 103) "{"
32 WHITESPACE@[103; 112) "\n "
33 ATTR@[112; 180)
34 POUND@[112; 113) "#"
35 EXCL@[113; 114) "!"
36 TOKEN_TREE@[114; 180)
37 L_BRACK@[114; 115) "["
38 IDENT@[115; 118) "doc"
39 TOKEN_TREE@[118; 179)
40 L_PAREN@[118; 119) "("
41 STRING@[119; 178) "\"Inner attributes are ..."
42 R_PAREN@[178; 179) ")"
43 R_BRACK@[179; 180) "]"
44 WHITESPACE@[180; 189) "\n "
45 ATTR@[189; 244)
46 POUND@[189; 190) "#"
47 EXCL@[190; 191) "!"
48 TOKEN_TREE@[191; 244)
49 L_BRACK@[191; 192) "["
50 IDENT@[192; 195) "doc"
51 TOKEN_TREE@[195; 243)
52 L_PAREN@[195; 196) "("
53 STRING@[196; 242) "\"Being validated is n ..."
54 R_PAREN@[242; 243) ")"
55 R_BRACK@[243; 244) "]"
56 WHITESPACE@[244; 253) "\n "
57 COMMENT@[253; 288) "//! As are ModuleDoc ..."
58 WHITESPACE@[288; 293) "\n "
59 R_CURLY@[293; 294) "}"
60 SEMI@[294; 295) ";"
61 WHITESPACE@[295; 300) "\n "
62 BLOCK_EXPR@[300; 459)
63 BLOCK@[300; 459)
64 L_CURLY@[300; 301) "{"
65 WHITESPACE@[301; 310) "\n "
66 ATTR@[310; 409)
67 POUND@[310; 311) "#"
68 EXCL@[311; 312) "!"
69 TOKEN_TREE@[312; 409)
70 L_BRACK@[312; 313) "["
71 IDENT@[313; 316) "doc"
72 TOKEN_TREE@[316; 408)
73 L_PAREN@[316; 317) "("
74 STRING@[317; 407) "\"Inner attributes are ..."
75 R_PAREN@[407; 408) ")"
76 R_BRACK@[408; 409) "]"
77 WHITESPACE@[409; 418) "\n "
78 COMMENT@[418; 453) "//! As are ModuleDoc ..."
79 WHITESPACE@[453; 458) "\n "
80 R_CURLY@[458; 459) "}"
81 WHITESPACE@[459; 460) "\n"
82 R_CURLY@[460; 461) "}"
83 WHITESPACE@[461; 463) "\n\n"
84 COMMENT@[463; 523) "// https://github.com ..."
85 WHITESPACE@[523; 524) "\n"
86 IMPL_BLOCK@[524; 685)
87 IMPL_KW@[524; 528) "impl"
88 WHITESPACE@[528; 529) " "
89 PATH_TYPE@[529; 537)
90 PATH@[529; 537)
91 PATH_SEGMENT@[529; 537)
92 NAME_REF@[529; 537)
93 IDENT@[529; 537) "Whatever"
94 WHITESPACE@[537; 538) " "
95 ITEM_LIST@[538; 685)
96 L_CURLY@[538; 539) "{"
97 WHITESPACE@[539; 544) "\n "
98 FN_DEF@[544; 683)
99 FN_KW@[544; 546) "fn"
100 WHITESPACE@[546; 547) " "
101 NAME@[547; 558)
102 IDENT@[547; 558) "salsa_event"
103 PARAM_LIST@[558; 601)
104 L_PAREN@[558; 559) "("
105 SELF_PARAM@[559; 564)
106 AMP@[559; 560) "&"
107 SELF_KW@[560; 564) "self"
108 COMMA@[564; 565) ","
109 WHITESPACE@[565; 566) " "
110 PARAM@[566; 600)
111 BIND_PAT@[566; 574)
112 NAME@[566; 574)
113 IDENT@[566; 574) "event_fn"
114 COLON@[574; 575) ":"
115 WHITESPACE@[575; 576) " "
116 IMPL_TRAIT_TYPE@[576; 600)
117 IMPL_KW@[576; 580) "impl"
118 WHITESPACE@[580; 581) " "
119 TYPE_BOUND_LIST@[581; 600)
120 TYPE_BOUND@[581; 600)
121 PATH_TYPE@[581; 600)
122 PATH@[581; 600)
123 PATH_SEGMENT@[581; 600)
124 NAME_REF@[581; 583)
125 IDENT@[581; 583) "Fn"
126 PARAM_LIST@[583; 585)
127 L_PAREN@[583; 584) "("
128 R_PAREN@[584; 585) ")"
129 WHITESPACE@[585; 586) " "
130 RET_TYPE@[586; 600)
131 THIN_ARROW@[586; 588) "->"
132 WHITESPACE@[588; 589) " "
133 PATH_TYPE@[589; 600)
134 PATH@[589; 600)
135 PATH_SEGMENT@[589; 600)
136 NAME_REF@[589; 594)
137 IDENT@[589; 594) "Event"
138 TYPE_ARG_LIST@[594; 600)
139 L_ANGLE@[594; 595) "<"
140 TYPE_ARG@[595; 599)
141 PATH_TYPE@[595; 599)
142 PATH@[595; 599)
143 PATH_SEGMENT@[595; 599)
144 NAME_REF@[595; 599)
145 IDENT@[595; 599) "Self"
146 R_ANGLE@[599; 600) ">"
147 R_PAREN@[600; 601) ")"
148 WHITESPACE@[601; 602) " "
149 BLOCK@[602; 683)
150 L_CURLY@[602; 603) "{"
151 WHITESPACE@[603; 612) "\n "
152 ATTR@[612; 639)
153 POUND@[612; 613) "#"
154 EXCL@[613; 614) "!"
155 TOKEN_TREE@[614; 639)
156 L_BRACK@[614; 615) "["
157 IDENT@[615; 620) "allow"
158 TOKEN_TREE@[620; 638)
159 L_PAREN@[620; 621) "("
160 IDENT@[621; 637) "unused_variables"
161 R_PAREN@[637; 638) ")"
162 R_BRACK@[638; 639) "]"
163 WHITESPACE@[639; 640) " "
164 COMMENT@[640; 677) "// this is `inner_at ..."
165 WHITESPACE@[677; 682) "\n "
166 R_CURLY@[682; 683) "}"
167 WHITESPACE@[683; 684) "\n"
168 R_CURLY@[684; 685) "}"
169 WHITESPACE@[685; 686) "\n"
diff --git a/crates/ra_syntax/tests/data/parser/ok/0046_extern_inner_attributes.rs b/crates/ra_syntax/tests/data/parser/ok/0046_extern_inner_attributes.rs
deleted file mode 100644
index fe67e2df4..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0046_extern_inner_attributes.rs
+++ /dev/null
@@ -1,4 +0,0 @@
1extern "C" {
2 //! This is a doc comment
3 #![doc("This is also a doc comment")]
4}
diff --git a/crates/ra_syntax/tests/data/parser/ok/0046_extern_inner_attributes.txt b/crates/ra_syntax/tests/data/parser/ok/0046_extern_inner_attributes.txt
deleted file mode 100644
index 4487a6e2e..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0046_extern_inner_attributes.txt
+++ /dev/null
@@ -1,26 +0,0 @@
1SOURCE_FILE@[0; 87)
2 EXTERN_BLOCK@[0; 86)
3 ABI@[0; 10)
4 EXTERN_KW@[0; 6) "extern"
5 WHITESPACE@[6; 7) " "
6 STRING@[7; 10) "\"C\""
7 WHITESPACE@[10; 11) " "
8 EXTERN_ITEM_LIST@[11; 86)
9 L_CURLY@[11; 12) "{"
10 WHITESPACE@[12; 17) "\n "
11 COMMENT@[17; 42) "//! This is a doc com ..."
12 WHITESPACE@[42; 47) "\n "
13 ATTR@[47; 84)
14 POUND@[47; 48) "#"
15 EXCL@[48; 49) "!"
16 TOKEN_TREE@[49; 84)
17 L_BRACK@[49; 50) "["
18 IDENT@[50; 53) "doc"
19 TOKEN_TREE@[53; 83)
20 L_PAREN@[53; 54) "("
21 STRING@[54; 82) "\"This is also a doc c ..."
22 R_PAREN@[82; 83) ")"
23 R_BRACK@[83; 84) "]"
24 WHITESPACE@[84; 85) "\n"
25 R_CURLY@[85; 86) "}"
26 WHITESPACE@[86; 87) "\n"
diff --git a/crates/ra_syntax/tests/data/parser/ok/0047_minus_in_inner_pattern.rs b/crates/ra_syntax/tests/data/parser/ok/0047_minus_in_inner_pattern.rs
deleted file mode 100644
index bbd6b0f6e..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0047_minus_in_inner_pattern.rs
+++ /dev/null
@@ -1,27 +0,0 @@
1// https://github.com/rust-analyzer/rust-analyzer/issues/972
2
3fn main() {
4 match Some(-1) {
5 Some(-1) => (),
6 _ => (),
7 }
8
9 match Some((-1, -1)) {
10 Some((-1, -1)) => (),
11 _ => (),
12 }
13
14 match A::B(-1, -1) {
15 A::B(-1, -1) => (),
16 _ => (),
17 }
18
19 if let Some(-1) = Some(-1) {
20 }
21}
22
23enum A {
24 B(i8, i8)
25}
26
27fn foo(-128..=127: i8) {}
diff --git a/crates/ra_syntax/tests/data/parser/ok/0047_minus_in_inner_pattern.txt b/crates/ra_syntax/tests/data/parser/ok/0047_minus_in_inner_pattern.txt
deleted file mode 100644
index 917b50ddf..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0047_minus_in_inner_pattern.txt
+++ /dev/null
@@ -1,320 +0,0 @@
1SOURCE_FILE@[0; 395)
2 COMMENT@[0; 60) "// https://github.com ..."
3 WHITESPACE@[60; 62) "\n\n"
4 FN_DEF@[62; 341)
5 FN_KW@[62; 64) "fn"
6 WHITESPACE@[64; 65) " "
7 NAME@[65; 69)
8 IDENT@[65; 69) "main"
9 PARAM_LIST@[69; 71)
10 L_PAREN@[69; 70) "("
11 R_PAREN@[70; 71) ")"
12 WHITESPACE@[71; 72) " "
13 BLOCK@[72; 341)
14 L_CURLY@[72; 73) "{"
15 WHITESPACE@[73; 78) "\n "
16 EXPR_STMT@[78; 141)
17 MATCH_EXPR@[78; 141)
18 MATCH_KW@[78; 83) "match"
19 WHITESPACE@[83; 84) " "
20 CALL_EXPR@[84; 92)
21 PATH_EXPR@[84; 88)
22 PATH@[84; 88)
23 PATH_SEGMENT@[84; 88)
24 NAME_REF@[84; 88)
25 IDENT@[84; 88) "Some"
26 ARG_LIST@[88; 92)
27 L_PAREN@[88; 89) "("
28 PREFIX_EXPR@[89; 91)
29 MINUS@[89; 90) "-"
30 LITERAL@[90; 91)
31 INT_NUMBER@[90; 91) "1"
32 R_PAREN@[91; 92) ")"
33 WHITESPACE@[92; 93) " "
34 MATCH_ARM_LIST@[93; 141)
35 L_CURLY@[93; 94) "{"
36 WHITESPACE@[94; 103) "\n "
37 MATCH_ARM@[103; 117)
38 TUPLE_STRUCT_PAT@[103; 111)
39 PATH@[103; 107)
40 PATH_SEGMENT@[103; 107)
41 NAME_REF@[103; 107)
42 IDENT@[103; 107) "Some"
43 L_PAREN@[107; 108) "("
44 LITERAL_PAT@[108; 110)
45 MINUS@[108; 109) "-"
46 LITERAL@[109; 110)
47 INT_NUMBER@[109; 110) "1"
48 R_PAREN@[110; 111) ")"
49 WHITESPACE@[111; 112) " "
50 FAT_ARROW@[112; 114) "=>"
51 WHITESPACE@[114; 115) " "
52 TUPLE_EXPR@[115; 117)
53 L_PAREN@[115; 116) "("
54 R_PAREN@[116; 117) ")"
55 COMMA@[117; 118) ","
56 WHITESPACE@[118; 127) "\n "
57 MATCH_ARM@[127; 134)
58 PLACEHOLDER_PAT@[127; 128)
59 UNDERSCORE@[127; 128) "_"
60 WHITESPACE@[128; 129) " "
61 FAT_ARROW@[129; 131) "=>"
62 WHITESPACE@[131; 132) " "
63 TUPLE_EXPR@[132; 134)
64 L_PAREN@[132; 133) "("
65 R_PAREN@[133; 134) ")"
66 COMMA@[134; 135) ","
67 WHITESPACE@[135; 140) "\n "
68 R_CURLY@[140; 141) "}"
69 WHITESPACE@[141; 147) "\n\n "
70 EXPR_STMT@[147; 222)
71 MATCH_EXPR@[147; 222)
72 MATCH_KW@[147; 152) "match"
73 WHITESPACE@[152; 153) " "
74 CALL_EXPR@[153; 167)
75 PATH_EXPR@[153; 157)
76 PATH@[153; 157)
77 PATH_SEGMENT@[153; 157)
78 NAME_REF@[153; 157)
79 IDENT@[153; 157) "Some"
80 ARG_LIST@[157; 167)
81 L_PAREN@[157; 158) "("
82 TUPLE_EXPR@[158; 166)
83 L_PAREN@[158; 159) "("
84 PREFIX_EXPR@[159; 161)
85 MINUS@[159; 160) "-"
86 LITERAL@[160; 161)
87 INT_NUMBER@[160; 161) "1"
88 COMMA@[161; 162) ","
89 WHITESPACE@[162; 163) " "
90 PREFIX_EXPR@[163; 165)
91 MINUS@[163; 164) "-"
92 LITERAL@[164; 165)
93 INT_NUMBER@[164; 165) "1"
94 R_PAREN@[165; 166) ")"
95 R_PAREN@[166; 167) ")"
96 WHITESPACE@[167; 168) " "
97 MATCH_ARM_LIST@[168; 222)
98 L_CURLY@[168; 169) "{"
99 WHITESPACE@[169; 178) "\n "
100 MATCH_ARM@[178; 198)
101 TUPLE_STRUCT_PAT@[178; 192)
102 PATH@[178; 182)
103 PATH_SEGMENT@[178; 182)
104 NAME_REF@[178; 182)
105 IDENT@[178; 182) "Some"
106 L_PAREN@[182; 183) "("
107 TUPLE_PAT@[183; 191)
108 L_PAREN@[183; 184) "("
109 LITERAL_PAT@[184; 186)
110 MINUS@[184; 185) "-"
111 LITERAL@[185; 186)
112 INT_NUMBER@[185; 186) "1"
113 COMMA@[186; 187) ","
114 WHITESPACE@[187; 188) " "
115 LITERAL_PAT@[188; 190)
116 MINUS@[188; 189) "-"
117 LITERAL@[189; 190)
118 INT_NUMBER@[189; 190) "1"
119 R_PAREN@[190; 191) ")"
120 R_PAREN@[191; 192) ")"
121 WHITESPACE@[192; 193) " "
122 FAT_ARROW@[193; 195) "=>"
123 WHITESPACE@[195; 196) " "
124 TUPLE_EXPR@[196; 198)
125 L_PAREN@[196; 197) "("
126 R_PAREN@[197; 198) ")"
127 COMMA@[198; 199) ","
128 WHITESPACE@[199; 208) "\n "
129 MATCH_ARM@[208; 215)
130 PLACEHOLDER_PAT@[208; 209)
131 UNDERSCORE@[208; 209) "_"
132 WHITESPACE@[209; 210) " "
133 FAT_ARROW@[210; 212) "=>"
134 WHITESPACE@[212; 213) " "
135 TUPLE_EXPR@[213; 215)
136 L_PAREN@[213; 214) "("
137 R_PAREN@[214; 215) ")"
138 COMMA@[215; 216) ","
139 WHITESPACE@[216; 221) "\n "
140 R_CURLY@[221; 222) "}"
141 WHITESPACE@[222; 228) "\n\n "
142 EXPR_STMT@[228; 299)
143 MATCH_EXPR@[228; 299)
144 MATCH_KW@[228; 233) "match"
145 WHITESPACE@[233; 234) " "
146 CALL_EXPR@[234; 246)
147 PATH_EXPR@[234; 238)
148 PATH@[234; 238)
149 PATH@[234; 235)
150 PATH_SEGMENT@[234; 235)
151 NAME_REF@[234; 235)
152 IDENT@[234; 235) "A"
153 COLONCOLON@[235; 237) "::"
154 PATH_SEGMENT@[237; 238)
155 NAME_REF@[237; 238)
156 IDENT@[237; 238) "B"
157 ARG_LIST@[238; 246)
158 L_PAREN@[238; 239) "("
159 PREFIX_EXPR@[239; 241)
160 MINUS@[239; 240) "-"
161 LITERAL@[240; 241)
162 INT_NUMBER@[240; 241) "1"
163 COMMA@[241; 242) ","
164 WHITESPACE@[242; 243) " "
165 PREFIX_EXPR@[243; 245)
166 MINUS@[243; 244) "-"
167 LITERAL@[244; 245)
168 INT_NUMBER@[244; 245) "1"
169 R_PAREN@[245; 246) ")"
170 WHITESPACE@[246; 247) " "
171 MATCH_ARM_LIST@[247; 299)
172 L_CURLY@[247; 248) "{"
173 WHITESPACE@[248; 257) "\n "
174 MATCH_ARM@[257; 275)
175 TUPLE_STRUCT_PAT@[257; 269)
176 PATH@[257; 261)
177 PATH@[257; 258)
178 PATH_SEGMENT@[257; 258)
179 NAME_REF@[257; 258)
180 IDENT@[257; 258) "A"
181 COLONCOLON@[258; 260) "::"
182 PATH_SEGMENT@[260; 261)
183 NAME_REF@[260; 261)
184 IDENT@[260; 261) "B"
185 L_PAREN@[261; 262) "("
186 LITERAL_PAT@[262; 264)
187 MINUS@[262; 263) "-"
188 LITERAL@[263; 264)
189 INT_NUMBER@[263; 264) "1"
190 COMMA@[264; 265) ","
191 WHITESPACE@[265; 266) " "
192 LITERAL_PAT@[266; 268)
193 MINUS@[266; 267) "-"
194 LITERAL@[267; 268)
195 INT_NUMBER@[267; 268) "1"
196 R_PAREN@[268; 269) ")"
197 WHITESPACE@[269; 270) " "
198 FAT_ARROW@[270; 272) "=>"
199 WHITESPACE@[272; 273) " "
200 TUPLE_EXPR@[273; 275)
201 L_PAREN@[273; 274) "("
202 R_PAREN@[274; 275) ")"
203 COMMA@[275; 276) ","
204 WHITESPACE@[276; 285) "\n "
205 MATCH_ARM@[285; 292)
206 PLACEHOLDER_PAT@[285; 286)
207 UNDERSCORE@[285; 286) "_"
208 WHITESPACE@[286; 287) " "
209 FAT_ARROW@[287; 289) "=>"
210 WHITESPACE@[289; 290) " "
211 TUPLE_EXPR@[290; 292)
212 L_PAREN@[290; 291) "("
213 R_PAREN@[291; 292) ")"
214 COMMA@[292; 293) ","
215 WHITESPACE@[293; 298) "\n "
216 R_CURLY@[298; 299) "}"
217 WHITESPACE@[299; 305) "\n\n "
218 IF_EXPR@[305; 339)
219 IF_KW@[305; 307) "if"
220 WHITESPACE@[307; 308) " "
221 CONDITION@[308; 331)
222 LET_KW@[308; 311) "let"
223 WHITESPACE@[311; 312) " "
224 TUPLE_STRUCT_PAT@[312; 320)
225 PATH@[312; 316)
226 PATH_SEGMENT@[312; 316)
227 NAME_REF@[312; 316)
228 IDENT@[312; 316) "Some"
229 L_PAREN@[316; 317) "("
230 LITERAL_PAT@[317; 319)
231 MINUS@[317; 318) "-"
232 LITERAL@[318; 319)
233 INT_NUMBER@[318; 319) "1"
234 R_PAREN@[319; 320) ")"
235 WHITESPACE@[320; 321) " "
236 EQ@[321; 322) "="
237 WHITESPACE@[322; 323) " "
238 CALL_EXPR@[323; 331)
239 PATH_EXPR@[323; 327)
240 PATH@[323; 327)
241 PATH_SEGMENT@[323; 327)
242 NAME_REF@[323; 327)
243 IDENT@[323; 327) "Some"
244 ARG_LIST@[327; 331)
245 L_PAREN@[327; 328) "("
246 PREFIX_EXPR@[328; 330)
247 MINUS@[328; 329) "-"
248 LITERAL@[329; 330)
249 INT_NUMBER@[329; 330) "1"
250 R_PAREN@[330; 331) ")"
251 WHITESPACE@[331; 332) " "
252 BLOCK@[332; 339)
253 L_CURLY@[332; 333) "{"
254 WHITESPACE@[333; 338) "\n "
255 R_CURLY@[338; 339) "}"
256 WHITESPACE@[339; 340) "\n"
257 R_CURLY@[340; 341) "}"
258 WHITESPACE@[341; 343) "\n\n"
259 ENUM_DEF@[343; 367)
260 ENUM_KW@[343; 347) "enum"
261 WHITESPACE@[347; 348) " "
262 NAME@[348; 349)
263 IDENT@[348; 349) "A"
264 WHITESPACE@[349; 350) " "
265 ENUM_VARIANT_LIST@[350; 367)
266 L_CURLY@[350; 351) "{"
267 WHITESPACE@[351; 356) "\n "
268 ENUM_VARIANT@[356; 365)
269 NAME@[356; 357)
270 IDENT@[356; 357) "B"
271 POS_FIELD_DEF_LIST@[357; 365)
272 L_PAREN@[357; 358) "("
273 POS_FIELD_DEF@[358; 360)
274 PATH_TYPE@[358; 360)
275 PATH@[358; 360)
276 PATH_SEGMENT@[358; 360)
277 NAME_REF@[358; 360)
278 IDENT@[358; 360) "i8"
279 COMMA@[360; 361) ","
280 WHITESPACE@[361; 362) " "
281 POS_FIELD_DEF@[362; 364)
282 PATH_TYPE@[362; 364)
283 PATH@[362; 364)
284 PATH_SEGMENT@[362; 364)
285 NAME_REF@[362; 364)
286 IDENT@[362; 364) "i8"
287 R_PAREN@[364; 365) ")"
288 WHITESPACE@[365; 366) "\n"
289 R_CURLY@[366; 367) "}"
290 WHITESPACE@[367; 369) "\n\n"
291 FN_DEF@[369; 394)
292 FN_KW@[369; 371) "fn"
293 WHITESPACE@[371; 372) " "
294 NAME@[372; 375)
295 IDENT@[372; 375) "foo"
296 PARAM_LIST@[375; 391)
297 L_PAREN@[375; 376) "("
298 PARAM@[376; 390)
299 RANGE_PAT@[376; 386)
300 LITERAL_PAT@[376; 380)
301 MINUS@[376; 377) "-"
302 LITERAL@[377; 380)
303 INT_NUMBER@[377; 380) "128"
304 DOTDOTEQ@[380; 383) "..="
305 LITERAL_PAT@[383; 386)
306 LITERAL@[383; 386)
307 INT_NUMBER@[383; 386) "127"
308 COLON@[386; 387) ":"
309 WHITESPACE@[387; 388) " "
310 PATH_TYPE@[388; 390)
311 PATH@[388; 390)
312 PATH_SEGMENT@[388; 390)
313 NAME_REF@[388; 390)
314 IDENT@[388; 390) "i8"
315 R_PAREN@[390; 391) ")"
316 WHITESPACE@[391; 392) " "
317 BLOCK@[392; 394)
318 L_CURLY@[392; 393) "{"
319 R_CURLY@[393; 394) "}"
320 WHITESPACE@[394; 395) "\n"
diff --git a/crates/ra_syntax/tests/data/parser/ok/0048_compound_assignment.rs b/crates/ra_syntax/tests/data/parser/ok/0048_compound_assignment.rs
deleted file mode 100644
index 871720a49..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0048_compound_assignment.rs
+++ /dev/null
@@ -1,17 +0,0 @@
1// https://github.com/rust-analyzer/rust-analyzer/pull/983
2
3fn compound_assignment() {
4 let mut a = 0;
5 a += 1;
6 a -= 2;
7 a *= 3;
8 a %= 4;
9 a /= 5;
10 a |= 6;
11 a &= 7;
12 a ^= 8;
13 a <= 9;
14 a >= 10;
15 a >>= 11;
16 a <<= 12;
17}
diff --git a/crates/ra_syntax/tests/data/parser/ok/0048_compound_assignment.txt b/crates/ra_syntax/tests/data/parser/ok/0048_compound_assignment.txt
deleted file mode 100644
index 3fca4993a..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0048_compound_assignment.txt
+++ /dev/null
@@ -1,200 +0,0 @@
1SOURCE_FILE@[0; 257)
2 COMMENT@[0; 58) "// https://github.com ..."
3 WHITESPACE@[58; 60) "\n\n"
4 FN_DEF@[60; 256)
5 FN_KW@[60; 62) "fn"
6 WHITESPACE@[62; 63) " "
7 NAME@[63; 82)
8 IDENT@[63; 82) "compound_assignment"
9 PARAM_LIST@[82; 84)
10 L_PAREN@[82; 83) "("
11 R_PAREN@[83; 84) ")"
12 WHITESPACE@[84; 85) " "
13 BLOCK@[85; 256)
14 L_CURLY@[85; 86) "{"
15 WHITESPACE@[86; 91) "\n "
16 LET_STMT@[91; 105)
17 LET_KW@[91; 94) "let"
18 WHITESPACE@[94; 95) " "
19 BIND_PAT@[95; 100)
20 MUT_KW@[95; 98) "mut"
21 WHITESPACE@[98; 99) " "
22 NAME@[99; 100)
23 IDENT@[99; 100) "a"
24 WHITESPACE@[100; 101) " "
25 EQ@[101; 102) "="
26 WHITESPACE@[102; 103) " "
27 LITERAL@[103; 104)
28 INT_NUMBER@[103; 104) "0"
29 SEMI@[104; 105) ";"
30 WHITESPACE@[105; 110) "\n "
31 EXPR_STMT@[110; 117)
32 BIN_EXPR@[110; 116)
33 PATH_EXPR@[110; 111)
34 PATH@[110; 111)
35 PATH_SEGMENT@[110; 111)
36 NAME_REF@[110; 111)
37 IDENT@[110; 111) "a"
38 WHITESPACE@[111; 112) " "
39 PLUSEQ@[112; 114) "+="
40 WHITESPACE@[114; 115) " "
41 LITERAL@[115; 116)
42 INT_NUMBER@[115; 116) "1"
43 SEMI@[116; 117) ";"
44 WHITESPACE@[117; 122) "\n "
45 EXPR_STMT@[122; 129)
46 BIN_EXPR@[122; 128)
47 PATH_EXPR@[122; 123)
48 PATH@[122; 123)
49 PATH_SEGMENT@[122; 123)
50 NAME_REF@[122; 123)
51 IDENT@[122; 123) "a"
52 WHITESPACE@[123; 124) " "
53 MINUSEQ@[124; 126) "-="
54 WHITESPACE@[126; 127) " "
55 LITERAL@[127; 128)
56 INT_NUMBER@[127; 128) "2"
57 SEMI@[128; 129) ";"
58 WHITESPACE@[129; 134) "\n "
59 EXPR_STMT@[134; 141)
60 BIN_EXPR@[134; 140)
61 PATH_EXPR@[134; 135)
62 PATH@[134; 135)
63 PATH_SEGMENT@[134; 135)
64 NAME_REF@[134; 135)
65 IDENT@[134; 135) "a"
66 WHITESPACE@[135; 136) " "
67 STAREQ@[136; 138) "*="
68 WHITESPACE@[138; 139) " "
69 LITERAL@[139; 140)
70 INT_NUMBER@[139; 140) "3"
71 SEMI@[140; 141) ";"
72 WHITESPACE@[141; 146) "\n "
73 EXPR_STMT@[146; 153)
74 BIN_EXPR@[146; 152)
75 PATH_EXPR@[146; 147)
76 PATH@[146; 147)
77 PATH_SEGMENT@[146; 147)
78 NAME_REF@[146; 147)
79 IDENT@[146; 147) "a"
80 WHITESPACE@[147; 148) " "
81 PERCENTEQ@[148; 150) "%="
82 WHITESPACE@[150; 151) " "
83 LITERAL@[151; 152)
84 INT_NUMBER@[151; 152) "4"
85 SEMI@[152; 153) ";"
86 WHITESPACE@[153; 158) "\n "
87 EXPR_STMT@[158; 165)
88 BIN_EXPR@[158; 164)
89 PATH_EXPR@[158; 159)
90 PATH@[158; 159)
91 PATH_SEGMENT@[158; 159)
92 NAME_REF@[158; 159)
93 IDENT@[158; 159) "a"
94 WHITESPACE@[159; 160) " "
95 SLASHEQ@[160; 162) "/="
96 WHITESPACE@[162; 163) " "
97 LITERAL@[163; 164)
98 INT_NUMBER@[163; 164) "5"
99 SEMI@[164; 165) ";"
100 WHITESPACE@[165; 170) "\n "
101 EXPR_STMT@[170; 177)
102 BIN_EXPR@[170; 176)
103 PATH_EXPR@[170; 171)
104 PATH@[170; 171)
105 PATH_SEGMENT@[170; 171)
106 NAME_REF@[170; 171)
107 IDENT@[170; 171) "a"
108 WHITESPACE@[171; 172) " "
109 PIPEEQ@[172; 174) "|="
110 WHITESPACE@[174; 175) " "
111 LITERAL@[175; 176)
112 INT_NUMBER@[175; 176) "6"
113 SEMI@[176; 177) ";"
114 WHITESPACE@[177; 182) "\n "
115 EXPR_STMT@[182; 189)
116 BIN_EXPR@[182; 188)
117 PATH_EXPR@[182; 183)
118 PATH@[182; 183)
119 PATH_SEGMENT@[182; 183)
120 NAME_REF@[182; 183)
121 IDENT@[182; 183) "a"
122 WHITESPACE@[183; 184) " "
123 AMPEQ@[184; 186) "&="
124 WHITESPACE@[186; 187) " "
125 LITERAL@[187; 188)
126 INT_NUMBER@[187; 188) "7"
127 SEMI@[188; 189) ";"
128 WHITESPACE@[189; 194) "\n "
129 EXPR_STMT@[194; 201)
130 BIN_EXPR@[194; 200)
131 PATH_EXPR@[194; 195)
132 PATH@[194; 195)
133 PATH_SEGMENT@[194; 195)
134 NAME_REF@[194; 195)
135 IDENT@[194; 195) "a"
136 WHITESPACE@[195; 196) " "
137 CARETEQ@[196; 198) "^="
138 WHITESPACE@[198; 199) " "
139 LITERAL@[199; 200)
140 INT_NUMBER@[199; 200) "8"
141 SEMI@[200; 201) ";"
142 WHITESPACE@[201; 206) "\n "
143 EXPR_STMT@[206; 213)
144 BIN_EXPR@[206; 212)
145 PATH_EXPR@[206; 207)
146 PATH@[206; 207)
147 PATH_SEGMENT@[206; 207)
148 NAME_REF@[206; 207)
149 IDENT@[206; 207) "a"
150 WHITESPACE@[207; 208) " "
151 LTEQ@[208; 210) "<="
152 WHITESPACE@[210; 211) " "
153 LITERAL@[211; 212)
154 INT_NUMBER@[211; 212) "9"
155 SEMI@[212; 213) ";"
156 WHITESPACE@[213; 218) "\n "
157 EXPR_STMT@[218; 226)
158 BIN_EXPR@[218; 225)
159 PATH_EXPR@[218; 219)
160 PATH@[218; 219)
161 PATH_SEGMENT@[218; 219)
162 NAME_REF@[218; 219)
163 IDENT@[218; 219) "a"
164 WHITESPACE@[219; 220) " "
165 GTEQ@[220; 222) ">="
166 WHITESPACE@[222; 223) " "
167 LITERAL@[223; 225)
168 INT_NUMBER@[223; 225) "10"
169 SEMI@[225; 226) ";"
170 WHITESPACE@[226; 231) "\n "
171 EXPR_STMT@[231; 240)
172 BIN_EXPR@[231; 239)
173 PATH_EXPR@[231; 232)
174 PATH@[231; 232)
175 PATH_SEGMENT@[231; 232)
176 NAME_REF@[231; 232)
177 IDENT@[231; 232) "a"
178 WHITESPACE@[232; 233) " "
179 SHREQ@[233; 236) ">>="
180 WHITESPACE@[236; 237) " "
181 LITERAL@[237; 239)
182 INT_NUMBER@[237; 239) "11"
183 SEMI@[239; 240) ";"
184 WHITESPACE@[240; 245) "\n "
185 EXPR_STMT@[245; 254)
186 BIN_EXPR@[245; 253)
187 PATH_EXPR@[245; 246)
188 PATH@[245; 246)
189 PATH_SEGMENT@[245; 246)
190 NAME_REF@[245; 246)
191 IDENT@[245; 246) "a"
192 WHITESPACE@[246; 247) " "
193 SHLEQ@[247; 250) "<<="
194 WHITESPACE@[250; 251) " "
195 LITERAL@[251; 253)
196 INT_NUMBER@[251; 253) "12"
197 SEMI@[253; 254) ";"
198 WHITESPACE@[254; 255) "\n"
199 R_CURLY@[255; 256) "}"
200 WHITESPACE@[256; 257) "\n"
diff --git a/crates/ra_syntax/tests/data/parser/ok/0049_async_block.rs b/crates/ra_syntax/tests/data/parser/ok/0049_async_block.rs
deleted file mode 100644
index 4781b3225..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0049_async_block.rs
+++ /dev/null
@@ -1,5 +0,0 @@
1fn foo() {
2 async {};
3 async move {};
4}
5
diff --git a/crates/ra_syntax/tests/data/parser/ok/0049_async_block.txt b/crates/ra_syntax/tests/data/parser/ok/0049_async_block.txt
deleted file mode 100644
index 517982ddc..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0049_async_block.txt
+++ /dev/null
@@ -1,35 +0,0 @@
1SOURCE_FILE@[0; 47)
2 FN_DEF@[0; 45)
3 FN_KW@[0; 2) "fn"
4 WHITESPACE@[2; 3) " "
5 NAME@[3; 6)
6 IDENT@[3; 6) "foo"
7 PARAM_LIST@[6; 8)
8 L_PAREN@[6; 7) "("
9 R_PAREN@[7; 8) ")"
10 WHITESPACE@[8; 9) " "
11 BLOCK@[9; 45)
12 L_CURLY@[9; 10) "{"
13 WHITESPACE@[10; 15) "\n "
14 EXPR_STMT@[15; 24)
15 BLOCK_EXPR@[15; 23)
16 ASYNC_KW@[15; 20) "async"
17 WHITESPACE@[20; 21) " "
18 BLOCK@[21; 23)
19 L_CURLY@[21; 22) "{"
20 R_CURLY@[22; 23) "}"
21 SEMI@[23; 24) ";"
22 WHITESPACE@[24; 29) "\n "
23 EXPR_STMT@[29; 43)
24 BLOCK_EXPR@[29; 42)
25 ASYNC_KW@[29; 34) "async"
26 WHITESPACE@[34; 35) " "
27 MOVE_KW@[35; 39) "move"
28 WHITESPACE@[39; 40) " "
29 BLOCK@[40; 42)
30 L_CURLY@[40; 41) "{"
31 R_CURLY@[41; 42) "}"
32 SEMI@[42; 43) ";"
33 WHITESPACE@[43; 44) "\n"
34 R_CURLY@[44; 45) "}"
35 WHITESPACE@[45; 47) "\n\n"
diff --git a/crates/ra_syntax/tests/data/parser/ok/0050_async_block_as_argument.rs b/crates/ra_syntax/tests/data/parser/ok/0050_async_block_as_argument.rs
deleted file mode 100644
index ec4612cff..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0050_async_block_as_argument.rs
+++ /dev/null
@@ -1,5 +0,0 @@
1fn foo(x: impl std::future::Future<Output = i32>) {}
2
3fn main() {
4 foo(async move { 12 })
5}
diff --git a/crates/ra_syntax/tests/data/parser/ok/0050_async_block_as_argument.txt b/crates/ra_syntax/tests/data/parser/ok/0050_async_block_as_argument.txt
deleted file mode 100644
index 64da5878b..000000000
--- a/crates/ra_syntax/tests/data/parser/ok/0050_async_block_as_argument.txt
+++ /dev/null
@@ -1,90 +0,0 @@
1SOURCE_FILE@[0; 95)
2 FN_DEF@[0; 52)
3 FN_KW@[0; 2) "fn"
4 WHITESPACE@[2; 3) " "
5 NAME@[3; 6)
6 IDENT@[3; 6) "foo"
7 PARAM_LIST@[6; 49)
8 L_PAREN@[6; 7) "("
9 PARAM@[7; 48)
10 BIND_PAT@[7; 8)
11 NAME@[7; 8)
12 IDENT@[7; 8) "x"
13 COLON@[8; 9) ":"
14 WHITESPACE@[9; 10) " "
15 IMPL_TRAIT_TYPE@[10; 48)
16 IMPL_KW@[10; 14) "impl"
17 WHITESPACE@[14; 15) " "
18 TYPE_BOUND_LIST@[15; 48)
19 TYPE_BOUND@[15; 48)
20 PATH_TYPE@[15; 48)
21 PATH@[15; 48)
22 PATH@[15; 26)
23 PATH@[15; 18)
24 PATH_SEGMENT@[15; 18)
25 NAME_REF@[15; 18)
26 IDENT@[15; 18) "std"
27 COLONCOLON@[18; 20) "::"
28 PATH_SEGMENT@[20; 26)
29 NAME_REF@[20; 26)
30 IDENT@[20; 26) "future"
31 COLONCOLON@[26; 28) "::"
32 PATH_SEGMENT@[28; 48)
33 NAME_REF@[28; 34)
34 IDENT@[28; 34) "Future"
35 TYPE_ARG_LIST@[34; 48)
36 L_ANGLE@[34; 35) "<"
37 ASSOC_TYPE_ARG@[35; 47)
38 NAME_REF@[35; 41)
39 IDENT@[35; 41) "Output"
40 WHITESPACE@[41; 42) " "
41 EQ@[42; 43) "="
42 WHITESPACE@[43; 44) " "
43 PATH_TYPE@[44; 47)
44 PATH@[44; 47)
45 PATH_SEGMENT@[44; 47)
46 NAME_REF@[44; 47)
47 IDENT@[44; 47) "i32"
48 R_ANGLE@[47; 48) ">"
49 R_PAREN@[48; 49) ")"
50 WHITESPACE@[49; 50) " "
51 BLOCK@[50; 52)
52 L_CURLY@[50; 51) "{"
53 R_CURLY@[51; 52) "}"
54 WHITESPACE@[52; 54) "\n\n"
55 FN_DEF@[54; 94)
56 FN_KW@[54; 56) "fn"
57 WHITESPACE@[56; 57) " "
58 NAME@[57; 61)
59 IDENT@[57; 61) "main"
60 PARAM_LIST@[61; 63)
61 L_PAREN@[61; 62) "("
62 R_PAREN@[62; 63) ")"
63 WHITESPACE@[63; 64) " "
64 BLOCK@[64; 94)
65 L_CURLY@[64; 65) "{"
66 WHITESPACE@[65; 70) "\n "
67 CALL_EXPR@[70; 92)
68 PATH_EXPR@[70; 73)
69 PATH@[70; 73)
70 PATH_SEGMENT@[70; 73)
71 NAME_REF@[70; 73)
72 IDENT@[70; 73) "foo"
73 ARG_LIST@[73; 92)
74 L_PAREN@[73; 74) "("
75 BLOCK_EXPR@[74; 91)
76 ASYNC_KW@[74; 79) "async"
77 WHITESPACE@[79; 80) " "
78 MOVE_KW@[80; 84) "move"
79 WHITESPACE@[84; 85) " "
80 BLOCK@[85; 91)
81 L_CURLY@[85; 86) "{"
82 WHITESPACE@[86; 87) " "
83 LITERAL@[87; 89)
84 INT_NUMBER@[87; 89) "12"
85 WHITESPACE@[89; 90) " "
86 R_CURLY@[90; 91) "}"
87 R_PAREN@[91; 92) ")"
88 WHITESPACE@[92; 93) "\n"
89 R_CURLY@[93; 94) "}"
90 WHITESPACE@[94; 95) "\n"