]> git.lizzy.rs Git - rust.git/blob - crates/parser/test_data/parser/err/0024_many_type_parens.rast
Merge #11461
[rust.git] / crates / parser / test_data / parser / err / 0024_many_type_parens.rast
1 SOURCE_FILE@0..240
2   FN@0..53
3     FN_KW@0..2 "fn"
4     WHITESPACE@2..3 " "
5     NAME@3..4
6       IDENT@3..4 "f"
7     GENERIC_PARAM_LIST@4..48
8       L_ANGLE@4..5 "<"
9       TYPE_PARAM@5..47
10         NAME@5..6
11           IDENT@5..6 "T"
12         COLON@6..7 ":"
13         WHITESPACE@7..8 " "
14         TYPE_BOUND_LIST@8..47
15           TYPE_BOUND@8..14
16             L_PAREN@8..9 "("
17             PATH_TYPE@9..13
18               PATH@9..13
19                 PATH_SEGMENT@9..13
20                   NAME_REF@9..13
21                     IDENT@9..13 "Copy"
22             R_PAREN@13..14 ")"
23           WHITESPACE@14..15 " "
24           PLUS@15..16 "+"
25           WHITESPACE@16..17 " "
26           TYPE_BOUND@17..25
27             L_PAREN@17..18 "("
28             QUESTION@18..19 "?"
29             PATH_TYPE@19..24
30               PATH@19..24
31                 PATH_SEGMENT@19..24
32                   NAME_REF@19..24
33                     IDENT@19..24 "Sized"
34             R_PAREN@24..25 ")"
35           WHITESPACE@25..26 " "
36           PLUS@26..27 "+"
37           WHITESPACE@27..28 " "
38           TYPE_BOUND@28..47
39             L_PAREN@28..29 "("
40             FOR_TYPE@29..46
41               FOR_KW@29..32 "for"
42               GENERIC_PARAM_LIST@32..36
43                 L_ANGLE@32..33 "<"
44                 LIFETIME_PARAM@33..35
45                   LIFETIME@33..35
46                     LIFETIME_IDENT@33..35 "'a"
47                 R_ANGLE@35..36 ">"
48               WHITESPACE@36..37 " "
49               PATH_TYPE@37..46
50                 PATH@37..46
51                   PATH_SEGMENT@37..46
52                     NAME_REF@37..42
53                       IDENT@37..42 "Trait"
54                     GENERIC_ARG_LIST@42..46
55                       L_ANGLE@42..43 "<"
56                       LIFETIME_ARG@43..45
57                         LIFETIME@43..45
58                           LIFETIME_IDENT@43..45 "'a"
59                       R_ANGLE@45..46 ">"
60             R_PAREN@46..47 ")"
61       R_ANGLE@47..48 ">"
62     PARAM_LIST@48..50
63       L_PAREN@48..49 "("
64       R_PAREN@49..50 ")"
65     WHITESPACE@50..51 " "
66     BLOCK_EXPR@51..53
67       STMT_LIST@51..53
68         L_CURLY@51..52 "{"
69         R_CURLY@52..53 "}"
70   WHITESPACE@53..55 "\n\n"
71   FN@55..239
72     FN_KW@55..57 "fn"
73     WHITESPACE@57..58 " "
74     NAME@58..62
75       IDENT@58..62 "main"
76     PARAM_LIST@62..64
77       L_PAREN@62..63 "("
78       R_PAREN@63..64 ")"
79     WHITESPACE@64..65 " "
80     BLOCK_EXPR@65..239
81       STMT_LIST@65..239
82         L_CURLY@65..66 "{"
83         WHITESPACE@66..71 "\n    "
84         LET_STMT@71..121
85           LET_KW@71..74 "let"
86           WHITESPACE@74..75 " "
87           WILDCARD_PAT@75..76
88             UNDERSCORE@75..76 "_"
89           COLON@76..77 ":"
90           WHITESPACE@77..78 " "
91           DYN_TRAIT_TYPE@78..121
92             TYPE_BOUND_LIST@78..121
93               TYPE_BOUND@78..88
94                 PATH_TYPE@78..88
95                   PATH@78..88
96                     PATH_SEGMENT@78..88
97                       NAME_REF@78..81
98                         IDENT@78..81 "Box"
99                       GENERIC_ARG_LIST@81..88
100                         L_ANGLE@81..82 "<"
101                         TYPE_ARG@82..88
102                           PAREN_TYPE@82..88
103                             L_PAREN@82..83 "("
104                             PATH_TYPE@83..87
105                               PATH@83..87
106                                 PATH_SEGMENT@83..87
107                                   NAME_REF@83..87
108                                     IDENT@83..87 "Copy"
109                             R_PAREN@87..88 ")"
110               WHITESPACE@88..89 " "
111               PLUS@89..90 "+"
112               WHITESPACE@90..91 " "
113               TYPE_BOUND@91..99
114                 L_PAREN@91..92 "("
115                 QUESTION@92..93 "?"
116                 PATH_TYPE@93..98
117                   PATH@93..98
118                     PATH_SEGMENT@93..98
119                       NAME_REF@93..98
120                         IDENT@93..98 "Sized"
121                 R_PAREN@98..99 ")"
122               WHITESPACE@99..100 " "
123               PLUS@100..101 "+"
124               WHITESPACE@101..102 " "
125               TYPE_BOUND@102..121
126                 L_PAREN@102..103 "("
127                 FOR_TYPE@103..120
128                   FOR_KW@103..106 "for"
129                   GENERIC_PARAM_LIST@106..110
130                     L_ANGLE@106..107 "<"
131                     LIFETIME_PARAM@107..109
132                       LIFETIME@107..109
133                         LIFETIME_IDENT@107..109 "'a"
134                     R_ANGLE@109..110 ">"
135                   WHITESPACE@110..111 " "
136                   PATH_TYPE@111..120
137                     PATH@111..120
138                       PATH_SEGMENT@111..120
139                         NAME_REF@111..116
140                           IDENT@111..116 "Trait"
141                         GENERIC_ARG_LIST@116..120
142                           L_ANGLE@116..117 "<"
143                           LIFETIME_ARG@117..119
144                             LIFETIME@117..119
145                               LIFETIME_IDENT@117..119 "'a"
146                           R_ANGLE@119..120 ">"
147                 R_PAREN@120..121 ")"
148         ERROR@121..122
149           R_ANGLE@121..122 ">"
150         SEMICOLON@122..123 ";"
151         WHITESPACE@123..128 "\n    "
152         LET_STMT@128..141
153           LET_KW@128..131 "let"
154           WHITESPACE@131..132 " "
155           WILDCARD_PAT@132..133
156             UNDERSCORE@132..133 "_"
157           COLON@133..134 ":"
158           WHITESPACE@134..135 " "
159           PATH_TYPE@135..141
160             PATH@135..141
161               PATH_SEGMENT@135..141
162                 NAME_REF@135..138
163                   IDENT@135..138 "Box"
164                 GENERIC_ARG_LIST@138..141
165                   L_ANGLE@138..139 "<"
166                   TYPE_ARG@139..141
167                     PAREN_TYPE@139..141
168                       L_PAREN@139..140 "("
169                       ERROR@140..141
170                         QUESTION@140..141 "?"
171         EXPR_STMT@141..146
172           PATH_EXPR@141..146
173             PATH@141..146
174               PATH_SEGMENT@141..146
175                 NAME_REF@141..146
176                   IDENT@141..146 "Sized"
177         ERROR@146..147
178           R_PAREN@146..147 ")"
179         WHITESPACE@147..148 " "
180         ERROR@148..149
181           PLUS@148..149 "+"
182         WHITESPACE@149..150 " "
183         EXPR_STMT@150..180
184           TUPLE_EXPR@150..180
185             L_PAREN@150..151 "("
186             FOR_EXPR@151..180
187               FOR_KW@151..154 "for"
188               PATH_PAT@154..158
189                 PATH@154..158
190                   PATH_SEGMENT@154..158
191                     L_ANGLE@154..155 "<"
192                     ERROR@155..157
193                       LIFETIME_IDENT@155..157 "'a"
194                     R_ANGLE@157..158 ">"
195               WHITESPACE@158..159 " "
196               BIN_EXPR@159..180
197                 BIN_EXPR@159..178
198                   BIN_EXPR@159..169
199                     BIN_EXPR@159..167
200                       PATH_EXPR@159..164
201                         PATH@159..164
202                           PATH_SEGMENT@159..164
203                             NAME_REF@159..164
204                               IDENT@159..164 "Trait"
205                       L_ANGLE@164..165 "<"
206                       ERROR@165..167
207                         LIFETIME_IDENT@165..167 "'a"
208                     R_ANGLE@167..168 ">"
209                     ERROR@168..169
210                       R_PAREN@168..169 ")"
211                   WHITESPACE@169..170 " "
212                   PLUS@170..171 "+"
213                   WHITESPACE@171..172 " "
214                   PAREN_EXPR@172..178
215                     L_PAREN@172..173 "("
216                     PATH_EXPR@173..177
217                       PATH@173..177
218                         PATH_SEGMENT@173..177
219                           NAME_REF@173..177
220                             IDENT@173..177 "Copy"
221                     R_PAREN@177..178 ")"
222                 R_ANGLE@178..179 ">"
223                 ERROR@179..180
224                   SEMICOLON@179..180 ";"
225         WHITESPACE@180..185 "\n    "
226         LET_STMT@185..235
227           LET_KW@185..188 "let"
228           WHITESPACE@188..189 " "
229           WILDCARD_PAT@189..190
230             UNDERSCORE@189..190 "_"
231           COLON@190..191 ":"
232           WHITESPACE@191..192 " "
233           DYN_TRAIT_TYPE@192..235
234             TYPE_BOUND_LIST@192..235
235               TYPE_BOUND@192..215
236                 PATH_TYPE@192..215
237                   PATH@192..215
238                     PATH_SEGMENT@192..215
239                       NAME_REF@192..195
240                         IDENT@192..195 "Box"
241                       GENERIC_ARG_LIST@195..215
242                         L_ANGLE@195..196 "<"
243                         TYPE_ARG@196..215
244                           PAREN_TYPE@196..215
245                             L_PAREN@196..197 "("
246                             FOR_TYPE@197..214
247                               FOR_KW@197..200 "for"
248                               GENERIC_PARAM_LIST@200..204
249                                 L_ANGLE@200..201 "<"
250                                 LIFETIME_PARAM@201..203
251                                   LIFETIME@201..203
252                                     LIFETIME_IDENT@201..203 "'a"
253                                 R_ANGLE@203..204 ">"
254                               WHITESPACE@204..205 " "
255                               PATH_TYPE@205..214
256                                 PATH@205..214
257                                   PATH_SEGMENT@205..214
258                                     NAME_REF@205..210
259                                       IDENT@205..210 "Trait"
260                                     GENERIC_ARG_LIST@210..214
261                                       L_ANGLE@210..211 "<"
262                                       LIFETIME_ARG@211..213
263                                         LIFETIME@211..213
264                                           LIFETIME_IDENT@211..213 "'a"
265                                       R_ANGLE@213..214 ">"
266                             R_PAREN@214..215 ")"
267               WHITESPACE@215..216 " "
268               PLUS@216..217 "+"
269               WHITESPACE@217..218 " "
270               TYPE_BOUND@218..224
271                 L_PAREN@218..219 "("
272                 PATH_TYPE@219..223
273                   PATH@219..223
274                     PATH_SEGMENT@219..223
275                       NAME_REF@219..223
276                         IDENT@219..223 "Copy"
277                 R_PAREN@223..224 ")"
278               WHITESPACE@224..225 " "
279               PLUS@225..226 "+"
280               WHITESPACE@226..227 " "
281               TYPE_BOUND@227..235
282                 L_PAREN@227..228 "("
283                 QUESTION@228..229 "?"
284                 PATH_TYPE@229..234
285                   PATH@229..234
286                     PATH_SEGMENT@229..234
287                       NAME_REF@229..234
288                         IDENT@229..234 "Sized"
289                 R_PAREN@234..235 ")"
290         ERROR@235..236
291           R_ANGLE@235..236 ">"
292         SEMICOLON@236..237 ";"
293         WHITESPACE@237..238 "\n"
294         R_CURLY@238..239 "}"
295   WHITESPACE@239..240 "\n"
296 error 88..88: expected COMMA
297 error 88..88: expected R_ANGLE
298 error 121..121: expected SEMICOLON
299 error 121..121: expected expression
300 error 140..140: expected type
301 error 141..141: expected R_PAREN
302 error 141..141: expected COMMA
303 error 141..141: expected R_ANGLE
304 error 141..141: expected SEMICOLON
305 error 146..146: expected SEMICOLON
306 error 146..146: expected expression
307 error 148..148: expected expression
308 error 155..155: expected type
309 error 158..158: expected IN_KW
310 error 165..165: expected expression
311 error 168..168: expected expression
312 error 179..179: expected expression
313 error 180..180: expected a block
314 error 180..180: expected COMMA
315 error 180..180: expected expression
316 error 180..180: expected R_PAREN
317 error 180..180: expected SEMICOLON
318 error 215..215: expected COMMA
319 error 215..215: expected R_ANGLE
320 error 235..235: expected SEMICOLON
321 error 235..235: expected expression