]> git.proxmox.com Git - rustc.git/blob - src/tools/rust-analyzer/crates/parser/test_data/parser/ok/0051_parameter_attrs.rast
New upstream version 1.64.0+dfsg1
[rustc.git] / src / tools / rust-analyzer / crates / parser / test_data / parser / ok / 0051_parameter_attrs.rast
1 SOURCE_FILE
2 FN
3 FN_KW "fn"
4 WHITESPACE " "
5 NAME
6 IDENT "g1"
7 PARAM_LIST
8 L_PAREN "("
9 PARAM
10 ATTR
11 POUND "#"
12 L_BRACK "["
13 META
14 PATH
15 PATH_SEGMENT
16 NAME_REF
17 IDENT "attr1"
18 R_BRACK "]"
19 WHITESPACE " "
20 ATTR
21 POUND "#"
22 L_BRACK "["
23 META
24 PATH
25 PATH_SEGMENT
26 NAME_REF
27 IDENT "attr2"
28 R_BRACK "]"
29 WHITESPACE " "
30 IDENT_PAT
31 NAME
32 IDENT "pat"
33 COLON ":"
34 WHITESPACE " "
35 PATH_TYPE
36 PATH
37 PATH_SEGMENT
38 NAME_REF
39 IDENT "Type"
40 R_PAREN ")"
41 WHITESPACE " "
42 BLOCK_EXPR
43 STMT_LIST
44 L_CURLY "{"
45 R_CURLY "}"
46 WHITESPACE "\n"
47 FN
48 FN_KW "fn"
49 WHITESPACE " "
50 NAME
51 IDENT "g2"
52 PARAM_LIST
53 L_PAREN "("
54 PARAM
55 ATTR
56 POUND "#"
57 L_BRACK "["
58 META
59 PATH
60 PATH_SEGMENT
61 NAME_REF
62 IDENT "attr1"
63 R_BRACK "]"
64 WHITESPACE " "
65 IDENT_PAT
66 NAME
67 IDENT "x"
68 COLON ":"
69 WHITESPACE " "
70 PATH_TYPE
71 PATH
72 PATH_SEGMENT
73 NAME_REF
74 IDENT "u8"
75 R_PAREN ")"
76 WHITESPACE " "
77 BLOCK_EXPR
78 STMT_LIST
79 L_CURLY "{"
80 R_CURLY "}"
81 WHITESPACE "\n\n"
82 EXTERN_BLOCK
83 ABI
84 EXTERN_KW "extern"
85 WHITESPACE " "
86 STRING "\"C\""
87 WHITESPACE " "
88 EXTERN_ITEM_LIST
89 L_CURLY "{"
90 WHITESPACE " "
91 FN
92 FN_KW "fn"
93 WHITESPACE " "
94 NAME
95 IDENT "printf"
96 PARAM_LIST
97 L_PAREN "("
98 PARAM
99 IDENT_PAT
100 NAME
101 IDENT "format"
102 COLON ":"
103 WHITESPACE " "
104 PTR_TYPE
105 STAR "*"
106 CONST_KW "const"
107 WHITESPACE " "
108 PATH_TYPE
109 PATH
110 PATH_SEGMENT
111 NAME_REF
112 IDENT "i8"
113 COMMA ","
114 WHITESPACE " "
115 PARAM
116 ATTR
117 POUND "#"
118 L_BRACK "["
119 META
120 PATH
121 PATH_SEGMENT
122 NAME_REF
123 IDENT "attr"
124 R_BRACK "]"
125 WHITESPACE " "
126 DOT3 "..."
127 R_PAREN ")"
128 WHITESPACE " "
129 RET_TYPE
130 THIN_ARROW "->"
131 WHITESPACE " "
132 PATH_TYPE
133 PATH
134 PATH_SEGMENT
135 NAME_REF
136 IDENT "i32"
137 SEMICOLON ";"
138 WHITESPACE " "
139 R_CURLY "}"
140 WHITESPACE "\n\n"
141 FN
142 FN_KW "fn"
143 WHITESPACE " "
144 NAME
145 IDENT "foo"
146 GENERIC_PARAM_LIST
147 L_ANGLE "<"
148 TYPE_PARAM
149 NAME
150 IDENT "F"
151 COLON ":"
152 WHITESPACE " "
153 TYPE_BOUND_LIST
154 TYPE_BOUND
155 PATH_TYPE
156 PATH
157 PATH_SEGMENT
158 NAME_REF
159 IDENT "FnMut"
160 PARAM_LIST
161 L_PAREN "("
162 PARAM
163 ATTR
164 POUND "#"
165 L_BRACK "["
166 META
167 PATH
168 PATH_SEGMENT
169 NAME_REF
170 IDENT "attr"
171 R_BRACK "]"
172 WHITESPACE " "
173 REF_TYPE
174 AMP "&"
175 MUT_KW "mut"
176 WHITESPACE " "
177 PATH_TYPE
178 PATH
179 PATH_SEGMENT
180 NAME_REF
181 IDENT "Foo"
182 GENERIC_ARG_LIST
183 L_ANGLE "<"
184 LIFETIME_ARG
185 LIFETIME
186 LIFETIME_IDENT "'a"
187 R_ANGLE ">"
188 R_PAREN ")"
189 R_ANGLE ">"
190 PARAM_LIST
191 L_PAREN "("
192 R_PAREN ")"
193 BLOCK_EXPR
194 STMT_LIST
195 L_CURLY "{"
196 R_CURLY "}"
197 WHITESPACE "\n\n"
198 TRAIT
199 TRAIT_KW "trait"
200 WHITESPACE " "
201 NAME
202 IDENT "Foo"
203 WHITESPACE " "
204 ASSOC_ITEM_LIST
205 L_CURLY "{"
206 WHITESPACE "\n "
207 FN
208 FN_KW "fn"
209 WHITESPACE " "
210 NAME
211 IDENT "bar"
212 PARAM_LIST
213 L_PAREN "("
214 PARAM
215 ATTR
216 POUND "#"
217 L_BRACK "["
218 META
219 PATH
220 PATH_SEGMENT
221 NAME_REF
222 IDENT "attr"
223 R_BRACK "]"
224 WHITESPACE " "
225 WILDCARD_PAT
226 UNDERSCORE "_"
227 COLON ":"
228 WHITESPACE " "
229 PATH_TYPE
230 PATH
231 PATH_SEGMENT
232 NAME_REF
233 IDENT "u64"
234 COMMA ","
235 WHITESPACE " "
236 PARAM
237 ATTR
238 POUND "#"
239 WHITESPACE " "
240 L_BRACK "["
241 META
242 PATH
243 PATH_SEGMENT
244 NAME_REF
245 IDENT "attr"
246 R_BRACK "]"
247 WHITESPACE " "
248 IDENT_PAT
249 MUT_KW "mut"
250 WHITESPACE " "
251 NAME
252 IDENT "x"
253 COLON ":"
254 WHITESPACE " "
255 PATH_TYPE
256 PATH
257 PATH_SEGMENT
258 NAME_REF
259 IDENT "i32"
260 R_PAREN ")"
261 SEMICOLON ";"
262 WHITESPACE "\n"
263 R_CURLY "}"
264 WHITESPACE "\n\n"
265 IMPL
266 IMPL_KW "impl"
267 WHITESPACE " "
268 PATH_TYPE
269 PATH
270 PATH_SEGMENT
271 NAME_REF
272 IDENT "S"
273 WHITESPACE " "
274 ASSOC_ITEM_LIST
275 L_CURLY "{"
276 WHITESPACE "\n "
277 FN
278 FN_KW "fn"
279 WHITESPACE " "
280 NAME
281 IDENT "f"
282 PARAM_LIST
283 L_PAREN "("
284 SELF_PARAM
285 ATTR
286 POUND "#"
287 L_BRACK "["
288 META
289 PATH
290 PATH_SEGMENT
291 NAME_REF
292 IDENT "must_use"
293 R_BRACK "]"
294 WHITESPACE " "
295 NAME
296 SELF_KW "self"
297 R_PAREN ")"
298 WHITESPACE " "
299 BLOCK_EXPR
300 STMT_LIST
301 L_CURLY "{"
302 R_CURLY "}"
303 WHITESPACE "\n "
304 FN
305 FN_KW "fn"
306 WHITESPACE " "
307 NAME
308 IDENT "g1"
309 PARAM_LIST
310 L_PAREN "("
311 SELF_PARAM
312 ATTR
313 POUND "#"
314 L_BRACK "["
315 META
316 PATH
317 PATH_SEGMENT
318 NAME_REF
319 IDENT "attr"
320 R_BRACK "]"
321 WHITESPACE " "
322 NAME
323 SELF_KW "self"
324 R_PAREN ")"
325 WHITESPACE " "
326 BLOCK_EXPR
327 STMT_LIST
328 L_CURLY "{"
329 R_CURLY "}"
330 WHITESPACE "\n "
331 FN
332 FN_KW "fn"
333 WHITESPACE " "
334 NAME
335 IDENT "g2"
336 PARAM_LIST
337 L_PAREN "("
338 SELF_PARAM
339 ATTR
340 POUND "#"
341 L_BRACK "["
342 META
343 PATH
344 PATH_SEGMENT
345 NAME_REF
346 IDENT "attr"
347 R_BRACK "]"
348 WHITESPACE " "
349 AMP "&"
350 NAME
351 SELF_KW "self"
352 R_PAREN ")"
353 WHITESPACE " "
354 BLOCK_EXPR
355 STMT_LIST
356 L_CURLY "{"
357 R_CURLY "}"
358 WHITESPACE "\n "
359 FN
360 FN_KW "fn"
361 WHITESPACE " "
362 NAME
363 IDENT "g3"
364 GENERIC_PARAM_LIST
365 L_ANGLE "<"
366 LIFETIME_PARAM
367 LIFETIME
368 LIFETIME_IDENT "'a"
369 R_ANGLE ">"
370 PARAM_LIST
371 L_PAREN "("
372 SELF_PARAM
373 ATTR
374 POUND "#"
375 L_BRACK "["
376 META
377 PATH
378 PATH_SEGMENT
379 NAME_REF
380 IDENT "attr"
381 R_BRACK "]"
382 WHITESPACE " "
383 AMP "&"
384 MUT_KW "mut"
385 WHITESPACE " "
386 NAME
387 SELF_KW "self"
388 R_PAREN ")"
389 WHITESPACE " "
390 BLOCK_EXPR
391 STMT_LIST
392 L_CURLY "{"
393 R_CURLY "}"
394 WHITESPACE "\n "
395 FN
396 FN_KW "fn"
397 WHITESPACE " "
398 NAME
399 IDENT "g4"
400 GENERIC_PARAM_LIST
401 L_ANGLE "<"
402 LIFETIME_PARAM
403 LIFETIME
404 LIFETIME_IDENT "'a"
405 R_ANGLE ">"
406 PARAM_LIST
407 L_PAREN "("
408 SELF_PARAM
409 ATTR
410 POUND "#"
411 L_BRACK "["
412 META
413 PATH
414 PATH_SEGMENT
415 NAME_REF
416 IDENT "attr"
417 R_BRACK "]"
418 WHITESPACE " "
419 AMP "&"
420 LIFETIME
421 LIFETIME_IDENT "'a"
422 WHITESPACE " "
423 NAME
424 SELF_KW "self"
425 R_PAREN ")"
426 WHITESPACE " "
427 BLOCK_EXPR
428 STMT_LIST
429 L_CURLY "{"
430 R_CURLY "}"
431 WHITESPACE "\n "
432 FN
433 FN_KW "fn"
434 WHITESPACE " "
435 NAME
436 IDENT "g5"
437 GENERIC_PARAM_LIST
438 L_ANGLE "<"
439 LIFETIME_PARAM
440 LIFETIME
441 LIFETIME_IDENT "'a"
442 R_ANGLE ">"
443 PARAM_LIST
444 L_PAREN "("
445 SELF_PARAM
446 ATTR
447 POUND "#"
448 L_BRACK "["
449 META
450 PATH
451 PATH_SEGMENT
452 NAME_REF
453 IDENT "attr"
454 R_BRACK "]"
455 WHITESPACE " "
456 AMP "&"
457 LIFETIME
458 LIFETIME_IDENT "'a"
459 WHITESPACE " "
460 MUT_KW "mut"
461 WHITESPACE " "
462 NAME
463 SELF_KW "self"
464 R_PAREN ")"
465 WHITESPACE " "
466 BLOCK_EXPR
467 STMT_LIST
468 L_CURLY "{"
469 R_CURLY "}"
470 WHITESPACE "\n "
471 FN
472 FN_KW "fn"
473 WHITESPACE " "
474 NAME
475 IDENT "c"
476 PARAM_LIST
477 L_PAREN "("
478 SELF_PARAM
479 ATTR
480 POUND "#"
481 L_BRACK "["
482 META
483 PATH
484 PATH_SEGMENT
485 NAME_REF
486 IDENT "attr"
487 R_BRACK "]"
488 WHITESPACE " "
489 NAME
490 SELF_KW "self"
491 COLON ":"
492 WHITESPACE " "
493 PATH_TYPE
494 PATH
495 PATH_SEGMENT
496 NAME_REF
497 SELF_TYPE_KW "Self"
498 R_PAREN ")"
499 WHITESPACE " "
500 BLOCK_EXPR
501 STMT_LIST
502 L_CURLY "{"
503 R_CURLY "}"
504 WHITESPACE "\n "
505 FN
506 FN_KW "fn"
507 WHITESPACE " "
508 NAME
509 IDENT "d"
510 PARAM_LIST
511 L_PAREN "("
512 SELF_PARAM
513 ATTR
514 POUND "#"
515 L_BRACK "["
516 META
517 PATH
518 PATH_SEGMENT
519 NAME_REF
520 IDENT "attr"
521 R_BRACK "]"
522 WHITESPACE " "
523 NAME
524 SELF_KW "self"
525 COLON ":"
526 WHITESPACE " "
527 PATH_TYPE
528 PATH
529 PATH_SEGMENT
530 NAME_REF
531 IDENT "Rc"
532 GENERIC_ARG_LIST
533 L_ANGLE "<"
534 TYPE_ARG
535 PATH_TYPE
536 PATH
537 PATH_SEGMENT
538 NAME_REF
539 SELF_TYPE_KW "Self"
540 R_ANGLE ">"
541 R_PAREN ")"
542 WHITESPACE " "
543 BLOCK_EXPR
544 STMT_LIST
545 L_CURLY "{"
546 R_CURLY "}"
547 WHITESPACE "\n"
548 R_CURLY "}"