aboutsummaryrefslogtreecommitdiff
path: root/crates/syntax/test_data
diff options
context:
space:
mode:
Diffstat (limited to 'crates/syntax/test_data')
-rw-r--r--crates/syntax/test_data/parser/err/0005_attribute_recover.rast66
-rw-r--r--crates/syntax/test_data/parser/err/0031_block_inner_attrs.rast68
-rw-r--r--crates/syntax/test_data/parser/err/0032_match_arms_inner_attrs.rast17
-rw-r--r--crates/syntax/test_data/parser/err/0033_match_arms_outer_attrs.rast17
-rw-r--r--crates/syntax/test_data/parser/inline/err/0009_attr_on_expr_not_allowed.rast18
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0054_record_field_attrs.rast25
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0115_tuple_field_attrs.rast25
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0118_impl_inner_attributes.rast17
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0120_match_arms_inner_attribute.rast51
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0121_match_arms_outer_attributes.rast125
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0122_generic_lifetime_type_attribute.rast34
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0125_record_literal_field_with_attr.rast17
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0126_attr_on_expr_stmt.rast45
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0127_attr_on_last_expr_in_block.rast18
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0130_let_stmt.rast9
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0138_self_param_outer_attr.rast9
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0139_param_outer_arg.rast9
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0145_record_pat_field.rast23
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0150_array_attrs.rast17
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0152_arg_with_attr.rast9
-rw-r--r--crates/syntax/test_data/parser/inline/ok/0154_tuple_attrs.rast17
-rw-r--r--crates/syntax/test_data/parser/ok/0006_inner_attributes.rast258
-rw-r--r--crates/syntax/test_data/parser/ok/0008_mod_item.rast9
-rw-r--r--crates/syntax/test_data/parser/ok/0011_outer_attribute.rast45
-rw-r--r--crates/syntax/test_data/parser/ok/0017_attr_trailing_comma.rast19
-rw-r--r--crates/syntax/test_data/parser/ok/0035_weird_exprs.rast87
-rw-r--r--crates/syntax/test_data/parser/ok/0044_let_attrs.rast25
-rw-r--r--crates/syntax/test_data/parser/ok/0045_block_attrs.rast102
-rw-r--r--crates/syntax/test_data/parser/ok/0046_extern_inner_attributes.rast17
-rw-r--r--crates/syntax/test_data/parser/ok/0051_parameter_attrs.rast135
-rw-r--r--crates/syntax/test_data/parser/ok/0053_outer_attribute_on_macro_rules.rast9
-rw-r--r--crates/syntax/test_data/parser/ok/0062_macro_2.0.rast9
-rw-r--r--crates/syntax/test_data/parser/ok/0063_variadic_fun.rast17
33 files changed, 726 insertions, 642 deletions
diff --git a/crates/syntax/test_data/parser/err/0005_attribute_recover.rast b/crates/syntax/test_data/parser/err/0005_attribute_recover.rast
index 4845a6563..6202c8bfe 100644
--- a/crates/syntax/test_data/parser/err/0005_attribute_recover.rast
+++ b/crates/syntax/test_data/parser/err/0005_attribute_recover.rast
@@ -3,20 +3,21 @@ SOURCE_FILE@0..54
3 ATTR@0..18 3 ATTR@0..18
4 POUND@0..1 "#" 4 POUND@0..1 "#"
5 L_BRACK@1..2 "[" 5 L_BRACK@1..2 "["
6 PATH@2..5 6 META@2..17
7 PATH_SEGMENT@2..5 7 PATH@2..5
8 NAME_REF@2..5 8 PATH_SEGMENT@2..5
9 IDENT@2..5 "foo" 9 NAME_REF@2..5
10 TOKEN_TREE@5..17 10 IDENT@2..5 "foo"
11 L_PAREN@5..6 "(" 11 TOKEN_TREE@5..17
12 IDENT@6..9 "foo" 12 L_PAREN@5..6 "("
13 COMMA@9..10 "," 13 IDENT@6..9 "foo"
14 WHITESPACE@10..11 " " 14 COMMA@9..10 ","
15 PLUS@11..12 "+" 15 WHITESPACE@10..11 " "
16 COMMA@12..13 "," 16 PLUS@11..12 "+"
17 WHITESPACE@13..14 " " 17 COMMA@12..13 ","
18 INT_NUMBER@14..16 "92" 18 WHITESPACE@13..14 " "
19 R_PAREN@16..17 ")" 19 INT_NUMBER@14..16 "92"
20 R_PAREN@16..17 ")"
20 R_BRACK@17..18 "]" 21 R_BRACK@17..18 "]"
21 WHITESPACE@18..19 "\n" 22 WHITESPACE@18..19 "\n"
22 FN_KW@19..21 "fn" 23 FN_KW@19..21 "fn"
@@ -35,24 +36,25 @@ SOURCE_FILE@0..54
35 ATTR@34..53 36 ATTR@34..53
36 POUND@34..35 "#" 37 POUND@34..35 "#"
37 L_BRACK@35..36 "[" 38 L_BRACK@35..36 "["
38 PATH@36..39 39 META@36..53
39 PATH_SEGMENT@36..39 40 PATH@36..39
40 NAME_REF@36..39 41 PATH_SEGMENT@36..39
41 IDENT@36..39 "foo" 42 NAME_REF@36..39
42 TOKEN_TREE@39..53 43 IDENT@36..39 "foo"
43 L_PAREN@39..40 "(" 44 TOKEN_TREE@39..53
44 WHITESPACE@40..41 "\n" 45 L_PAREN@39..40 "("
45 FN_KW@41..43 "fn" 46 WHITESPACE@40..41 "\n"
46 WHITESPACE@43..44 " " 47 FN_KW@41..43 "fn"
47 IDENT@44..47 "foo" 48 WHITESPACE@43..44 " "
48 TOKEN_TREE@47..49 49 IDENT@44..47 "foo"
49 L_PAREN@47..48 "(" 50 TOKEN_TREE@47..49
50 R_PAREN@48..49 ")" 51 L_PAREN@47..48 "("
51 WHITESPACE@49..50 " " 52 R_PAREN@48..49 ")"
52 TOKEN_TREE@50..53 53 WHITESPACE@49..50 " "
53 L_CURLY@50..51 "{" 54 TOKEN_TREE@50..53
54 WHITESPACE@51..52 "\n" 55 L_CURLY@50..51 "{"
55 R_CURLY@52..53 "}" 56 WHITESPACE@51..52 "\n"
57 R_CURLY@52..53 "}"
56 WHITESPACE@53..54 "\n" 58 WHITESPACE@53..54 "\n"
57error 53..53: expected R_PAREN 59error 53..53: expected R_PAREN
58error 53..53: expected `]` 60error 53..53: expected `]`
diff --git a/crates/syntax/test_data/parser/err/0031_block_inner_attrs.rast b/crates/syntax/test_data/parser/err/0031_block_inner_attrs.rast
index a443b37db..846279748 100644
--- a/crates/syntax/test_data/parser/err/0031_block_inner_attrs.rast
+++ b/crates/syntax/test_data/parser/err/0031_block_inner_attrs.rast
@@ -27,14 +27,15 @@ SOURCE_FILE@0..350
27 POUND@39..40 "#" 27 POUND@39..40 "#"
28 BANG@40..41 "!" 28 BANG@40..41 "!"
29 L_BRACK@41..42 "[" 29 L_BRACK@41..42 "["
30 PATH@42..45 30 META@42..82
31 PATH_SEGMENT@42..45 31 PATH@42..45
32 NAME_REF@42..45 32 PATH_SEGMENT@42..45
33 IDENT@42..45 "doc" 33 NAME_REF@42..45
34 TOKEN_TREE@45..82 34 IDENT@42..45 "doc"
35 L_PAREN@45..46 "(" 35 TOKEN_TREE@45..82
36 STRING@46..81 "\"Inner attributes not ..." 36 L_PAREN@45..46 "("
37 R_PAREN@81..82 ")" 37 STRING@46..81 "\"Inner attributes not ..."
38 R_PAREN@81..82 ")"
38 R_BRACK@82..83 "]" 39 R_BRACK@82..83 "]"
39 WHITESPACE@83..92 "\n " 40 WHITESPACE@83..92 "\n "
40 COMMENT@92..122 "//! Nor are ModuleDoc ..." 41 COMMENT@92..122 "//! Nor are ModuleDoc ..."
@@ -57,28 +58,30 @@ SOURCE_FILE@0..350
57 POUND@152..153 "#" 58 POUND@152..153 "#"
58 BANG@153..154 "!" 59 BANG@153..154 "!"
59 L_BRACK@154..155 "[" 60 L_BRACK@154..155 "["
60 PATH@155..158 61 META@155..170
61 PATH_SEGMENT@155..158 62 PATH@155..158
62 NAME_REF@155..158 63 PATH_SEGMENT@155..158
63 IDENT@155..158 "doc" 64 NAME_REF@155..158
64 TOKEN_TREE@158..170 65 IDENT@155..158 "doc"
65 L_PAREN@158..159 "(" 66 TOKEN_TREE@158..170
66 STRING@159..169 "\"Nor here\"" 67 L_PAREN@158..159 "("
67 R_PAREN@169..170 ")" 68 STRING@159..169 "\"Nor here\""
69 R_PAREN@169..170 ")"
68 R_BRACK@170..171 "]" 70 R_BRACK@170..171 "]"
69 WHITESPACE@171..180 "\n " 71 WHITESPACE@171..180 "\n "
70 ATTR@180..212 72 ATTR@180..212
71 POUND@180..181 "#" 73 POUND@180..181 "#"
72 BANG@181..182 "!" 74 BANG@181..182 "!"
73 L_BRACK@182..183 "[" 75 L_BRACK@182..183 "["
74 PATH@183..186 76 META@183..211
75 PATH_SEGMENT@183..186 77 PATH@183..186
76 NAME_REF@183..186 78 PATH_SEGMENT@183..186
77 IDENT@183..186 "doc" 79 NAME_REF@183..186
78 TOKEN_TREE@186..211 80 IDENT@183..186 "doc"
79 L_PAREN@186..187 "(" 81 TOKEN_TREE@186..211
80 STRING@187..210 "\"We error on each attr\"" 82 L_PAREN@186..187 "("
81 R_PAREN@210..211 ")" 83 STRING@187..210 "\"We error on each attr\""
84 R_PAREN@210..211 ")"
82 R_BRACK@211..212 "]" 85 R_BRACK@211..212 "]"
83 WHITESPACE@212..221 "\n " 86 WHITESPACE@212..221 "\n "
84 COMMENT@221..251 "//! Nor are ModuleDoc ..." 87 COMMENT@221..251 "//! Nor are ModuleDoc ..."
@@ -99,14 +102,15 @@ SOURCE_FILE@0..350
99 POUND@283..284 "#" 102 POUND@283..284 "#"
100 BANG@284..285 "!" 103 BANG@284..285 "!"
101 L_BRACK@285..286 "[" 104 L_BRACK@285..286 "["
102 PATH@286..289 105 META@286..301
103 PATH_SEGMENT@286..289 106 PATH@286..289
104 NAME_REF@286..289 107 PATH_SEGMENT@286..289
105 IDENT@286..289 "doc" 108 NAME_REF@286..289
106 TOKEN_TREE@289..301 109 IDENT@286..289 "doc"
107 L_PAREN@289..290 "(" 110 TOKEN_TREE@289..301
108 STRING@290..300 "\"Nor here\"" 111 L_PAREN@289..290 "("
109 R_PAREN@300..301 ")" 112 STRING@290..300 "\"Nor here\""
113 R_PAREN@300..301 ")"
110 R_BRACK@301..302 "]" 114 R_BRACK@301..302 "]"
111 WHITESPACE@302..311 "\n " 115 WHITESPACE@302..311 "\n "
112 COMMENT@311..341 "//! Nor are ModuleDoc ..." 116 COMMENT@311..341 "//! Nor are ModuleDoc ..."
diff --git a/crates/syntax/test_data/parser/err/0032_match_arms_inner_attrs.rast b/crates/syntax/test_data/parser/err/0032_match_arms_inner_attrs.rast
index 672dd054a..b6209639d 100644
--- a/crates/syntax/test_data/parser/err/0032_match_arms_inner_attrs.rast
+++ b/crates/syntax/test_data/parser/err/0032_match_arms_inner_attrs.rast
@@ -135,14 +135,15 @@ SOURCE_FILE@0..293
135 ATTR@210..222 135 ATTR@210..222
136 POUND@210..211 "#" 136 POUND@210..211 "#"
137 L_BRACK@211..212 "[" 137 L_BRACK@211..212 "["
138 PATH@212..215 138 META@212..221
139 PATH_SEGMENT@212..215 139 PATH@212..215
140 NAME_REF@212..215 140 PATH_SEGMENT@212..215
141 IDENT@212..215 "cfg" 141 NAME_REF@212..215
142 TOKEN_TREE@215..221 142 IDENT@212..215 "cfg"
143 L_PAREN@215..216 "(" 143 TOKEN_TREE@215..221
144 IDENT@216..220 "test" 144 L_PAREN@215..216 "("
145 R_PAREN@220..221 ")" 145 IDENT@216..220 "test"
146 R_PAREN@220..221 ")"
146 R_BRACK@221..222 "]" 147 R_BRACK@221..222 "]"
147 WHITESPACE@222..231 "\n " 148 WHITESPACE@222..231 "\n "
148 ATTR@231..232 149 ATTR@231..232
diff --git a/crates/syntax/test_data/parser/err/0033_match_arms_outer_attrs.rast b/crates/syntax/test_data/parser/err/0033_match_arms_outer_attrs.rast
index 33bb085e9..84c8e9ee7 100644
--- a/crates/syntax/test_data/parser/err/0033_match_arms_outer_attrs.rast
+++ b/crates/syntax/test_data/parser/err/0033_match_arms_outer_attrs.rast
@@ -47,14 +47,15 @@ SOURCE_FILE@0..89
47 ATTR@68..80 47 ATTR@68..80
48 POUND@68..69 "#" 48 POUND@68..69 "#"
49 L_BRACK@69..70 "[" 49 L_BRACK@69..70 "["
50 PATH@70..73 50 META@70..79
51 PATH_SEGMENT@70..73 51 PATH@70..73
52 NAME_REF@70..73 52 PATH_SEGMENT@70..73
53 IDENT@70..73 "cfg" 53 NAME_REF@70..73
54 TOKEN_TREE@73..79 54 IDENT@70..73 "cfg"
55 L_PAREN@73..74 "(" 55 TOKEN_TREE@73..79
56 IDENT@74..78 "test" 56 L_PAREN@73..74 "("
57 R_PAREN@78..79 ")" 57 IDENT@74..78 "test"
58 R_PAREN@78..79 ")"
58 R_BRACK@79..80 "]" 59 R_BRACK@79..80 "]"
59 WHITESPACE@80..85 "\n " 60 WHITESPACE@80..85 "\n "
60 R_CURLY@85..86 "}" 61 R_CURLY@85..86 "}"
diff --git a/crates/syntax/test_data/parser/inline/err/0009_attr_on_expr_not_allowed.rast b/crates/syntax/test_data/parser/inline/err/0009_attr_on_expr_not_allowed.rast
index 8fd8d5e59..7b8b7284f 100644
--- a/crates/syntax/test_data/parser/inline/err/0009_attr_on_expr_not_allowed.rast
+++ b/crates/syntax/test_data/parser/inline/err/0009_attr_on_expr_not_allowed.rast
@@ -15,10 +15,11 @@ SOURCE_FILE@0..48
15 ATTR@14..18 15 ATTR@14..18
16 POUND@14..15 "#" 16 POUND@14..15 "#"
17 L_BRACK@15..16 "[" 17 L_BRACK@15..16 "["
18 PATH@16..17 18 META@16..17
19 PATH_SEGMENT@16..17 19 PATH@16..17
20 NAME_REF@16..17 20 PATH_SEGMENT@16..17
21 IDENT@16..17 "A" 21 NAME_REF@16..17
22 IDENT@16..17 "A"
22 R_BRACK@17..18 "]" 23 R_BRACK@17..18 "]"
23 WHITESPACE@18..19 " " 24 WHITESPACE@18..19 " "
24 BIN_EXPR@19..24 25 BIN_EXPR@19..24
@@ -35,10 +36,11 @@ SOURCE_FILE@0..48
35 ATTR@29..33 36 ATTR@29..33
36 POUND@29..30 "#" 37 POUND@29..30 "#"
37 L_BRACK@30..31 "[" 38 L_BRACK@30..31 "["
38 PATH@31..32 39 META@31..32
39 PATH_SEGMENT@31..32 40 PATH@31..32
40 NAME_REF@31..32 41 PATH_SEGMENT@31..32
41 IDENT@31..32 "B" 42 NAME_REF@31..32
43 IDENT@31..32 "B"
42 R_BRACK@32..33 "]" 44 R_BRACK@32..33 "]"
43 WHITESPACE@33..34 " " 45 WHITESPACE@33..34 " "
44 IF_EXPR@34..44 46 IF_EXPR@34..44
diff --git a/crates/syntax/test_data/parser/inline/ok/0054_record_field_attrs.rast b/crates/syntax/test_data/parser/inline/ok/0054_record_field_attrs.rast
index 9ae271817..402950bcc 100644
--- a/crates/syntax/test_data/parser/inline/ok/0054_record_field_attrs.rast
+++ b/crates/syntax/test_data/parser/inline/ok/0054_record_field_attrs.rast
@@ -12,18 +12,19 @@ SOURCE_FILE@0..64
12 ATTR@15..43 12 ATTR@15..43
13 POUND@15..16 "#" 13 POUND@15..16 "#"
14 L_BRACK@16..17 "[" 14 L_BRACK@16..17 "["
15 PATH@17..22 15 META@17..42
16 PATH_SEGMENT@17..22 16 PATH@17..22
17 NAME_REF@17..22 17 PATH_SEGMENT@17..22
18 IDENT@17..22 "serde" 18 NAME_REF@17..22
19 TOKEN_TREE@22..42 19 IDENT@17..22 "serde"
20 L_PAREN@22..23 "(" 20 TOKEN_TREE@22..42
21 IDENT@23..27 "with" 21 L_PAREN@22..23 "("
22 WHITESPACE@27..28 " " 22 IDENT@23..27 "with"
23 EQ@28..29 "=" 23 WHITESPACE@27..28 " "
24 WHITESPACE@29..30 " " 24 EQ@28..29 "="
25 STRING@30..41 "\"url_serde\"" 25 WHITESPACE@29..30 " "
26 R_PAREN@41..42 ")" 26 STRING@30..41 "\"url_serde\""
27 R_PAREN@41..42 ")"
27 R_BRACK@42..43 "]" 28 R_BRACK@42..43 "]"
28 WHITESPACE@43..48 "\n " 29 WHITESPACE@43..48 "\n "
29 VISIBILITY@48..51 30 VISIBILITY@48..51
diff --git a/crates/syntax/test_data/parser/inline/ok/0115_tuple_field_attrs.rast b/crates/syntax/test_data/parser/inline/ok/0115_tuple_field_attrs.rast
index 4d09c9f50..db2b645b0 100644
--- a/crates/syntax/test_data/parser/inline/ok/0115_tuple_field_attrs.rast
+++ b/crates/syntax/test_data/parser/inline/ok/0115_tuple_field_attrs.rast
@@ -12,18 +12,19 @@ SOURCE_FILE@0..60
12 ATTR@15..43 12 ATTR@15..43
13 POUND@15..16 "#" 13 POUND@15..16 "#"
14 L_BRACK@16..17 "[" 14 L_BRACK@16..17 "["
15 PATH@17..22 15 META@17..42
16 PATH_SEGMENT@17..22 16 PATH@17..22
17 NAME_REF@17..22 17 PATH_SEGMENT@17..22
18 IDENT@17..22 "serde" 18 NAME_REF@17..22
19 TOKEN_TREE@22..42 19 IDENT@17..22 "serde"
20 L_PAREN@22..23 "(" 20 TOKEN_TREE@22..42
21 IDENT@23..27 "with" 21 L_PAREN@22..23 "("
22 WHITESPACE@27..28 " " 22 IDENT@23..27 "with"
23 EQ@28..29 "=" 23 WHITESPACE@27..28 " "
24 WHITESPACE@29..30 " " 24 EQ@28..29 "="
25 STRING@30..41 "\"url_serde\"" 25 WHITESPACE@29..30 " "
26 R_PAREN@41..42 ")" 26 STRING@30..41 "\"url_serde\""
27 R_PAREN@41..42 ")"
27 R_BRACK@42..43 "]" 28 R_BRACK@42..43 "]"
28 WHITESPACE@43..48 "\n " 29 WHITESPACE@43..48 "\n "
29 VISIBILITY@48..51 30 VISIBILITY@48..51
diff --git a/crates/syntax/test_data/parser/inline/ok/0118_impl_inner_attributes.rast b/crates/syntax/test_data/parser/inline/ok/0118_impl_inner_attributes.rast
index 141a7b203..24ac1d66a 100644
--- a/crates/syntax/test_data/parser/inline/ok/0118_impl_inner_attributes.rast
+++ b/crates/syntax/test_data/parser/inline/ok/0118_impl_inner_attributes.rast
@@ -26,14 +26,15 @@ SOURCE_FILE@0..94
26 POUND@54..55 "#" 26 POUND@54..55 "#"
27 BANG@55..56 "!" 27 BANG@55..56 "!"
28 L_BRACK@56..57 "[" 28 L_BRACK@56..57 "["
29 PATH@57..60 29 META@57..90
30 PATH_SEGMENT@57..60 30 PATH@57..60
31 NAME_REF@57..60 31 PATH_SEGMENT@57..60
32 IDENT@57..60 "doc" 32 NAME_REF@57..60
33 TOKEN_TREE@60..90 33 IDENT@57..60 "doc"
34 L_PAREN@60..61 "(" 34 TOKEN_TREE@60..90
35 STRING@61..89 "\"This is also a doc c ..." 35 L_PAREN@60..61 "("
36 R_PAREN@89..90 ")" 36 STRING@61..89 "\"This is also a doc c ..."
37 R_PAREN@89..90 ")"
37 R_BRACK@90..91 "]" 38 R_BRACK@90..91 "]"
38 WHITESPACE@91..92 "\n" 39 WHITESPACE@91..92 "\n"
39 R_CURLY@92..93 "}" 40 R_CURLY@92..93 "}"
diff --git a/crates/syntax/test_data/parser/inline/ok/0120_match_arms_inner_attribute.rast b/crates/syntax/test_data/parser/inline/ok/0120_match_arms_inner_attribute.rast
index ec7a00f1d..7fbeee203 100644
--- a/crates/syntax/test_data/parser/inline/ok/0120_match_arms_inner_attribute.rast
+++ b/crates/syntax/test_data/parser/inline/ok/0120_match_arms_inner_attribute.rast
@@ -25,42 +25,45 @@ SOURCE_FILE@0..139
25 POUND@34..35 "#" 25 POUND@34..35 "#"
26 BANG@35..36 "!" 26 BANG@35..36 "!"
27 L_BRACK@36..37 "[" 27 L_BRACK@36..37 "["
28 PATH@37..40 28 META@37..59
29 PATH_SEGMENT@37..40 29 PATH@37..40
30 NAME_REF@37..40 30 PATH_SEGMENT@37..40
31 IDENT@37..40 "doc" 31 NAME_REF@37..40
32 TOKEN_TREE@40..59 32 IDENT@37..40 "doc"
33 L_PAREN@40..41 "(" 33 TOKEN_TREE@40..59
34 STRING@41..58 "\"Inner attribute\"" 34 L_PAREN@40..41 "("
35 R_PAREN@58..59 ")" 35 STRING@41..58 "\"Inner attribute\""
36 R_PAREN@58..59 ")"
36 R_BRACK@59..60 "]" 37 R_BRACK@59..60 "]"
37 WHITESPACE@60..69 "\n " 38 WHITESPACE@60..69 "\n "
38 ATTR@69..86 39 ATTR@69..86
39 POUND@69..70 "#" 40 POUND@69..70 "#"
40 BANG@70..71 "!" 41 BANG@70..71 "!"
41 L_BRACK@71..72 "[" 42 L_BRACK@71..72 "["
42 PATH@72..75 43 META@72..85
43 PATH_SEGMENT@72..75 44 PATH@72..75
44 NAME_REF@72..75 45 PATH_SEGMENT@72..75
45 IDENT@72..75 "doc" 46 NAME_REF@72..75
46 TOKEN_TREE@75..85 47 IDENT@72..75 "doc"
47 L_PAREN@75..76 "(" 48 TOKEN_TREE@75..85
48 STRING@76..84 "\"Can be\"" 49 L_PAREN@75..76 "("
49 R_PAREN@84..85 ")" 50 STRING@76..84 "\"Can be\""
51 R_PAREN@84..85 ")"
50 R_BRACK@85..86 "]" 52 R_BRACK@85..86 "]"
51 WHITESPACE@86..95 "\n " 53 WHITESPACE@86..95 "\n "
52 ATTR@95..113 54 ATTR@95..113
53 POUND@95..96 "#" 55 POUND@95..96 "#"
54 BANG@96..97 "!" 56 BANG@96..97 "!"
55 L_BRACK@97..98 "[" 57 L_BRACK@97..98 "["
56 PATH@98..101 58 META@98..112
57 PATH_SEGMENT@98..101 59 PATH@98..101
58 NAME_REF@98..101 60 PATH_SEGMENT@98..101
59 IDENT@98..101 "doc" 61 NAME_REF@98..101
60 TOKEN_TREE@101..112 62 IDENT@98..101 "doc"
61 L_PAREN@101..102 "(" 63 TOKEN_TREE@101..112
62 STRING@102..111 "\"Stacked\"" 64 L_PAREN@101..102 "("
63 R_PAREN@111..112 ")" 65 STRING@102..111 "\"Stacked\""
66 R_PAREN@111..112 ")"
64 R_BRACK@112..113 "]" 67 R_BRACK@112..113 "]"
65 WHITESPACE@113..122 "\n " 68 WHITESPACE@113..122 "\n "
66 MATCH_ARM@122..129 69 MATCH_ARM@122..129
diff --git a/crates/syntax/test_data/parser/inline/ok/0121_match_arms_outer_attributes.rast b/crates/syntax/test_data/parser/inline/ok/0121_match_arms_outer_attributes.rast
index 97924da05..40852f514 100644
--- a/crates/syntax/test_data/parser/inline/ok/0121_match_arms_outer_attributes.rast
+++ b/crates/syntax/test_data/parser/inline/ok/0121_match_arms_outer_attributes.rast
@@ -25,18 +25,19 @@ SOURCE_FILE@0..259
25 ATTR@34..58 25 ATTR@34..58
26 POUND@34..35 "#" 26 POUND@34..35 "#"
27 L_BRACK@35..36 "[" 27 L_BRACK@35..36 "["
28 PATH@36..39 28 META@36..57
29 PATH_SEGMENT@36..39 29 PATH@36..39
30 NAME_REF@36..39 30 PATH_SEGMENT@36..39
31 IDENT@36..39 "cfg" 31 NAME_REF@36..39
32 TOKEN_TREE@39..57 32 IDENT@36..39 "cfg"
33 L_PAREN@39..40 "(" 33 TOKEN_TREE@39..57
34 IDENT@40..47 "feature" 34 L_PAREN@39..40 "("
35 WHITESPACE@47..48 " " 35 IDENT@40..47 "feature"
36 EQ@48..49 "=" 36 WHITESPACE@47..48 " "
37 WHITESPACE@49..50 " " 37 EQ@48..49 "="
38 STRING@50..56 "\"some\"" 38 WHITESPACE@49..50 " "
39 R_PAREN@56..57 ")" 39 STRING@50..56 "\"some\""
40 R_PAREN@56..57 ")"
40 R_BRACK@57..58 "]" 41 R_BRACK@57..58 "]"
41 WHITESPACE@58..67 "\n " 42 WHITESPACE@58..67 "\n "
42 WILDCARD_PAT@67..68 43 WILDCARD_PAT@67..68
@@ -53,18 +54,19 @@ SOURCE_FILE@0..259
53 ATTR@84..109 54 ATTR@84..109
54 POUND@84..85 "#" 55 POUND@84..85 "#"
55 L_BRACK@85..86 "[" 56 L_BRACK@85..86 "["
56 PATH@86..89 57 META@86..108
57 PATH_SEGMENT@86..89 58 PATH@86..89
58 NAME_REF@86..89 59 PATH_SEGMENT@86..89
59 IDENT@86..89 "cfg" 60 NAME_REF@86..89
60 TOKEN_TREE@89..108 61 IDENT@86..89 "cfg"
61 L_PAREN@89..90 "(" 62 TOKEN_TREE@89..108
62 IDENT@90..97 "feature" 63 L_PAREN@89..90 "("
63 WHITESPACE@97..98 " " 64 IDENT@90..97 "feature"
64 EQ@98..99 "=" 65 WHITESPACE@97..98 " "
65 WHITESPACE@99..100 " " 66 EQ@98..99 "="
66 STRING@100..107 "\"other\"" 67 WHITESPACE@99..100 " "
67 R_PAREN@107..108 ")" 68 STRING@100..107 "\"other\""
69 R_PAREN@107..108 ")"
68 R_BRACK@108..109 "]" 70 R_BRACK@108..109 "]"
69 WHITESPACE@109..118 "\n " 71 WHITESPACE@109..118 "\n "
70 WILDCARD_PAT@118..119 72 WILDCARD_PAT@118..119
@@ -81,52 +83,55 @@ SOURCE_FILE@0..259
81 ATTR@135..159 83 ATTR@135..159
82 POUND@135..136 "#" 84 POUND@135..136 "#"
83 L_BRACK@136..137 "[" 85 L_BRACK@136..137 "["
84 PATH@137..140 86 META@137..158
85 PATH_SEGMENT@137..140 87 PATH@137..140
86 NAME_REF@137..140 88 PATH_SEGMENT@137..140
87 IDENT@137..140 "cfg" 89 NAME_REF@137..140
88 TOKEN_TREE@140..158 90 IDENT@137..140 "cfg"
89 L_PAREN@140..141 "(" 91 TOKEN_TREE@140..158
90 IDENT@141..148 "feature" 92 L_PAREN@140..141 "("
91 WHITESPACE@148..149 " " 93 IDENT@141..148 "feature"
92 EQ@149..150 "=" 94 WHITESPACE@148..149 " "
93 WHITESPACE@150..151 " " 95 EQ@149..150 "="
94 STRING@151..157 "\"many\"" 96 WHITESPACE@150..151 " "
95 R_PAREN@157..158 ")" 97 STRING@151..157 "\"many\""
98 R_PAREN@157..158 ")"
96 R_BRACK@158..159 "]" 99 R_BRACK@158..159 "]"
97 WHITESPACE@159..168 "\n " 100 WHITESPACE@159..168 "\n "
98 ATTR@168..198 101 ATTR@168..198
99 POUND@168..169 "#" 102 POUND@168..169 "#"
100 L_BRACK@169..170 "[" 103 L_BRACK@169..170 "["
101 PATH@170..173 104 META@170..197
102 PATH_SEGMENT@170..173 105 PATH@170..173
103 NAME_REF@170..173 106 PATH_SEGMENT@170..173
104 IDENT@170..173 "cfg" 107 NAME_REF@170..173
105 TOKEN_TREE@173..197 108 IDENT@170..173 "cfg"
106 L_PAREN@173..174 "(" 109 TOKEN_TREE@173..197
107 IDENT@174..181 "feature" 110 L_PAREN@173..174 "("
108 WHITESPACE@181..182 " " 111 IDENT@174..181 "feature"
109 EQ@182..183 "=" 112 WHITESPACE@181..182 " "
110 WHITESPACE@183..184 " " 113 EQ@182..183 "="
111 STRING@184..196 "\"attributes\"" 114 WHITESPACE@183..184 " "
112 R_PAREN@196..197 ")" 115 STRING@184..196 "\"attributes\""
116 R_PAREN@196..197 ")"
113 R_BRACK@197..198 "]" 117 R_BRACK@197..198 "]"
114 WHITESPACE@198..207 "\n " 118 WHITESPACE@198..207 "\n "
115 ATTR@207..233 119 ATTR@207..233
116 POUND@207..208 "#" 120 POUND@207..208 "#"
117 L_BRACK@208..209 "[" 121 L_BRACK@208..209 "["
118 PATH@209..212 122 META@209..232
119 PATH_SEGMENT@209..212 123 PATH@209..212
120 NAME_REF@209..212 124 PATH_SEGMENT@209..212
121 IDENT@209..212 "cfg" 125 NAME_REF@209..212
122 TOKEN_TREE@212..232 126 IDENT@209..212 "cfg"
123 L_PAREN@212..213 "(" 127 TOKEN_TREE@212..232
124 IDENT@213..220 "feature" 128 L_PAREN@212..213 "("
125 WHITESPACE@220..221 " " 129 IDENT@213..220 "feature"
126 EQ@221..222 "=" 130 WHITESPACE@220..221 " "
127 WHITESPACE@222..223 " " 131 EQ@221..222 "="
128 STRING@223..231 "\"before\"" 132 WHITESPACE@222..223 " "
129 R_PAREN@231..232 ")" 133 STRING@223..231 "\"before\""
134 R_PAREN@231..232 ")"
130 R_BRACK@232..233 "]" 135 R_BRACK@232..233 "]"
131 WHITESPACE@233..242 "\n " 136 WHITESPACE@233..242 "\n "
132 WILDCARD_PAT@242..243 137 WILDCARD_PAT@242..243
diff --git a/crates/syntax/test_data/parser/inline/ok/0122_generic_lifetime_type_attribute.rast b/crates/syntax/test_data/parser/inline/ok/0122_generic_lifetime_type_attribute.rast
index 616aa984e..840181383 100644
--- a/crates/syntax/test_data/parser/inline/ok/0122_generic_lifetime_type_attribute.rast
+++ b/crates/syntax/test_data/parser/inline/ok/0122_generic_lifetime_type_attribute.rast
@@ -10,14 +10,15 @@ SOURCE_FILE@0..64
10 ATTR@7..26 10 ATTR@7..26
11 POUND@7..8 "#" 11 POUND@7..8 "#"
12 L_BRACK@8..9 "[" 12 L_BRACK@8..9 "["
13 PATH@9..15 13 META@9..25
14 PATH_SEGMENT@9..15 14 PATH@9..15
15 NAME_REF@9..15 15 PATH_SEGMENT@9..15
16 IDENT@9..15 "derive" 16 NAME_REF@9..15
17 TOKEN_TREE@15..25 17 IDENT@9..15 "derive"
18 L_PAREN@15..16 "(" 18 TOKEN_TREE@15..25
19 IDENT@16..24 "Lifetime" 19 L_PAREN@15..16 "("
20 R_PAREN@24..25 ")" 20 IDENT@16..24 "Lifetime"
21 R_PAREN@24..25 ")"
21 R_BRACK@25..26 "]" 22 R_BRACK@25..26 "]"
22 WHITESPACE@26..27 " " 23 WHITESPACE@26..27 " "
23 LIFETIME@27..29 24 LIFETIME@27..29
@@ -28,14 +29,15 @@ SOURCE_FILE@0..64
28 ATTR@31..46 29 ATTR@31..46
29 POUND@31..32 "#" 30 POUND@31..32 "#"
30 L_BRACK@32..33 "[" 31 L_BRACK@32..33 "["
31 PATH@33..39 32 META@33..45
32 PATH_SEGMENT@33..39 33 PATH@33..39
33 NAME_REF@33..39 34 PATH_SEGMENT@33..39
34 IDENT@33..39 "derive" 35 NAME_REF@33..39
35 TOKEN_TREE@39..45 36 IDENT@33..39 "derive"
36 L_PAREN@39..40 "(" 37 TOKEN_TREE@39..45
37 IDENT@40..44 "Type" 38 L_PAREN@39..40 "("
38 R_PAREN@44..45 ")" 39 IDENT@40..44 "Type"
40 R_PAREN@44..45 ")"
39 R_BRACK@45..46 "]" 41 R_BRACK@45..46 "]"
40 WHITESPACE@46..47 " " 42 WHITESPACE@46..47 " "
41 NAME@47..48 43 NAME@47..48
diff --git a/crates/syntax/test_data/parser/inline/ok/0125_record_literal_field_with_attr.rast b/crates/syntax/test_data/parser/inline/ok/0125_record_literal_field_with_attr.rast
index 54ea2c7c6..5e82214c0 100644
--- a/crates/syntax/test_data/parser/inline/ok/0125_record_literal_field_with_attr.rast
+++ b/crates/syntax/test_data/parser/inline/ok/0125_record_literal_field_with_attr.rast
@@ -24,14 +24,15 @@ SOURCE_FILE@0..46
24 ATTR@20..32 24 ATTR@20..32
25 POUND@20..21 "#" 25 POUND@20..21 "#"
26 L_BRACK@21..22 "[" 26 L_BRACK@21..22 "["
27 PATH@22..25 27 META@22..31
28 PATH_SEGMENT@22..25 28 PATH@22..25
29 NAME_REF@22..25 29 PATH_SEGMENT@22..25
30 IDENT@22..25 "cfg" 30 NAME_REF@22..25
31 TOKEN_TREE@25..31 31 IDENT@22..25 "cfg"
32 L_PAREN@25..26 "(" 32 TOKEN_TREE@25..31
33 IDENT@26..30 "test" 33 L_PAREN@25..26 "("
34 R_PAREN@30..31 ")" 34 IDENT@26..30 "test"
35 R_PAREN@30..31 ")"
35 R_BRACK@31..32 "]" 36 R_BRACK@31..32 "]"
36 WHITESPACE@32..33 " " 37 WHITESPACE@32..33 " "
37 NAME_REF@33..38 38 NAME_REF@33..38
diff --git a/crates/syntax/test_data/parser/inline/ok/0126_attr_on_expr_stmt.rast b/crates/syntax/test_data/parser/inline/ok/0126_attr_on_expr_stmt.rast
index 0342e64f3..178204fec 100644
--- a/crates/syntax/test_data/parser/inline/ok/0126_attr_on_expr_stmt.rast
+++ b/crates/syntax/test_data/parser/inline/ok/0126_attr_on_expr_stmt.rast
@@ -15,10 +15,11 @@ SOURCE_FILE@0..82
15 ATTR@15..19 15 ATTR@15..19
16 POUND@15..16 "#" 16 POUND@15..16 "#"
17 L_BRACK@16..17 "[" 17 L_BRACK@16..17 "["
18 PATH@17..18 18 META@17..18
19 PATH_SEGMENT@17..18 19 PATH@17..18
20 NAME_REF@17..18 20 PATH_SEGMENT@17..18
21 IDENT@17..18 "A" 21 NAME_REF@17..18
22 IDENT@17..18 "A"
22 R_BRACK@18..19 "]" 23 R_BRACK@18..19 "]"
23 WHITESPACE@19..20 " " 24 WHITESPACE@19..20 " "
24 CALL_EXPR@20..25 25 CALL_EXPR@20..25
@@ -36,10 +37,11 @@ SOURCE_FILE@0..82
36 ATTR@31..35 37 ATTR@31..35
37 POUND@31..32 "#" 38 POUND@31..32 "#"
38 L_BRACK@32..33 "[" 39 L_BRACK@32..33 "["
39 PATH@33..34 40 META@33..34
40 PATH_SEGMENT@33..34 41 PATH@33..34
41 NAME_REF@33..34 42 PATH_SEGMENT@33..34
42 IDENT@33..34 "B" 43 NAME_REF@33..34
44 IDENT@33..34 "B"
43 R_BRACK@34..35 "]" 45 R_BRACK@34..35 "]"
44 WHITESPACE@35..36 " " 46 WHITESPACE@35..36 " "
45 MACRO_CALL@36..42 47 MACRO_CALL@36..42
@@ -56,19 +58,21 @@ SOURCE_FILE@0..82
56 ATTR@47..51 58 ATTR@47..51
57 POUND@47..48 "#" 59 POUND@47..48 "#"
58 L_BRACK@48..49 "[" 60 L_BRACK@48..49 "["
59 PATH@49..50 61 META@49..50
60 PATH_SEGMENT@49..50 62 PATH@49..50
61 NAME_REF@49..50 63 PATH_SEGMENT@49..50
62 IDENT@49..50 "C" 64 NAME_REF@49..50
65 IDENT@49..50 "C"
63 R_BRACK@50..51 "]" 66 R_BRACK@50..51 "]"
64 WHITESPACE@51..52 " " 67 WHITESPACE@51..52 " "
65 ATTR@52..56 68 ATTR@52..56
66 POUND@52..53 "#" 69 POUND@52..53 "#"
67 L_BRACK@53..54 "[" 70 L_BRACK@53..54 "["
68 PATH@54..55 71 META@54..55
69 PATH_SEGMENT@54..55 72 PATH@54..55
70 NAME_REF@54..55 73 PATH_SEGMENT@54..55
71 IDENT@54..55 "D" 74 NAME_REF@54..55
75 IDENT@54..55 "D"
72 R_BRACK@55..56 "]" 76 R_BRACK@55..56 "]"
73 WHITESPACE@56..57 " " 77 WHITESPACE@56..57 " "
74 BLOCK_EXPR@57..59 78 BLOCK_EXPR@57..59
@@ -79,10 +83,11 @@ SOURCE_FILE@0..82
79 ATTR@64..68 83 ATTR@64..68
80 POUND@64..65 "#" 84 POUND@64..65 "#"
81 L_BRACK@65..66 "[" 85 L_BRACK@65..66 "["
82 PATH@66..67 86 META@66..67
83 PATH_SEGMENT@66..67 87 PATH@66..67
84 NAME_REF@66..67 88 PATH_SEGMENT@66..67
85 IDENT@66..67 "D" 89 NAME_REF@66..67
90 IDENT@66..67 "D"
86 R_BRACK@67..68 "]" 91 R_BRACK@67..68 "]"
87 WHITESPACE@68..69 " " 92 WHITESPACE@68..69 " "
88 RETURN_EXPR@69..78 93 RETURN_EXPR@69..78
diff --git a/crates/syntax/test_data/parser/inline/ok/0127_attr_on_last_expr_in_block.rast b/crates/syntax/test_data/parser/inline/ok/0127_attr_on_last_expr_in_block.rast
index 3b46e5b47..9daac234a 100644
--- a/crates/syntax/test_data/parser/inline/ok/0127_attr_on_last_expr_in_block.rast
+++ b/crates/syntax/test_data/parser/inline/ok/0127_attr_on_last_expr_in_block.rast
@@ -19,10 +19,11 @@ SOURCE_FILE@0..47
19 ATTR@17..21 19 ATTR@17..21
20 POUND@17..18 "#" 20 POUND@17..18 "#"
21 L_BRACK@18..19 "[" 21 L_BRACK@18..19 "["
22 PATH@19..20 22 META@19..20
23 PATH_SEGMENT@19..20 23 PATH@19..20
24 NAME_REF@19..20 24 PATH_SEGMENT@19..20
25 IDENT@19..20 "A" 25 NAME_REF@19..20
26 IDENT@19..20 "A"
26 R_BRACK@20..21 "]" 27 R_BRACK@20..21 "]"
27 WHITESPACE@21..22 " " 28 WHITESPACE@21..22 " "
28 MACRO_CALL@22..28 29 MACRO_CALL@22..28
@@ -42,10 +43,11 @@ SOURCE_FILE@0..47
42 ATTR@36..40 43 ATTR@36..40
43 POUND@36..37 "#" 44 POUND@36..37 "#"
44 L_BRACK@37..38 "[" 45 L_BRACK@37..38 "["
45 PATH@38..39 46 META@38..39
46 PATH_SEGMENT@38..39 47 PATH@38..39
47 NAME_REF@38..39 48 PATH_SEGMENT@38..39
48 IDENT@38..39 "B" 49 NAME_REF@38..39
50 IDENT@38..39 "B"
49 R_BRACK@39..40 "]" 51 R_BRACK@39..40 "]"
50 WHITESPACE@40..41 " " 52 WHITESPACE@40..41 " "
51 AMP@41..42 "&" 53 AMP@41..42 "&"
diff --git a/crates/syntax/test_data/parser/inline/ok/0130_let_stmt.rast b/crates/syntax/test_data/parser/inline/ok/0130_let_stmt.rast
index 4c07cefa6..c3a79836a 100644
--- a/crates/syntax/test_data/parser/inline/ok/0130_let_stmt.rast
+++ b/crates/syntax/test_data/parser/inline/ok/0130_let_stmt.rast
@@ -109,10 +109,11 @@ SOURCE_FILE@0..135
109 ATTR@120..127 109 ATTR@120..127
110 POUND@120..121 "#" 110 POUND@120..121 "#"
111 L_BRACK@121..122 "[" 111 L_BRACK@121..122 "["
112 PATH@122..126 112 META@122..126
113 PATH_SEGMENT@122..126 113 PATH@122..126
114 NAME_REF@122..126 114 PATH_SEGMENT@122..126
115 IDENT@122..126 "attr" 115 NAME_REF@122..126
116 IDENT@122..126 "attr"
116 R_BRACK@126..127 "]" 117 R_BRACK@126..127 "]"
117 PARAM_LIST@127..129 118 PARAM_LIST@127..129
118 PIPE@127..128 "|" 119 PIPE@127..128 "|"
diff --git a/crates/syntax/test_data/parser/inline/ok/0138_self_param_outer_attr.rast b/crates/syntax/test_data/parser/inline/ok/0138_self_param_outer_attr.rast
index c54e64e3f..891eace59 100644
--- a/crates/syntax/test_data/parser/inline/ok/0138_self_param_outer_attr.rast
+++ b/crates/syntax/test_data/parser/inline/ok/0138_self_param_outer_attr.rast
@@ -10,10 +10,11 @@ SOURCE_FILE@0..26
10 ATTR@5..16 10 ATTR@5..16
11 POUND@5..6 "#" 11 POUND@5..6 "#"
12 L_BRACK@6..7 "[" 12 L_BRACK@6..7 "["
13 PATH@7..15 13 META@7..15
14 PATH_SEGMENT@7..15 14 PATH@7..15
15 NAME_REF@7..15 15 PATH_SEGMENT@7..15
16 IDENT@7..15 "must_use" 16 NAME_REF@7..15
17 IDENT@7..15 "must_use"
17 R_BRACK@15..16 "]" 18 R_BRACK@15..16 "]"
18 WHITESPACE@16..17 " " 19 WHITESPACE@16..17 " "
19 NAME@17..21 20 NAME@17..21
diff --git a/crates/syntax/test_data/parser/inline/ok/0139_param_outer_arg.rast b/crates/syntax/test_data/parser/inline/ok/0139_param_outer_arg.rast
index a84088bf3..a363e592b 100644
--- a/crates/syntax/test_data/parser/inline/ok/0139_param_outer_arg.rast
+++ b/crates/syntax/test_data/parser/inline/ok/0139_param_outer_arg.rast
@@ -10,10 +10,11 @@ SOURCE_FILE@0..28
10 ATTR@5..13 10 ATTR@5..13
11 POUND@5..6 "#" 11 POUND@5..6 "#"
12 L_BRACK@6..7 "[" 12 L_BRACK@6..7 "["
13 PATH@7..12 13 META@7..12
14 PATH_SEGMENT@7..12 14 PATH@7..12
15 NAME_REF@7..12 15 PATH_SEGMENT@7..12
16 IDENT@7..12 "attr1" 16 NAME_REF@7..12
17 IDENT@7..12 "attr1"
17 R_BRACK@12..13 "]" 18 R_BRACK@12..13 "]"
18 WHITESPACE@13..14 " " 19 WHITESPACE@13..14 " "
19 IDENT_PAT@14..17 20 IDENT_PAT@14..17
diff --git a/crates/syntax/test_data/parser/inline/ok/0145_record_pat_field.rast b/crates/syntax/test_data/parser/inline/ok/0145_record_pat_field.rast
index e9202a612..c606a7c9b 100644
--- a/crates/syntax/test_data/parser/inline/ok/0145_record_pat_field.rast
+++ b/crates/syntax/test_data/parser/inline/ok/0145_record_pat_field.rast
@@ -87,17 +87,18 @@ SOURCE_FILE@0..102
87 ATTR@73..86 87 ATTR@73..86
88 POUND@73..74 "#" 88 POUND@73..74 "#"
89 L_BRACK@74..75 "[" 89 L_BRACK@74..75 "["
90 PATH@75..78 90 META@75..85
91 PATH_SEGMENT@75..78 91 PATH@75..78
92 NAME_REF@75..78 92 PATH_SEGMENT@75..78
93 IDENT@75..78 "cfg" 93 NAME_REF@75..78
94 TOKEN_TREE@78..85 94 IDENT@75..78 "cfg"
95 L_PAREN@78..79 "(" 95 TOKEN_TREE@78..85
96 IDENT@79..82 "any" 96 L_PAREN@78..79 "("
97 TOKEN_TREE@82..84 97 IDENT@79..82 "any"
98 L_PAREN@82..83 "(" 98 TOKEN_TREE@82..84
99 R_PAREN@83..84 ")" 99 L_PAREN@82..83 "("
100 R_PAREN@84..85 ")" 100 R_PAREN@83..84 ")"
101 R_PAREN@84..85 ")"
101 R_BRACK@85..86 "]" 102 R_BRACK@85..86 "]"
102 WHITESPACE@86..87 " " 103 WHITESPACE@86..87 " "
103 NAME_REF@87..88 104 NAME_REF@87..88
diff --git a/crates/syntax/test_data/parser/inline/ok/0150_array_attrs.rast b/crates/syntax/test_data/parser/inline/ok/0150_array_attrs.rast
index f284aafcd..26cdc2945 100644
--- a/crates/syntax/test_data/parser/inline/ok/0150_array_attrs.rast
+++ b/crates/syntax/test_data/parser/inline/ok/0150_array_attrs.rast
@@ -31,14 +31,15 @@ SOURCE_FILE@0..40
31 ATTR@23..35 31 ATTR@23..35
32 POUND@23..24 "#" 32 POUND@23..24 "#"
33 L_BRACK@24..25 "[" 33 L_BRACK@24..25 "["
34 PATH@25..28 34 META@25..34
35 PATH_SEGMENT@25..28 35 PATH@25..28
36 NAME_REF@25..28 36 PATH_SEGMENT@25..28
37 IDENT@25..28 "cfg" 37 NAME_REF@25..28
38 TOKEN_TREE@28..34 38 IDENT@25..28 "cfg"
39 L_PAREN@28..29 "(" 39 TOKEN_TREE@28..34
40 IDENT@29..33 "test" 40 L_PAREN@28..29 "("
41 R_PAREN@33..34 ")" 41 IDENT@29..33 "test"
42 R_PAREN@33..34 ")"
42 R_BRACK@34..35 "]" 43 R_BRACK@34..35 "]"
43 WHITESPACE@35..36 " " 44 WHITESPACE@35..36 " "
44 INT_NUMBER@36..37 "2" 45 INT_NUMBER@36..37 "2"
diff --git a/crates/syntax/test_data/parser/inline/ok/0152_arg_with_attr.rast b/crates/syntax/test_data/parser/inline/ok/0152_arg_with_attr.rast
index 2905c5f1a..1d20765b0 100644
--- a/crates/syntax/test_data/parser/inline/ok/0152_arg_with_attr.rast
+++ b/crates/syntax/test_data/parser/inline/ok/0152_arg_with_attr.rast
@@ -23,10 +23,11 @@ SOURCE_FILE@0..34
23 ATTR@20..27 23 ATTR@20..27
24 POUND@20..21 "#" 24 POUND@20..21 "#"
25 L_BRACK@21..22 "[" 25 L_BRACK@21..22 "["
26 PATH@22..26 26 META@22..26
27 PATH_SEGMENT@22..26 27 PATH@22..26
28 NAME_REF@22..26 28 PATH_SEGMENT@22..26
29 IDENT@22..26 "attr" 29 NAME_REF@22..26
30 IDENT@22..26 "attr"
30 R_BRACK@26..27 "]" 31 R_BRACK@26..27 "]"
31 WHITESPACE@27..28 " " 32 WHITESPACE@27..28 " "
32 INT_NUMBER@28..30 "92" 33 INT_NUMBER@28..30 "92"
diff --git a/crates/syntax/test_data/parser/inline/ok/0154_tuple_attrs.rast b/crates/syntax/test_data/parser/inline/ok/0154_tuple_attrs.rast
index d34b21abe..3b6612677 100644
--- a/crates/syntax/test_data/parser/inline/ok/0154_tuple_attrs.rast
+++ b/crates/syntax/test_data/parser/inline/ok/0154_tuple_attrs.rast
@@ -34,14 +34,15 @@ SOURCE_FILE@0..43
34 ATTR@26..38 34 ATTR@26..38
35 POUND@26..27 "#" 35 POUND@26..27 "#"
36 L_BRACK@27..28 "[" 36 L_BRACK@27..28 "["
37 PATH@28..31 37 META@28..37
38 PATH_SEGMENT@28..31 38 PATH@28..31
39 NAME_REF@28..31 39 PATH_SEGMENT@28..31
40 IDENT@28..31 "cfg" 40 NAME_REF@28..31
41 TOKEN_TREE@31..37 41 IDENT@28..31 "cfg"
42 L_PAREN@31..32 "(" 42 TOKEN_TREE@31..37
43 IDENT@32..36 "test" 43 L_PAREN@31..32 "("
44 R_PAREN@36..37 ")" 44 IDENT@32..36 "test"
45 R_PAREN@36..37 ")"
45 R_BRACK@37..38 "]" 46 R_BRACK@37..38 "]"
46 WHITESPACE@38..39 " " 47 WHITESPACE@38..39 " "
47 INT_NUMBER@39..40 "2" 48 INT_NUMBER@39..40 "2"
diff --git a/crates/syntax/test_data/parser/ok/0006_inner_attributes.rast b/crates/syntax/test_data/parser/ok/0006_inner_attributes.rast
index 42587243a..be2d1dc12 100644
--- a/crates/syntax/test_data/parser/ok/0006_inner_attributes.rast
+++ b/crates/syntax/test_data/parser/ok/0006_inner_attributes.rast
@@ -3,182 +3,192 @@ SOURCE_FILE@0..236
3 POUND@0..1 "#" 3 POUND@0..1 "#"
4 BANG@1..2 "!" 4 BANG@1..2 "!"
5 L_BRACK@2..3 "[" 5 L_BRACK@2..3 "["
6 PATH@3..7 6 META@3..7
7 PATH_SEGMENT@3..7 7 PATH@3..7
8 NAME_REF@3..7 8 PATH_SEGMENT@3..7
9 IDENT@3..7 "attr" 9 NAME_REF@3..7
10 IDENT@3..7 "attr"
10 R_BRACK@7..8 "]" 11 R_BRACK@7..8 "]"
11 WHITESPACE@8..9 "\n" 12 WHITESPACE@8..9 "\n"
12 ATTR@9..23 13 ATTR@9..23
13 POUND@9..10 "#" 14 POUND@9..10 "#"
14 BANG@10..11 "!" 15 BANG@10..11 "!"
15 L_BRACK@11..12 "[" 16 L_BRACK@11..12 "["
16 PATH@12..16 17 META@12..22
17 PATH_SEGMENT@12..16 18 PATH@12..16
18 NAME_REF@12..16 19 PATH_SEGMENT@12..16
19 IDENT@12..16 "attr" 20 NAME_REF@12..16
20 TOKEN_TREE@16..22 21 IDENT@12..16 "attr"
21 L_PAREN@16..17 "(" 22 TOKEN_TREE@16..22
22 TRUE_KW@17..21 "true" 23 L_PAREN@16..17 "("
23 R_PAREN@21..22 ")" 24 TRUE_KW@17..21 "true"
25 R_PAREN@21..22 ")"
24 R_BRACK@22..23 "]" 26 R_BRACK@22..23 "]"
25 WHITESPACE@23..24 "\n" 27 WHITESPACE@23..24 "\n"
26 ATTR@24..39 28 ATTR@24..39
27 POUND@24..25 "#" 29 POUND@24..25 "#"
28 BANG@25..26 "!" 30 BANG@25..26 "!"
29 L_BRACK@26..27 "[" 31 L_BRACK@26..27 "["
30 PATH@27..31 32 META@27..38
31 PATH_SEGMENT@27..31 33 PATH@27..31
32 NAME_REF@27..31 34 PATH_SEGMENT@27..31
33 IDENT@27..31 "attr" 35 NAME_REF@27..31
34 TOKEN_TREE@31..38 36 IDENT@27..31 "attr"
35 L_PAREN@31..32 "(" 37 TOKEN_TREE@31..38
36 IDENT@32..37 "ident" 38 L_PAREN@31..32 "("
37 R_PAREN@37..38 ")" 39 IDENT@32..37 "ident"
40 R_PAREN@37..38 ")"
38 R_BRACK@38..39 "]" 41 R_BRACK@38..39 "]"
39 WHITESPACE@39..40 "\n" 42 WHITESPACE@39..40 "\n"
40 ATTR@40..116 43 ATTR@40..116
41 POUND@40..41 "#" 44 POUND@40..41 "#"
42 BANG@41..42 "!" 45 BANG@41..42 "!"
43 L_BRACK@42..43 "[" 46 L_BRACK@42..43 "["
44 PATH@43..47 47 META@43..115
45 PATH_SEGMENT@43..47 48 PATH@43..47
46 NAME_REF@43..47 49 PATH_SEGMENT@43..47
47 IDENT@43..47 "attr" 50 NAME_REF@43..47
48 TOKEN_TREE@47..115 51 IDENT@43..47 "attr"
49 L_PAREN@47..48 "(" 52 TOKEN_TREE@47..115
50 IDENT@48..53 "ident" 53 L_PAREN@47..48 "("
51 COMMA@53..54 "," 54 IDENT@48..53 "ident"
52 WHITESPACE@54..55 " " 55 COMMA@53..54 ","
53 INT_NUMBER@55..58 "100" 56 WHITESPACE@54..55 " "
54 COMMA@58..59 "," 57 INT_NUMBER@55..58 "100"
55 WHITESPACE@59..60 " " 58 COMMA@58..59 ","
56 TRUE_KW@60..64 "true" 59 WHITESPACE@59..60 " "
57 COMMA@64..65 "," 60 TRUE_KW@60..64 "true"
58 WHITESPACE@65..66 " " 61 COMMA@64..65 ","
59 STRING@66..72 "\"true\"" 62 WHITESPACE@65..66 " "
60 COMMA@72..73 "," 63 STRING@66..72 "\"true\""
61 WHITESPACE@73..74 " " 64 COMMA@72..73 ","
62 IDENT@74..79 "ident" 65 WHITESPACE@73..74 " "
63 WHITESPACE@79..80 " " 66 IDENT@74..79 "ident"
64 EQ@80..81 "=" 67 WHITESPACE@79..80 " "
65 WHITESPACE@81..82 " " 68 EQ@80..81 "="
66 INT_NUMBER@82..85 "100" 69 WHITESPACE@81..82 " "
67 COMMA@85..86 "," 70 INT_NUMBER@82..85 "100"
68 WHITESPACE@86..87 " " 71 COMMA@85..86 ","
69 IDENT@87..92 "ident" 72 WHITESPACE@86..87 " "
70 WHITESPACE@92..93 " " 73 IDENT@87..92 "ident"
71 EQ@93..94 "=" 74 WHITESPACE@92..93 " "
72 WHITESPACE@94..95 " " 75 EQ@93..94 "="
73 STRING@95..102 "\"hello\"" 76 WHITESPACE@94..95 " "
74 COMMA@102..103 "," 77 STRING@95..102 "\"hello\""
75 WHITESPACE@103..104 " " 78 COMMA@102..103 ","
76 IDENT@104..109 "ident" 79 WHITESPACE@103..104 " "
77 TOKEN_TREE@109..114 80 IDENT@104..109 "ident"
78 L_PAREN@109..110 "(" 81 TOKEN_TREE@109..114
79 INT_NUMBER@110..113 "100" 82 L_PAREN@109..110 "("
80 R_PAREN@113..114 ")" 83 INT_NUMBER@110..113 "100"
81 R_PAREN@114..115 ")" 84 R_PAREN@113..114 ")"
85 R_PAREN@114..115 ")"
82 R_BRACK@115..116 "]" 86 R_BRACK@115..116 "]"
83 WHITESPACE@116..117 "\n" 87 WHITESPACE@116..117 "\n"
84 ATTR@117..130 88 ATTR@117..130
85 POUND@117..118 "#" 89 POUND@117..118 "#"
86 BANG@118..119 "!" 90 BANG@118..119 "!"
87 L_BRACK@119..120 "[" 91 L_BRACK@119..120 "["
88 PATH@120..124 92 META@120..129
89 PATH_SEGMENT@120..124 93 PATH@120..124
90 NAME_REF@120..124 94 PATH_SEGMENT@120..124
91 IDENT@120..124 "attr" 95 NAME_REF@120..124
92 TOKEN_TREE@124..129 96 IDENT@120..124 "attr"
93 L_PAREN@124..125 "(" 97 TOKEN_TREE@124..129
94 INT_NUMBER@125..128 "100" 98 L_PAREN@124..125 "("
95 R_PAREN@128..129 ")" 99 INT_NUMBER@125..128 "100"
100 R_PAREN@128..129 ")"
96 R_BRACK@129..130 "]" 101 R_BRACK@129..130 "]"
97 WHITESPACE@130..131 "\n" 102 WHITESPACE@130..131 "\n"
98 ATTR@131..155 103 ATTR@131..155
99 POUND@131..132 "#" 104 POUND@131..132 "#"
100 BANG@132..133 "!" 105 BANG@132..133 "!"
101 L_BRACK@133..134 "[" 106 L_BRACK@133..134 "["
102 PATH@134..138 107 META@134..154
103 PATH_SEGMENT@134..138 108 PATH@134..138
104 NAME_REF@134..138 109 PATH_SEGMENT@134..138
105 IDENT@134..138 "attr" 110 NAME_REF@134..138
106 TOKEN_TREE@138..154 111 IDENT@134..138 "attr"
107 L_PAREN@138..139 "(" 112 TOKEN_TREE@138..154
108 IDENT@139..146 "enabled" 113 L_PAREN@138..139 "("
109 WHITESPACE@146..147 " " 114 IDENT@139..146 "enabled"
110 EQ@147..148 "=" 115 WHITESPACE@146..147 " "
111 WHITESPACE@148..149 " " 116 EQ@147..148 "="
112 TRUE_KW@149..153 "true" 117 WHITESPACE@148..149 " "
113 R_PAREN@153..154 ")" 118 TRUE_KW@149..153 "true"
119 R_PAREN@153..154 ")"
114 R_BRACK@154..155 "]" 120 R_BRACK@154..155 "]"
115 WHITESPACE@155..156 "\n" 121 WHITESPACE@155..156 "\n"
116 ATTR@156..173 122 ATTR@156..173
117 POUND@156..157 "#" 123 POUND@156..157 "#"
118 BANG@157..158 "!" 124 BANG@157..158 "!"
119 L_BRACK@158..159 "[" 125 L_BRACK@158..159 "["
120 PATH@159..166 126 META@159..172
121 PATH_SEGMENT@159..166 127 PATH@159..166
122 NAME_REF@159..166 128 PATH_SEGMENT@159..166
123 IDENT@159..166 "enabled" 129 NAME_REF@159..166
124 TOKEN_TREE@166..172 130 IDENT@159..166 "enabled"
125 L_PAREN@166..167 "(" 131 TOKEN_TREE@166..172
126 TRUE_KW@167..171 "true" 132 L_PAREN@166..167 "("
127 R_PAREN@171..172 ")" 133 TRUE_KW@167..171 "true"
134 R_PAREN@171..172 ")"
128 R_BRACK@172..173 "]" 135 R_BRACK@172..173 "]"
129 WHITESPACE@173..174 "\n" 136 WHITESPACE@173..174 "\n"
130 ATTR@174..191 137 ATTR@174..191
131 POUND@174..175 "#" 138 POUND@174..175 "#"
132 BANG@175..176 "!" 139 BANG@175..176 "!"
133 L_BRACK@176..177 "[" 140 L_BRACK@176..177 "["
134 PATH@177..181 141 META@177..190
135 PATH_SEGMENT@177..181 142 PATH@177..181
136 NAME_REF@177..181 143 PATH_SEGMENT@177..181
137 IDENT@177..181 "attr" 144 NAME_REF@177..181
138 TOKEN_TREE@181..190 145 IDENT@177..181 "attr"
139 L_PAREN@181..182 "(" 146 TOKEN_TREE@181..190
140 STRING@182..189 "\"hello\"" 147 L_PAREN@181..182 "("
141 R_PAREN@189..190 ")" 148 STRING@182..189 "\"hello\""
149 R_PAREN@189..190 ")"
142 R_BRACK@190..191 "]" 150 R_BRACK@190..191 "]"
143 WHITESPACE@191..192 "\n" 151 WHITESPACE@191..192 "\n"
144 ATTR@192..214 152 ATTR@192..214
145 POUND@192..193 "#" 153 POUND@192..193 "#"
146 BANG@193..194 "!" 154 BANG@193..194 "!"
147 L_BRACK@194..195 "[" 155 L_BRACK@194..195 "["
148 PATH@195..199 156 META@195..213
149 PATH_SEGMENT@195..199 157 PATH@195..199
150 NAME_REF@195..199 158 PATH_SEGMENT@195..199
151 IDENT@195..199 "repr" 159 NAME_REF@195..199
152 TOKEN_TREE@199..213 160 IDENT@195..199 "repr"
153 L_PAREN@199..200 "(" 161 TOKEN_TREE@199..213
154 IDENT@200..201 "C" 162 L_PAREN@199..200 "("
155 COMMA@201..202 "," 163 IDENT@200..201 "C"
156 WHITESPACE@202..203 " " 164 COMMA@201..202 ","
157 IDENT@203..208 "align" 165 WHITESPACE@202..203 " "
158 WHITESPACE@208..209 " " 166 IDENT@203..208 "align"
159 EQ@209..210 "=" 167 WHITESPACE@208..209 " "
160 WHITESPACE@210..211 " " 168 EQ@209..210 "="
161 INT_NUMBER@211..212 "4" 169 WHITESPACE@210..211 " "
162 R_PAREN@212..213 ")" 170 INT_NUMBER@211..212 "4"
171 R_PAREN@212..213 ")"
163 R_BRACK@213..214 "]" 172 R_BRACK@213..214 "]"
164 WHITESPACE@214..215 "\n" 173 WHITESPACE@214..215 "\n"
165 ATTR@215..236 174 ATTR@215..236
166 POUND@215..216 "#" 175 POUND@215..216 "#"
167 BANG@216..217 "!" 176 BANG@216..217 "!"
168 L_BRACK@217..218 "[" 177 L_BRACK@217..218 "["
169 PATH@218..222 178 META@218..235
170 PATH_SEGMENT@218..222 179 PATH@218..222
171 NAME_REF@218..222 180 PATH_SEGMENT@218..222
172 IDENT@218..222 "repr" 181 NAME_REF@218..222
173 TOKEN_TREE@222..235 182 IDENT@218..222 "repr"
174 L_PAREN@222..223 "(" 183 TOKEN_TREE@222..235
175 IDENT@223..224 "C" 184 L_PAREN@222..223 "("
176 COMMA@224..225 "," 185 IDENT@223..224 "C"
177 WHITESPACE@225..226 " " 186 COMMA@224..225 ","
178 IDENT@226..231 "align" 187 WHITESPACE@225..226 " "
179 TOKEN_TREE@231..234 188 IDENT@226..231 "align"
180 L_PAREN@231..232 "(" 189 TOKEN_TREE@231..234
181 INT_NUMBER@232..233 "4" 190 L_PAREN@231..232 "("
182 R_PAREN@233..234 ")" 191 INT_NUMBER@232..233 "4"
183 R_PAREN@234..235 ")" 192 R_PAREN@233..234 ")"
193 R_PAREN@234..235 ")"
184 R_BRACK@235..236 "]" 194 R_BRACK@235..236 "]"
diff --git a/crates/syntax/test_data/parser/ok/0008_mod_item.rast b/crates/syntax/test_data/parser/ok/0008_mod_item.rast
index b2c1d791f..8b1e0a52d 100644
--- a/crates/syntax/test_data/parser/ok/0008_mod_item.rast
+++ b/crates/syntax/test_data/parser/ok/0008_mod_item.rast
@@ -65,10 +65,11 @@ SOURCE_FILE@0..118
65 POUND@79..80 "#" 65 POUND@79..80 "#"
66 BANG@80..81 "!" 66 BANG@80..81 "!"
67 L_BRACK@81..82 "[" 67 L_BRACK@81..82 "["
68 PATH@82..86 68 META@82..86
69 PATH_SEGMENT@82..86 69 PATH@82..86
70 NAME_REF@82..86 70 PATH_SEGMENT@82..86
71 IDENT@82..86 "attr" 71 NAME_REF@82..86
72 IDENT@82..86 "attr"
72 R_BRACK@86..87 "]" 73 R_BRACK@86..87 "]"
73 WHITESPACE@87..92 "\n " 74 WHITESPACE@87..92 "\n "
74 MODULE@92..98 75 MODULE@92..98
diff --git a/crates/syntax/test_data/parser/ok/0011_outer_attribute.rast b/crates/syntax/test_data/parser/ok/0011_outer_attribute.rast
index 478fdba75..ff5877a7b 100644
--- a/crates/syntax/test_data/parser/ok/0011_outer_attribute.rast
+++ b/crates/syntax/test_data/parser/ok/0011_outer_attribute.rast
@@ -3,23 +3,25 @@ SOURCE_FILE@0..60
3 ATTR@0..12 3 ATTR@0..12
4 POUND@0..1 "#" 4 POUND@0..1 "#"
5 L_BRACK@1..2 "[" 5 L_BRACK@1..2 "["
6 PATH@2..5 6 META@2..11
7 PATH_SEGMENT@2..5 7 PATH@2..5
8 NAME_REF@2..5 8 PATH_SEGMENT@2..5
9 IDENT@2..5 "cfg" 9 NAME_REF@2..5
10 TOKEN_TREE@5..11 10 IDENT@2..5 "cfg"
11 L_PAREN@5..6 "(" 11 TOKEN_TREE@5..11
12 IDENT@6..10 "test" 12 L_PAREN@5..6 "("
13 R_PAREN@10..11 ")" 13 IDENT@6..10 "test"
14 R_PAREN@10..11 ")"
14 R_BRACK@11..12 "]" 15 R_BRACK@11..12 "]"
15 WHITESPACE@12..13 "\n" 16 WHITESPACE@12..13 "\n"
16 ATTR@13..22 17 ATTR@13..22
17 POUND@13..14 "#" 18 POUND@13..14 "#"
18 L_BRACK@14..15 "[" 19 L_BRACK@14..15 "["
19 PATH@15..21 20 META@15..21
20 PATH_SEGMENT@15..21 21 PATH@15..21
21 NAME_REF@15..21 22 PATH_SEGMENT@15..21
22 IDENT@15..21 "ignore" 23 NAME_REF@15..21
24 IDENT@15..21 "ignore"
23 R_BRACK@21..22 "]" 25 R_BRACK@21..22 "]"
24 WHITESPACE@22..23 "\n" 26 WHITESPACE@22..23 "\n"
25 FN_KW@23..25 "fn" 27 FN_KW@23..25 "fn"
@@ -38,15 +40,16 @@ SOURCE_FILE@0..60
38 ATTR@36..52 40 ATTR@36..52
39 POUND@36..37 "#" 41 POUND@36..37 "#"
40 L_BRACK@37..38 "[" 42 L_BRACK@37..38 "["
41 PATH@38..42 43 META@38..51
42 PATH_SEGMENT@38..42 44 PATH@38..42
43 NAME_REF@38..42 45 PATH_SEGMENT@38..42
44 IDENT@38..42 "path" 46 NAME_REF@38..42
45 WHITESPACE@42..43 " " 47 IDENT@38..42 "path"
46 EQ@43..44 "=" 48 WHITESPACE@42..43 " "
47 WHITESPACE@44..45 " " 49 EQ@43..44 "="
48 LITERAL@45..51 50 WHITESPACE@44..45 " "
49 STRING@45..51 "\"a.rs\"" 51 LITERAL@45..51
52 STRING@45..51 "\"a.rs\""
50 R_BRACK@51..52 "]" 53 R_BRACK@51..52 "]"
51 WHITESPACE@52..53 "\n" 54 WHITESPACE@52..53 "\n"
52 MOD_KW@53..56 "mod" 55 MOD_KW@53..56 "mod"
diff --git a/crates/syntax/test_data/parser/ok/0017_attr_trailing_comma.rast b/crates/syntax/test_data/parser/ok/0017_attr_trailing_comma.rast
index a3e091ad3..94791f771 100644
--- a/crates/syntax/test_data/parser/ok/0017_attr_trailing_comma.rast
+++ b/crates/syntax/test_data/parser/ok/0017_attr_trailing_comma.rast
@@ -3,15 +3,16 @@ SOURCE_FILE@0..23
3 ATTR@0..10 3 ATTR@0..10
4 POUND@0..1 "#" 4 POUND@0..1 "#"
5 L_BRACK@1..2 "[" 5 L_BRACK@1..2 "["
6 PATH@2..5 6 META@2..9
7 PATH_SEGMENT@2..5 7 PATH@2..5
8 NAME_REF@2..5 8 PATH_SEGMENT@2..5
9 IDENT@2..5 "foo" 9 NAME_REF@2..5
10 TOKEN_TREE@5..9 10 IDENT@2..5 "foo"
11 L_PAREN@5..6 "(" 11 TOKEN_TREE@5..9
12 IDENT@6..7 "a" 12 L_PAREN@5..6 "("
13 COMMA@7..8 "," 13 IDENT@6..7 "a"
14 R_PAREN@8..9 ")" 14 COMMA@7..8 ","
15 R_PAREN@8..9 ")"
15 R_BRACK@9..10 "]" 16 R_BRACK@9..10 "]"
16 WHITESPACE@10..11 "\n" 17 WHITESPACE@10..11 "\n"
17 FN_KW@11..13 "fn" 18 FN_KW@11..13 "fn"
diff --git a/crates/syntax/test_data/parser/ok/0035_weird_exprs.rast b/crates/syntax/test_data/parser/ok/0035_weird_exprs.rast
index 46b192dc1..20675dbf5 100644
--- a/crates/syntax/test_data/parser/ok/0035_weird_exprs.rast
+++ b/crates/syntax/test_data/parser/ok/0035_weird_exprs.rast
@@ -11,71 +11,76 @@ SOURCE_FILE@0..3813
11 POUND@271..272 "#" 11 POUND@271..272 "#"
12 BANG@272..273 "!" 12 BANG@272..273 "!"
13 L_BRACK@273..274 "[" 13 L_BRACK@273..274 "["
14 PATH@274..279 14 META@274..301
15 PATH_SEGMENT@274..279 15 PATH@274..279
16 NAME_REF@274..279 16 PATH_SEGMENT@274..279
17 IDENT@274..279 "allow" 17 NAME_REF@274..279
18 TOKEN_TREE@279..301 18 IDENT@274..279 "allow"
19 L_PAREN@279..280 "(" 19 TOKEN_TREE@279..301
20 IDENT@280..300 "non_camel_case_types" 20 L_PAREN@279..280 "("
21 R_PAREN@300..301 ")" 21 IDENT@280..300 "non_camel_case_types"
22 R_PAREN@300..301 ")"
22 R_BRACK@301..302 "]" 23 R_BRACK@301..302 "]"
23 WHITESPACE@302..303 "\n" 24 WHITESPACE@302..303 "\n"
24 ATTR@303..323 25 ATTR@303..323
25 POUND@303..304 "#" 26 POUND@303..304 "#"
26 BANG@304..305 "!" 27 BANG@304..305 "!"
27 L_BRACK@305..306 "[" 28 L_BRACK@305..306 "["
28 PATH@306..311 29 META@306..322
29 PATH_SEGMENT@306..311 30 PATH@306..311
30 NAME_REF@306..311 31 PATH_SEGMENT@306..311
31 IDENT@306..311 "allow" 32 NAME_REF@306..311
32 TOKEN_TREE@311..322 33 IDENT@306..311 "allow"
33 L_PAREN@311..312 "(" 34 TOKEN_TREE@311..322
34 IDENT@312..321 "dead_code" 35 L_PAREN@311..312 "("
35 R_PAREN@321..322 ")" 36 IDENT@312..321 "dead_code"
37 R_PAREN@321..322 ")"
36 R_BRACK@322..323 "]" 38 R_BRACK@322..323 "]"
37 WHITESPACE@323..324 "\n" 39 WHITESPACE@323..324 "\n"
38 ATTR@324..351 40 ATTR@324..351
39 POUND@324..325 "#" 41 POUND@324..325 "#"
40 BANG@325..326 "!" 42 BANG@325..326 "!"
41 L_BRACK@326..327 "[" 43 L_BRACK@326..327 "["
42 PATH@327..332 44 META@327..350
43 PATH_SEGMENT@327..332 45 PATH@327..332
44 NAME_REF@327..332 46 PATH_SEGMENT@327..332
45 IDENT@327..332 "allow" 47 NAME_REF@327..332
46 TOKEN_TREE@332..350 48 IDENT@327..332 "allow"
47 L_PAREN@332..333 "(" 49 TOKEN_TREE@332..350
48 IDENT@333..349 "unreachable_code" 50 L_PAREN@332..333 "("
49 R_PAREN@349..350 ")" 51 IDENT@333..349 "unreachable_code"
52 R_PAREN@349..350 ")"
50 R_BRACK@350..351 "]" 53 R_BRACK@350..351 "]"
51 WHITESPACE@351..352 "\n" 54 WHITESPACE@351..352 "\n"
52 ATTR@352..376 55 ATTR@352..376
53 POUND@352..353 "#" 56 POUND@352..353 "#"
54 BANG@353..354 "!" 57 BANG@353..354 "!"
55 L_BRACK@354..355 "[" 58 L_BRACK@354..355 "["
56 PATH@355..360 59 META@355..375
57 PATH_SEGMENT@355..360 60 PATH@355..360
58 NAME_REF@355..360 61 PATH_SEGMENT@355..360
59 IDENT@355..360 "allow" 62 NAME_REF@355..360
60 TOKEN_TREE@360..375 63 IDENT@355..360 "allow"
61 L_PAREN@360..361 "(" 64 TOKEN_TREE@360..375
62 IDENT@361..374 "unused_parens" 65 L_PAREN@360..361 "("
63 R_PAREN@374..375 ")" 66 IDENT@361..374 "unused_parens"
67 R_PAREN@374..375 ")"
64 R_BRACK@375..376 "]" 68 R_BRACK@375..376 "]"
65 WHITESPACE@376..378 "\n\n" 69 WHITESPACE@376..378 "\n\n"
66 ATTR@378..405 70 ATTR@378..405
67 POUND@378..379 "#" 71 POUND@378..379 "#"
68 BANG@379..380 "!" 72 BANG@379..380 "!"
69 L_BRACK@380..381 "[" 73 L_BRACK@380..381 "["
70 PATH@381..396 74 META@381..404
71 PATH_SEGMENT@381..396 75 PATH@381..396
72 NAME_REF@381..396 76 PATH_SEGMENT@381..396
73 IDENT@381..396 "recursion_limit" 77 NAME_REF@381..396
74 WHITESPACE@396..397 " " 78 IDENT@381..396 "recursion_limit"
75 EQ@397..398 "=" 79 WHITESPACE@396..397 " "
76 WHITESPACE@398..399 " " 80 EQ@397..398 "="
77 LITERAL@399..404 81 WHITESPACE@398..399 " "
78 STRING@399..404 "\"128\"" 82 LITERAL@399..404
83 STRING@399..404 "\"128\""
79 R_BRACK@404..405 "]" 84 R_BRACK@404..405 "]"
80 WHITESPACE@405..407 "\n\n" 85 WHITESPACE@405..407 "\n\n"
81 USE@407..427 86 USE@407..427
diff --git a/crates/syntax/test_data/parser/ok/0044_let_attrs.rast b/crates/syntax/test_data/parser/ok/0044_let_attrs.rast
index af44a4dbe..d0e7a1dbe 100644
--- a/crates/syntax/test_data/parser/ok/0044_let_attrs.rast
+++ b/crates/syntax/test_data/parser/ok/0044_let_attrs.rast
@@ -17,18 +17,19 @@ SOURCE_FILE@0..166
17 ATTR@77..106 17 ATTR@77..106
18 POUND@77..78 "#" 18 POUND@77..78 "#"
19 L_BRACK@78..79 "[" 19 L_BRACK@78..79 "["
20 PATH@79..82 20 META@79..105
21 PATH_SEGMENT@79..82 21 PATH@79..82
22 NAME_REF@79..82 22 PATH_SEGMENT@79..82
23 IDENT@79..82 "cfg" 23 NAME_REF@79..82
24 TOKEN_TREE@82..105 24 IDENT@79..82 "cfg"
25 L_PAREN@82..83 "(" 25 TOKEN_TREE@82..105
26 IDENT@83..90 "feature" 26 L_PAREN@82..83 "("
27 WHITESPACE@90..91 " " 27 IDENT@83..90 "feature"
28 EQ@91..92 "=" 28 WHITESPACE@90..91 " "
29 WHITESPACE@92..93 " " 29 EQ@91..92 "="
30 STRING@93..104 "\"backtrace\"" 30 WHITESPACE@92..93 " "
31 R_PAREN@104..105 ")" 31 STRING@93..104 "\"backtrace\""
32 R_PAREN@104..105 ")"
32 R_BRACK@105..106 "]" 33 R_BRACK@105..106 "]"
33 WHITESPACE@106..111 "\n " 34 WHITESPACE@106..111 "\n "
34 LET_KW@111..114 "let" 35 LET_KW@111..114 "let"
diff --git a/crates/syntax/test_data/parser/ok/0045_block_attrs.rast b/crates/syntax/test_data/parser/ok/0045_block_attrs.rast
index 5e50b4e0b..7fbd635d0 100644
--- a/crates/syntax/test_data/parser/ok/0045_block_attrs.rast
+++ b/crates/syntax/test_data/parser/ok/0045_block_attrs.rast
@@ -15,14 +15,15 @@ SOURCE_FILE@0..764
15 POUND@17..18 "#" 15 POUND@17..18 "#"
16 BANG@18..19 "!" 16 BANG@18..19 "!"
17 L_BRACK@19..20 "[" 17 L_BRACK@19..20 "["
18 PATH@20..23 18 META@20..56
19 PATH_SEGMENT@20..23 19 PATH@20..23
20 NAME_REF@20..23 20 PATH_SEGMENT@20..23
21 IDENT@20..23 "doc" 21 NAME_REF@20..23
22 TOKEN_TREE@23..56 22 IDENT@20..23 "doc"
23 L_PAREN@23..24 "(" 23 TOKEN_TREE@23..56
24 STRING@24..55 "\"Inner attributes all ..." 24 L_PAREN@23..24 "("
25 R_PAREN@55..56 ")" 25 STRING@24..55 "\"Inner attributes all ..."
26 R_PAREN@55..56 ")"
26 R_BRACK@56..57 "]" 27 R_BRACK@56..57 "]"
27 WHITESPACE@57..62 "\n " 28 WHITESPACE@57..62 "\n "
28 COMMENT@62..97 "//! As are ModuleDoc ..." 29 COMMENT@62..97 "//! As are ModuleDoc ..."
@@ -35,28 +36,30 @@ SOURCE_FILE@0..764
35 POUND@112..113 "#" 36 POUND@112..113 "#"
36 BANG@113..114 "!" 37 BANG@113..114 "!"
37 L_BRACK@114..115 "[" 38 L_BRACK@114..115 "["
38 PATH@115..118 39 META@115..179
39 PATH_SEGMENT@115..118 40 PATH@115..118
40 NAME_REF@115..118 41 PATH_SEGMENT@115..118
41 IDENT@115..118 "doc" 42 NAME_REF@115..118
42 TOKEN_TREE@118..179 43 IDENT@115..118 "doc"
43 L_PAREN@118..119 "(" 44 TOKEN_TREE@118..179
44 STRING@119..178 "\"Inner attributes are ..." 45 L_PAREN@118..119 "("
45 R_PAREN@178..179 ")" 46 STRING@119..178 "\"Inner attributes are ..."
47 R_PAREN@178..179 ")"
46 R_BRACK@179..180 "]" 48 R_BRACK@179..180 "]"
47 WHITESPACE@180..189 "\n " 49 WHITESPACE@180..189 "\n "
48 ATTR@189..244 50 ATTR@189..244
49 POUND@189..190 "#" 51 POUND@189..190 "#"
50 BANG@190..191 "!" 52 BANG@190..191 "!"
51 L_BRACK@191..192 "[" 53 L_BRACK@191..192 "["
52 PATH@192..195 54 META@192..243
53 PATH_SEGMENT@192..195 55 PATH@192..195
54 NAME_REF@192..195 56 PATH_SEGMENT@192..195
55 IDENT@192..195 "doc" 57 NAME_REF@192..195
56 TOKEN_TREE@195..243 58 IDENT@192..195 "doc"
57 L_PAREN@195..196 "(" 59 TOKEN_TREE@195..243
58 STRING@196..242 "\"Being validated is n ..." 60 L_PAREN@195..196 "("
59 R_PAREN@242..243 ")" 61 STRING@196..242 "\"Being validated is n ..."
62 R_PAREN@242..243 ")"
60 R_BRACK@243..244 "]" 63 R_BRACK@243..244 "]"
61 WHITESPACE@244..253 "\n " 64 WHITESPACE@244..253 "\n "
62 COMMENT@253..288 "//! As are ModuleDoc ..." 65 COMMENT@253..288 "//! As are ModuleDoc ..."
@@ -71,14 +74,15 @@ SOURCE_FILE@0..764
71 POUND@310..311 "#" 74 POUND@310..311 "#"
72 BANG@311..312 "!" 75 BANG@311..312 "!"
73 L_BRACK@312..313 "[" 76 L_BRACK@312..313 "["
74 PATH@313..316 77 META@313..408
75 PATH_SEGMENT@313..316 78 PATH@313..316
76 NAME_REF@313..316 79 PATH_SEGMENT@313..316
77 IDENT@313..316 "doc" 80 NAME_REF@313..316
78 TOKEN_TREE@316..408 81 IDENT@313..316 "doc"
79 L_PAREN@316..317 "(" 82 TOKEN_TREE@316..408
80 STRING@317..407 "\"Inner attributes are ..." 83 L_PAREN@316..317 "("
81 R_PAREN@407..408 ")" 84 STRING@317..407 "\"Inner attributes are ..."
85 R_PAREN@407..408 ")"
82 R_BRACK@408..409 "]" 86 R_BRACK@408..409 "]"
83 WHITESPACE@409..418 "\n " 87 WHITESPACE@409..418 "\n "
84 COMMENT@418..453 "//! As are ModuleDoc ..." 88 COMMENT@418..453 "//! As are ModuleDoc ..."
@@ -111,14 +115,15 @@ SOURCE_FILE@0..764
111 ATTR@488..533 115 ATTR@488..533
112 POUND@488..489 "#" 116 POUND@488..489 "#"
113 L_BRACK@489..490 "[" 117 L_BRACK@489..490 "["
114 PATH@490..493 118 META@490..532
115 PATH_SEGMENT@490..493 119 PATH@490..493
116 NAME_REF@490..493 120 PATH_SEGMENT@490..493
117 IDENT@490..493 "doc" 121 NAME_REF@490..493
118 TOKEN_TREE@493..532 122 IDENT@490..493 "doc"
119 L_PAREN@493..494 "(" 123 TOKEN_TREE@493..532
120 STRING@494..531 "\"Outer attributes are ..." 124 L_PAREN@493..494 "("
121 R_PAREN@531..532 ")" 125 STRING@494..531 "\"Outer attributes are ..."
126 R_PAREN@531..532 ")"
122 R_BRACK@532..533 "]" 127 R_BRACK@532..533 "]"
123 WHITESPACE@533..534 " " 128 WHITESPACE@533..534 " "
124 L_CURLY@534..535 "{" 129 L_CURLY@534..535 "{"
@@ -200,14 +205,15 @@ SOURCE_FILE@0..764
200 POUND@690..691 "#" 205 POUND@690..691 "#"
201 BANG@691..692 "!" 206 BANG@691..692 "!"
202 L_BRACK@692..693 "[" 207 L_BRACK@692..693 "["
203 PATH@693..698 208 META@693..716
204 PATH_SEGMENT@693..698 209 PATH@693..698
205 NAME_REF@693..698 210 PATH_SEGMENT@693..698
206 IDENT@693..698 "allow" 211 NAME_REF@693..698
207 TOKEN_TREE@698..716 212 IDENT@693..698 "allow"
208 L_PAREN@698..699 "(" 213 TOKEN_TREE@698..716
209 IDENT@699..715 "unused_variables" 214 L_PAREN@698..699 "("
210 R_PAREN@715..716 ")" 215 IDENT@699..715 "unused_variables"
216 R_PAREN@715..716 ")"
211 R_BRACK@716..717 "]" 217 R_BRACK@716..717 "]"
212 WHITESPACE@717..718 " " 218 WHITESPACE@717..718 " "
213 COMMENT@718..755 "// this is `inner_at ..." 219 COMMENT@718..755 "// this is `inner_at ..."
diff --git a/crates/syntax/test_data/parser/ok/0046_extern_inner_attributes.rast b/crates/syntax/test_data/parser/ok/0046_extern_inner_attributes.rast
index 37594769a..854ff9d56 100644
--- a/crates/syntax/test_data/parser/ok/0046_extern_inner_attributes.rast
+++ b/crates/syntax/test_data/parser/ok/0046_extern_inner_attributes.rast
@@ -14,14 +14,15 @@ SOURCE_FILE@0..87
14 POUND@47..48 "#" 14 POUND@47..48 "#"
15 BANG@48..49 "!" 15 BANG@48..49 "!"
16 L_BRACK@49..50 "[" 16 L_BRACK@49..50 "["
17 PATH@50..53 17 META@50..83
18 PATH_SEGMENT@50..53 18 PATH@50..53
19 NAME_REF@50..53 19 PATH_SEGMENT@50..53
20 IDENT@50..53 "doc" 20 NAME_REF@50..53
21 TOKEN_TREE@53..83 21 IDENT@50..53 "doc"
22 L_PAREN@53..54 "(" 22 TOKEN_TREE@53..83
23 STRING@54..82 "\"This is also a doc c ..." 23 L_PAREN@53..54 "("
24 R_PAREN@82..83 ")" 24 STRING@54..82 "\"This is also a doc c ..."
25 R_PAREN@82..83 ")"
25 R_BRACK@83..84 "]" 26 R_BRACK@83..84 "]"
26 WHITESPACE@84..85 "\n" 27 WHITESPACE@84..85 "\n"
27 R_CURLY@85..86 "}" 28 R_CURLY@85..86 "}"
diff --git a/crates/syntax/test_data/parser/ok/0051_parameter_attrs.rast b/crates/syntax/test_data/parser/ok/0051_parameter_attrs.rast
index 88470c41c..f935a0df5 100644
--- a/crates/syntax/test_data/parser/ok/0051_parameter_attrs.rast
+++ b/crates/syntax/test_data/parser/ok/0051_parameter_attrs.rast
@@ -10,19 +10,21 @@ SOURCE_FILE@0..519
10 ATTR@6..14 10 ATTR@6..14
11 POUND@6..7 "#" 11 POUND@6..7 "#"
12 L_BRACK@7..8 "[" 12 L_BRACK@7..8 "["
13 PATH@8..13 13 META@8..13
14 PATH_SEGMENT@8..13 14 PATH@8..13
15 NAME_REF@8..13 15 PATH_SEGMENT@8..13
16 IDENT@8..13 "attr1" 16 NAME_REF@8..13
17 IDENT@8..13 "attr1"
17 R_BRACK@13..14 "]" 18 R_BRACK@13..14 "]"
18 WHITESPACE@14..15 " " 19 WHITESPACE@14..15 " "
19 ATTR@15..23 20 ATTR@15..23
20 POUND@15..16 "#" 21 POUND@15..16 "#"
21 L_BRACK@16..17 "[" 22 L_BRACK@16..17 "["
22 PATH@17..22 23 META@17..22
23 PATH_SEGMENT@17..22 24 PATH@17..22
24 NAME_REF@17..22 25 PATH_SEGMENT@17..22
25 IDENT@17..22 "attr2" 26 NAME_REF@17..22
27 IDENT@17..22 "attr2"
26 R_BRACK@22..23 "]" 28 R_BRACK@22..23 "]"
27 WHITESPACE@23..24 " " 29 WHITESPACE@23..24 " "
28 IDENT_PAT@24..27 30 IDENT_PAT@24..27
@@ -52,10 +54,11 @@ SOURCE_FILE@0..519
52 ATTR@44..52 54 ATTR@44..52
53 POUND@44..45 "#" 55 POUND@44..45 "#"
54 L_BRACK@45..46 "[" 56 L_BRACK@45..46 "["
55 PATH@46..51 57 META@46..51
56 PATH_SEGMENT@46..51 58 PATH@46..51
57 NAME_REF@46..51 59 PATH_SEGMENT@46..51
58 IDENT@46..51 "attr1" 60 NAME_REF@46..51
61 IDENT@46..51 "attr1"
59 R_BRACK@51..52 "]" 62 R_BRACK@51..52 "]"
60 WHITESPACE@52..53 " " 63 WHITESPACE@52..53 " "
61 IDENT_PAT@53..54 64 IDENT_PAT@53..54
@@ -111,10 +114,11 @@ SOURCE_FILE@0..519
111 ATTR@106..113 114 ATTR@106..113
112 POUND@106..107 "#" 115 POUND@106..107 "#"
113 L_BRACK@107..108 "[" 116 L_BRACK@107..108 "["
114 PATH@108..112 117 META@108..112
115 PATH_SEGMENT@108..112 118 PATH@108..112
116 NAME_REF@108..112 119 PATH_SEGMENT@108..112
117 IDENT@108..112 "attr" 120 NAME_REF@108..112
121 IDENT@108..112 "attr"
118 R_BRACK@112..113 "]" 122 R_BRACK@112..113 "]"
119 WHITESPACE@113..114 " " 123 WHITESPACE@113..114 " "
120 DOT3@114..117 "..." 124 DOT3@114..117 "..."
@@ -157,10 +161,11 @@ SOURCE_FILE@0..519
157 ATTR@146..153 161 ATTR@146..153
158 POUND@146..147 "#" 162 POUND@146..147 "#"
159 L_BRACK@147..148 "[" 163 L_BRACK@147..148 "["
160 PATH@148..152 164 META@148..152
161 PATH_SEGMENT@148..152 165 PATH@148..152
162 NAME_REF@148..152 166 PATH_SEGMENT@148..152
163 IDENT@148..152 "attr" 167 NAME_REF@148..152
168 IDENT@148..152 "attr"
164 R_BRACK@152..153 "]" 169 R_BRACK@152..153 "]"
165 WHITESPACE@153..154 " " 170 WHITESPACE@153..154 " "
166 REF_TYPE@154..166 171 REF_TYPE@154..166
@@ -207,10 +212,11 @@ SOURCE_FILE@0..519
207 ATTR@197..204 212 ATTR@197..204
208 POUND@197..198 "#" 213 POUND@197..198 "#"
209 L_BRACK@198..199 "[" 214 L_BRACK@198..199 "["
210 PATH@199..203 215 META@199..203
211 PATH_SEGMENT@199..203 216 PATH@199..203
212 NAME_REF@199..203 217 PATH_SEGMENT@199..203
213 IDENT@199..203 "attr" 218 NAME_REF@199..203
219 IDENT@199..203 "attr"
214 R_BRACK@203..204 "]" 220 R_BRACK@203..204 "]"
215 WHITESPACE@204..205 " " 221 WHITESPACE@204..205 " "
216 WILDCARD_PAT@205..206 222 WILDCARD_PAT@205..206
@@ -229,10 +235,11 @@ SOURCE_FILE@0..519
229 POUND@213..214 "#" 235 POUND@213..214 "#"
230 WHITESPACE@214..215 " " 236 WHITESPACE@214..215 " "
231 L_BRACK@215..216 "[" 237 L_BRACK@215..216 "["
232 PATH@216..220 238 META@216..220
233 PATH_SEGMENT@216..220 239 PATH@216..220
234 NAME_REF@216..220 240 PATH_SEGMENT@216..220
235 IDENT@216..220 "attr" 241 NAME_REF@216..220
242 IDENT@216..220 "attr"
236 R_BRACK@220..221 "]" 243 R_BRACK@220..221 "]"
237 WHITESPACE@221..222 " " 244 WHITESPACE@221..222 " "
238 IDENT_PAT@222..227 245 IDENT_PAT@222..227
@@ -275,10 +282,11 @@ SOURCE_FILE@0..519
275 ATTR@257..268 282 ATTR@257..268
276 POUND@257..258 "#" 283 POUND@257..258 "#"
277 L_BRACK@258..259 "[" 284 L_BRACK@258..259 "["
278 PATH@259..267 285 META@259..267
279 PATH_SEGMENT@259..267 286 PATH@259..267
280 NAME_REF@259..267 287 PATH_SEGMENT@259..267
281 IDENT@259..267 "must_use" 288 NAME_REF@259..267
289 IDENT@259..267 "must_use"
282 R_BRACK@267..268 "]" 290 R_BRACK@267..268 "]"
283 WHITESPACE@268..269 " " 291 WHITESPACE@268..269 " "
284 NAME@269..273 292 NAME@269..273
@@ -300,10 +308,11 @@ SOURCE_FILE@0..519
300 ATTR@289..296 308 ATTR@289..296
301 POUND@289..290 "#" 309 POUND@289..290 "#"
302 L_BRACK@290..291 "[" 310 L_BRACK@290..291 "["
303 PATH@291..295 311 META@291..295
304 PATH_SEGMENT@291..295 312 PATH@291..295
305 NAME_REF@291..295 313 PATH_SEGMENT@291..295
306 IDENT@291..295 "attr" 314 NAME_REF@291..295
315 IDENT@291..295 "attr"
307 R_BRACK@295..296 "]" 316 R_BRACK@295..296 "]"
308 WHITESPACE@296..297 " " 317 WHITESPACE@296..297 " "
309 NAME@297..301 318 NAME@297..301
@@ -325,10 +334,11 @@ SOURCE_FILE@0..519
325 ATTR@317..324 334 ATTR@317..324
326 POUND@317..318 "#" 335 POUND@317..318 "#"
327 L_BRACK@318..319 "[" 336 L_BRACK@318..319 "["
328 PATH@319..323 337 META@319..323
329 PATH_SEGMENT@319..323 338 PATH@319..323
330 NAME_REF@319..323 339 PATH_SEGMENT@319..323
331 IDENT@319..323 "attr" 340 NAME_REF@319..323
341 IDENT@319..323 "attr"
332 R_BRACK@323..324 "]" 342 R_BRACK@323..324 "]"
333 WHITESPACE@324..325 " " 343 WHITESPACE@324..325 " "
334 AMP@325..326 "&" 344 AMP@325..326 "&"
@@ -357,10 +367,11 @@ SOURCE_FILE@0..519
357 ATTR@350..357 367 ATTR@350..357
358 POUND@350..351 "#" 368 POUND@350..351 "#"
359 L_BRACK@351..352 "[" 369 L_BRACK@351..352 "["
360 PATH@352..356 370 META@352..356
361 PATH_SEGMENT@352..356 371 PATH@352..356
362 NAME_REF@352..356 372 PATH_SEGMENT@352..356
363 IDENT@352..356 "attr" 373 NAME_REF@352..356
374 IDENT@352..356 "attr"
364 R_BRACK@356..357 "]" 375 R_BRACK@356..357 "]"
365 WHITESPACE@357..358 " " 376 WHITESPACE@357..358 " "
366 AMP@358..359 "&" 377 AMP@358..359 "&"
@@ -391,10 +402,11 @@ SOURCE_FILE@0..519
391 ATTR@387..394 402 ATTR@387..394
392 POUND@387..388 "#" 403 POUND@387..388 "#"
393 L_BRACK@388..389 "[" 404 L_BRACK@388..389 "["
394 PATH@389..393 405 META@389..393
395 PATH_SEGMENT@389..393 406 PATH@389..393
396 NAME_REF@389..393 407 PATH_SEGMENT@389..393
397 IDENT@389..393 "attr" 408 NAME_REF@389..393
409 IDENT@389..393 "attr"
398 R_BRACK@393..394 "]" 410 R_BRACK@393..394 "]"
399 WHITESPACE@394..395 " " 411 WHITESPACE@394..395 " "
400 AMP@395..396 "&" 412 AMP@395..396 "&"
@@ -426,10 +438,11 @@ SOURCE_FILE@0..519
426 ATTR@423..430 438 ATTR@423..430
427 POUND@423..424 "#" 439 POUND@423..424 "#"
428 L_BRACK@424..425 "[" 440 L_BRACK@424..425 "["
429 PATH@425..429 441 META@425..429
430 PATH_SEGMENT@425..429 442 PATH@425..429
431 NAME_REF@425..429 443 PATH_SEGMENT@425..429
432 IDENT@425..429 "attr" 444 NAME_REF@425..429
445 IDENT@425..429 "attr"
433 R_BRACK@429..430 "]" 446 R_BRACK@429..430 "]"
434 WHITESPACE@430..431 " " 447 WHITESPACE@430..431 " "
435 AMP@431..432 "&" 448 AMP@431..432 "&"
@@ -457,10 +470,11 @@ SOURCE_FILE@0..519
457 ATTR@458..465 470 ATTR@458..465
458 POUND@458..459 "#" 471 POUND@458..459 "#"
459 L_BRACK@459..460 "[" 472 L_BRACK@459..460 "["
460 PATH@460..464 473 META@460..464
461 PATH_SEGMENT@460..464 474 PATH@460..464
462 NAME_REF@460..464 475 PATH_SEGMENT@460..464
463 IDENT@460..464 "attr" 476 NAME_REF@460..464
477 IDENT@460..464 "attr"
464 R_BRACK@464..465 "]" 478 R_BRACK@464..465 "]"
465 WHITESPACE@465..466 " " 479 WHITESPACE@465..466 " "
466 NAME@466..470 480 NAME@466..470
@@ -489,10 +503,11 @@ SOURCE_FILE@0..519
489 ATTR@491..498 503 ATTR@491..498
490 POUND@491..492 "#" 504 POUND@491..492 "#"
491 L_BRACK@492..493 "[" 505 L_BRACK@492..493 "["
492 PATH@493..497 506 META@493..497
493 PATH_SEGMENT@493..497 507 PATH@493..497
494 NAME_REF@493..497 508 PATH_SEGMENT@493..497
495 IDENT@493..497 "attr" 509 NAME_REF@493..497
510 IDENT@493..497 "attr"
496 R_BRACK@497..498 "]" 511 R_BRACK@497..498 "]"
497 WHITESPACE@498..499 " " 512 WHITESPACE@498..499 " "
498 NAME@499..503 513 NAME@499..503
diff --git a/crates/syntax/test_data/parser/ok/0053_outer_attribute_on_macro_rules.rast b/crates/syntax/test_data/parser/ok/0053_outer_attribute_on_macro_rules.rast
index 87d8ebcba..97416f16a 100644
--- a/crates/syntax/test_data/parser/ok/0053_outer_attribute_on_macro_rules.rast
+++ b/crates/syntax/test_data/parser/ok/0053_outer_attribute_on_macro_rules.rast
@@ -5,10 +5,11 @@ SOURCE_FILE@0..65
5 ATTR@14..29 5 ATTR@14..29
6 POUND@14..15 "#" 6 POUND@14..15 "#"
7 L_BRACK@15..16 "[" 7 L_BRACK@15..16 "["
8 PATH@16..28 8 META@16..28
9 PATH_SEGMENT@16..28 9 PATH@16..28
10 NAME_REF@16..28 10 PATH_SEGMENT@16..28
11 IDENT@16..28 "macro_export" 11 NAME_REF@16..28
12 IDENT@16..28 "macro_export"
12 R_BRACK@28..29 "]" 13 R_BRACK@28..29 "]"
13 WHITESPACE@29..30 "\n" 14 WHITESPACE@29..30 "\n"
14 MACRO_RULES_KW@30..41 "macro_rules" 15 MACRO_RULES_KW@30..41 "macro_rules"
diff --git a/crates/syntax/test_data/parser/ok/0062_macro_2.0.rast b/crates/syntax/test_data/parser/ok/0062_macro_2.0.rast
index 0c22c31a4..e75848f0f 100644
--- a/crates/syntax/test_data/parser/ok/0062_macro_2.0.rast
+++ b/crates/syntax/test_data/parser/ok/0062_macro_2.0.rast
@@ -55,10 +55,11 @@ SOURCE_FILE@0..349
55 ATTR@95..102 55 ATTR@95..102
56 POUND@95..96 "#" 56 POUND@95..96 "#"
57 L_BRACK@96..97 "[" 57 L_BRACK@96..97 "["
58 PATH@97..101 58 META@97..101
59 PATH_SEGMENT@97..101 59 PATH@97..101
60 NAME_REF@97..101 60 PATH_SEGMENT@97..101
61 IDENT@97..101 "test" 61 NAME_REF@97..101
62 IDENT@97..101 "test"
62 R_BRACK@101..102 "]" 63 R_BRACK@101..102 "]"
63 WHITESPACE@102..103 "\n" 64 WHITESPACE@102..103 "\n"
64 FN_KW@103..105 "fn" 65 FN_KW@103..105 "fn"
diff --git a/crates/syntax/test_data/parser/ok/0063_variadic_fun.rast b/crates/syntax/test_data/parser/ok/0063_variadic_fun.rast
index f7c094898..dcc4105c9 100644
--- a/crates/syntax/test_data/parser/ok/0063_variadic_fun.rast
+++ b/crates/syntax/test_data/parser/ok/0063_variadic_fun.rast
@@ -96,14 +96,15 @@ SOURCE_FILE@0..126
96 ATTR@92..105 96 ATTR@92..105
97 POUND@92..93 "#" 97 POUND@92..93 "#"
98 L_BRACK@93..94 "[" 98 L_BRACK@93..94 "["
99 PATH@94..97 99 META@94..104
100 PATH_SEGMENT@94..97 100 PATH@94..97
101 NAME_REF@94..97 101 PATH_SEGMENT@94..97
102 IDENT@94..97 "cfg" 102 NAME_REF@94..97
103 TOKEN_TREE@97..104 103 IDENT@94..97 "cfg"
104 L_PAREN@97..98 "(" 104 TOKEN_TREE@97..104
105 IDENT@98..103 "never" 105 L_PAREN@97..98 "("
106 R_PAREN@103..104 ")" 106 IDENT@98..103 "never"
107 R_PAREN@103..104 ")"
107 R_BRACK@104..105 "]" 108 R_BRACK@104..105 "]"
108 WHITESPACE@105..106 " " 109 WHITESPACE@105..106 " "
109 SLICE_PAT@106..115 110 SLICE_PAT@106..115