]> git.lizzy.rs Git - rust.git/blob - src/test/ui/proc-macro/inner-attrs.stdout
Merge commit '98e2b9f25b6db4b2680a3d388456d9f95cb28344' into clippyup
[rust.git] / src / test / ui / proc-macro / inner-attrs.stdout
1 PRINT-ATTR_ARGS INPUT (DISPLAY): first
2 PRINT-ATTR_ARGS INPUT (DEBUG): TokenStream [
3     Ident {
4         ident: "first",
5         span: $DIR/inner-attrs.rs:15:25: 15:30 (#0),
6     },
7 ]
8 PRINT-ATTR INPUT (DISPLAY): #[print_target_and_args(second)] fn foo()
9 { # ! [print_target_and_args(third)] # ! [print_target_and_args(fourth)] }
10 PRINT-ATTR INPUT (DEBUG): TokenStream [
11     Punct {
12         ch: '#',
13         spacing: Alone,
14         span: $DIR/inner-attrs.rs:16:1: 16:2 (#0),
15     },
16     Group {
17         delimiter: Bracket,
18         stream: TokenStream [
19             Ident {
20                 ident: "print_target_and_args",
21                 span: $DIR/inner-attrs.rs:16:3: 16:24 (#0),
22             },
23             Group {
24                 delimiter: Parenthesis,
25                 stream: TokenStream [
26                     Ident {
27                         ident: "second",
28                         span: $DIR/inner-attrs.rs:16:25: 16:31 (#0),
29                     },
30                 ],
31                 span: $DIR/inner-attrs.rs:16:24: 16:32 (#0),
32             },
33         ],
34         span: $DIR/inner-attrs.rs:16:2: 16:33 (#0),
35     },
36     Ident {
37         ident: "fn",
38         span: $DIR/inner-attrs.rs:17:1: 17:3 (#0),
39     },
40     Ident {
41         ident: "foo",
42         span: $DIR/inner-attrs.rs:17:4: 17:7 (#0),
43     },
44     Group {
45         delimiter: Parenthesis,
46         stream: TokenStream [],
47         span: $DIR/inner-attrs.rs:17:7: 17:9 (#0),
48     },
49     Group {
50         delimiter: Brace,
51         stream: TokenStream [
52             Punct {
53                 ch: '#',
54                 spacing: Joint,
55                 span: $DIR/inner-attrs.rs:18:5: 18:6 (#0),
56             },
57             Punct {
58                 ch: '!',
59                 spacing: Alone,
60                 span: $DIR/inner-attrs.rs:18:6: 18:7 (#0),
61             },
62             Group {
63                 delimiter: Bracket,
64                 stream: TokenStream [
65                     Ident {
66                         ident: "print_target_and_args",
67                         span: $DIR/inner-attrs.rs:18:8: 18:29 (#0),
68                     },
69                     Group {
70                         delimiter: Parenthesis,
71                         stream: TokenStream [
72                             Ident {
73                                 ident: "third",
74                                 span: $DIR/inner-attrs.rs:18:30: 18:35 (#0),
75                             },
76                         ],
77                         span: $DIR/inner-attrs.rs:18:29: 18:36 (#0),
78                     },
79                 ],
80                 span: $DIR/inner-attrs.rs:18:7: 18:37 (#0),
81             },
82             Punct {
83                 ch: '#',
84                 spacing: Joint,
85                 span: $DIR/inner-attrs.rs:19:5: 19:6 (#0),
86             },
87             Punct {
88                 ch: '!',
89                 spacing: Alone,
90                 span: $DIR/inner-attrs.rs:19:6: 19:7 (#0),
91             },
92             Group {
93                 delimiter: Bracket,
94                 stream: TokenStream [
95                     Ident {
96                         ident: "print_target_and_args",
97                         span: $DIR/inner-attrs.rs:19:8: 19:29 (#0),
98                     },
99                     Group {
100                         delimiter: Parenthesis,
101                         stream: TokenStream [
102                             Ident {
103                                 ident: "fourth",
104                                 span: $DIR/inner-attrs.rs:19:30: 19:36 (#0),
105                             },
106                         ],
107                         span: $DIR/inner-attrs.rs:19:29: 19:37 (#0),
108                     },
109                 ],
110                 span: $DIR/inner-attrs.rs:19:7: 19:38 (#0),
111             },
112         ],
113         span: $DIR/inner-attrs.rs:17:10: 20:2 (#0),
114     },
115 ]
116 PRINT-ATTR_ARGS INPUT (DISPLAY): second
117 PRINT-ATTR_ARGS INPUT (DEBUG): TokenStream [
118     Ident {
119         ident: "second",
120         span: $DIR/inner-attrs.rs:16:25: 16:31 (#0),
121     },
122 ]
123 PRINT-ATTR INPUT (DISPLAY): fn foo()
124 { # ! [print_target_and_args(third)] # ! [print_target_and_args(fourth)] }
125 PRINT-ATTR INPUT (DEBUG): TokenStream [
126     Ident {
127         ident: "fn",
128         span: $DIR/inner-attrs.rs:17:1: 17:3 (#0),
129     },
130     Ident {
131         ident: "foo",
132         span: $DIR/inner-attrs.rs:17:4: 17:7 (#0),
133     },
134     Group {
135         delimiter: Parenthesis,
136         stream: TokenStream [],
137         span: $DIR/inner-attrs.rs:17:7: 17:9 (#0),
138     },
139     Group {
140         delimiter: Brace,
141         stream: TokenStream [
142             Punct {
143                 ch: '#',
144                 spacing: Joint,
145                 span: $DIR/inner-attrs.rs:18:5: 18:6 (#0),
146             },
147             Punct {
148                 ch: '!',
149                 spacing: Alone,
150                 span: $DIR/inner-attrs.rs:18:6: 18:7 (#0),
151             },
152             Group {
153                 delimiter: Bracket,
154                 stream: TokenStream [
155                     Ident {
156                         ident: "print_target_and_args",
157                         span: $DIR/inner-attrs.rs:18:8: 18:29 (#0),
158                     },
159                     Group {
160                         delimiter: Parenthesis,
161                         stream: TokenStream [
162                             Ident {
163                                 ident: "third",
164                                 span: $DIR/inner-attrs.rs:18:30: 18:35 (#0),
165                             },
166                         ],
167                         span: $DIR/inner-attrs.rs:18:29: 18:36 (#0),
168                     },
169                 ],
170                 span: $DIR/inner-attrs.rs:18:7: 18:37 (#0),
171             },
172             Punct {
173                 ch: '#',
174                 spacing: Joint,
175                 span: $DIR/inner-attrs.rs:19:5: 19:6 (#0),
176             },
177             Punct {
178                 ch: '!',
179                 spacing: Alone,
180                 span: $DIR/inner-attrs.rs:19:6: 19:7 (#0),
181             },
182             Group {
183                 delimiter: Bracket,
184                 stream: TokenStream [
185                     Ident {
186                         ident: "print_target_and_args",
187                         span: $DIR/inner-attrs.rs:19:8: 19:29 (#0),
188                     },
189                     Group {
190                         delimiter: Parenthesis,
191                         stream: TokenStream [
192                             Ident {
193                                 ident: "fourth",
194                                 span: $DIR/inner-attrs.rs:19:30: 19:36 (#0),
195                             },
196                         ],
197                         span: $DIR/inner-attrs.rs:19:29: 19:37 (#0),
198                     },
199                 ],
200                 span: $DIR/inner-attrs.rs:19:7: 19:38 (#0),
201             },
202         ],
203         span: $DIR/inner-attrs.rs:17:10: 20:2 (#0),
204     },
205 ]
206 PRINT-ATTR_ARGS INPUT (DISPLAY): third
207 PRINT-ATTR_ARGS INPUT (DEBUG): TokenStream [
208     Ident {
209         ident: "third",
210         span: $DIR/inner-attrs.rs:18:30: 18:35 (#0),
211     },
212 ]
213 PRINT-ATTR INPUT (DISPLAY): fn foo() { # ! [print_target_and_args(fourth)] }
214 PRINT-ATTR INPUT (DEBUG): TokenStream [
215     Ident {
216         ident: "fn",
217         span: $DIR/inner-attrs.rs:17:1: 17:3 (#0),
218     },
219     Ident {
220         ident: "foo",
221         span: $DIR/inner-attrs.rs:17:4: 17:7 (#0),
222     },
223     Group {
224         delimiter: Parenthesis,
225         stream: TokenStream [],
226         span: $DIR/inner-attrs.rs:17:7: 17:9 (#0),
227     },
228     Group {
229         delimiter: Brace,
230         stream: TokenStream [
231             Punct {
232                 ch: '#',
233                 spacing: Joint,
234                 span: $DIR/inner-attrs.rs:19:5: 19:6 (#0),
235             },
236             Punct {
237                 ch: '!',
238                 spacing: Alone,
239                 span: $DIR/inner-attrs.rs:19:6: 19:7 (#0),
240             },
241             Group {
242                 delimiter: Bracket,
243                 stream: TokenStream [
244                     Ident {
245                         ident: "print_target_and_args",
246                         span: $DIR/inner-attrs.rs:19:8: 19:29 (#0),
247                     },
248                     Group {
249                         delimiter: Parenthesis,
250                         stream: TokenStream [
251                             Ident {
252                                 ident: "fourth",
253                                 span: $DIR/inner-attrs.rs:19:30: 19:36 (#0),
254                             },
255                         ],
256                         span: $DIR/inner-attrs.rs:19:29: 19:37 (#0),
257                     },
258                 ],
259                 span: $DIR/inner-attrs.rs:19:7: 19:38 (#0),
260             },
261         ],
262         span: $DIR/inner-attrs.rs:17:10: 20:2 (#0),
263     },
264 ]
265 PRINT-ATTR_ARGS INPUT (DISPLAY): fourth
266 PRINT-ATTR_ARGS INPUT (DEBUG): TokenStream [
267     Ident {
268         ident: "fourth",
269         span: $DIR/inner-attrs.rs:19:30: 19:36 (#0),
270     },
271 ]
272 PRINT-ATTR INPUT (DISPLAY): fn foo() { }
273 PRINT-ATTR INPUT (DEBUG): TokenStream [
274     Ident {
275         ident: "fn",
276         span: $DIR/inner-attrs.rs:17:1: 17:3 (#0),
277     },
278     Ident {
279         ident: "foo",
280         span: $DIR/inner-attrs.rs:17:4: 17:7 (#0),
281     },
282     Group {
283         delimiter: Parenthesis,
284         stream: TokenStream [],
285         span: $DIR/inner-attrs.rs:17:7: 17:9 (#0),
286     },
287     Group {
288         delimiter: Brace,
289         stream: TokenStream [],
290         span: $DIR/inner-attrs.rs:17:10: 20:2 (#0),
291     },
292 ]
293 PRINT-ATTR_ARGS INPUT (DISPLAY): mod_first
294 PRINT-ATTR_ARGS INPUT (DEBUG): TokenStream [
295     Ident {
296         ident: "mod_first",
297         span: $DIR/inner-attrs.rs:22:25: 22:34 (#0),
298     },
299 ]
300 PRINT-ATTR INPUT (DISPLAY): #[print_target_and_args(mod_second)] mod inline_mod
301 {
302     # ! [print_target_and_args(mod_third)] # !
303     [print_target_and_args(mod_fourth)]
304 }
305 PRINT-ATTR INPUT (DEBUG): TokenStream [
306     Punct {
307         ch: '#',
308         spacing: Alone,
309         span: $DIR/inner-attrs.rs:23:1: 23:2 (#0),
310     },
311     Group {
312         delimiter: Bracket,
313         stream: TokenStream [
314             Ident {
315                 ident: "print_target_and_args",
316                 span: $DIR/inner-attrs.rs:23:3: 23:24 (#0),
317             },
318             Group {
319                 delimiter: Parenthesis,
320                 stream: TokenStream [
321                     Ident {
322                         ident: "mod_second",
323                         span: $DIR/inner-attrs.rs:23:25: 23:35 (#0),
324                     },
325                 ],
326                 span: $DIR/inner-attrs.rs:23:24: 23:36 (#0),
327             },
328         ],
329         span: $DIR/inner-attrs.rs:23:2: 23:37 (#0),
330     },
331     Ident {
332         ident: "mod",
333         span: $DIR/inner-attrs.rs:24:1: 24:4 (#0),
334     },
335     Ident {
336         ident: "inline_mod",
337         span: $DIR/inner-attrs.rs:24:5: 24:15 (#0),
338     },
339     Group {
340         delimiter: Brace,
341         stream: TokenStream [
342             Punct {
343                 ch: '#',
344                 spacing: Joint,
345                 span: $DIR/inner-attrs.rs:25:5: 25:6 (#0),
346             },
347             Punct {
348                 ch: '!',
349                 spacing: Alone,
350                 span: $DIR/inner-attrs.rs:25:6: 25:7 (#0),
351             },
352             Group {
353                 delimiter: Bracket,
354                 stream: TokenStream [
355                     Ident {
356                         ident: "print_target_and_args",
357                         span: $DIR/inner-attrs.rs:25:8: 25:29 (#0),
358                     },
359                     Group {
360                         delimiter: Parenthesis,
361                         stream: TokenStream [
362                             Ident {
363                                 ident: "mod_third",
364                                 span: $DIR/inner-attrs.rs:25:30: 25:39 (#0),
365                             },
366                         ],
367                         span: $DIR/inner-attrs.rs:25:29: 25:40 (#0),
368                     },
369                 ],
370                 span: $DIR/inner-attrs.rs:25:7: 25:41 (#0),
371             },
372             Punct {
373                 ch: '#',
374                 spacing: Joint,
375                 span: $DIR/inner-attrs.rs:26:5: 26:6 (#0),
376             },
377             Punct {
378                 ch: '!',
379                 spacing: Alone,
380                 span: $DIR/inner-attrs.rs:26:6: 26:7 (#0),
381             },
382             Group {
383                 delimiter: Bracket,
384                 stream: TokenStream [
385                     Ident {
386                         ident: "print_target_and_args",
387                         span: $DIR/inner-attrs.rs:26:8: 26:29 (#0),
388                     },
389                     Group {
390                         delimiter: Parenthesis,
391                         stream: TokenStream [
392                             Ident {
393                                 ident: "mod_fourth",
394                                 span: $DIR/inner-attrs.rs:26:30: 26:40 (#0),
395                             },
396                         ],
397                         span: $DIR/inner-attrs.rs:26:29: 26:41 (#0),
398                     },
399                 ],
400                 span: $DIR/inner-attrs.rs:26:7: 26:42 (#0),
401             },
402         ],
403         span: $DIR/inner-attrs.rs:24:16: 27:2 (#0),
404     },
405 ]
406 PRINT-ATTR_ARGS INPUT (DISPLAY): mod_second
407 PRINT-ATTR_ARGS INPUT (DEBUG): TokenStream [
408     Ident {
409         ident: "mod_second",
410         span: $DIR/inner-attrs.rs:23:25: 23:35 (#0),
411     },
412 ]
413 PRINT-ATTR INPUT (DISPLAY): mod inline_mod
414 {
415     # ! [print_target_and_args(mod_third)] # !
416     [print_target_and_args(mod_fourth)]
417 }
418 PRINT-ATTR INPUT (DEBUG): TokenStream [
419     Ident {
420         ident: "mod",
421         span: $DIR/inner-attrs.rs:24:1: 24:4 (#0),
422     },
423     Ident {
424         ident: "inline_mod",
425         span: $DIR/inner-attrs.rs:24:5: 24:15 (#0),
426     },
427     Group {
428         delimiter: Brace,
429         stream: TokenStream [
430             Punct {
431                 ch: '#',
432                 spacing: Joint,
433                 span: $DIR/inner-attrs.rs:25:5: 25:6 (#0),
434             },
435             Punct {
436                 ch: '!',
437                 spacing: Alone,
438                 span: $DIR/inner-attrs.rs:25:6: 25:7 (#0),
439             },
440             Group {
441                 delimiter: Bracket,
442                 stream: TokenStream [
443                     Ident {
444                         ident: "print_target_and_args",
445                         span: $DIR/inner-attrs.rs:25:8: 25:29 (#0),
446                     },
447                     Group {
448                         delimiter: Parenthesis,
449                         stream: TokenStream [
450                             Ident {
451                                 ident: "mod_third",
452                                 span: $DIR/inner-attrs.rs:25:30: 25:39 (#0),
453                             },
454                         ],
455                         span: $DIR/inner-attrs.rs:25:29: 25:40 (#0),
456                     },
457                 ],
458                 span: $DIR/inner-attrs.rs:25:7: 25:41 (#0),
459             },
460             Punct {
461                 ch: '#',
462                 spacing: Joint,
463                 span: $DIR/inner-attrs.rs:26:5: 26:6 (#0),
464             },
465             Punct {
466                 ch: '!',
467                 spacing: Alone,
468                 span: $DIR/inner-attrs.rs:26:6: 26:7 (#0),
469             },
470             Group {
471                 delimiter: Bracket,
472                 stream: TokenStream [
473                     Ident {
474                         ident: "print_target_and_args",
475                         span: $DIR/inner-attrs.rs:26:8: 26:29 (#0),
476                     },
477                     Group {
478                         delimiter: Parenthesis,
479                         stream: TokenStream [
480                             Ident {
481                                 ident: "mod_fourth",
482                                 span: $DIR/inner-attrs.rs:26:30: 26:40 (#0),
483                             },
484                         ],
485                         span: $DIR/inner-attrs.rs:26:29: 26:41 (#0),
486                     },
487                 ],
488                 span: $DIR/inner-attrs.rs:26:7: 26:42 (#0),
489             },
490         ],
491         span: $DIR/inner-attrs.rs:24:16: 27:2 (#0),
492     },
493 ]
494 PRINT-ATTR_ARGS INPUT (DISPLAY): mod_third
495 PRINT-ATTR_ARGS INPUT (DEBUG): TokenStream [
496     Ident {
497         ident: "mod_third",
498         span: $DIR/inner-attrs.rs:25:30: 25:39 (#0),
499     },
500 ]
501 PRINT-ATTR INPUT (DISPLAY): mod inline_mod { # ! [print_target_and_args(mod_fourth)] }
502 PRINT-ATTR INPUT (DEBUG): TokenStream [
503     Ident {
504         ident: "mod",
505         span: $DIR/inner-attrs.rs:24:1: 24:4 (#0),
506     },
507     Ident {
508         ident: "inline_mod",
509         span: $DIR/inner-attrs.rs:24:5: 24:15 (#0),
510     },
511     Group {
512         delimiter: Brace,
513         stream: TokenStream [
514             Punct {
515                 ch: '#',
516                 spacing: Joint,
517                 span: $DIR/inner-attrs.rs:26:5: 26:6 (#0),
518             },
519             Punct {
520                 ch: '!',
521                 spacing: Alone,
522                 span: $DIR/inner-attrs.rs:26:6: 26:7 (#0),
523             },
524             Group {
525                 delimiter: Bracket,
526                 stream: TokenStream [
527                     Ident {
528                         ident: "print_target_and_args",
529                         span: $DIR/inner-attrs.rs:26:8: 26:29 (#0),
530                     },
531                     Group {
532                         delimiter: Parenthesis,
533                         stream: TokenStream [
534                             Ident {
535                                 ident: "mod_fourth",
536                                 span: $DIR/inner-attrs.rs:26:30: 26:40 (#0),
537                             },
538                         ],
539                         span: $DIR/inner-attrs.rs:26:29: 26:41 (#0),
540                     },
541                 ],
542                 span: $DIR/inner-attrs.rs:26:7: 26:42 (#0),
543             },
544         ],
545         span: $DIR/inner-attrs.rs:24:16: 27:2 (#0),
546     },
547 ]
548 PRINT-ATTR_ARGS INPUT (DISPLAY): mod_fourth
549 PRINT-ATTR_ARGS INPUT (DEBUG): TokenStream [
550     Ident {
551         ident: "mod_fourth",
552         span: $DIR/inner-attrs.rs:26:30: 26:40 (#0),
553     },
554 ]
555 PRINT-ATTR INPUT (DISPLAY): mod inline_mod { }
556 PRINT-ATTR INPUT (DEBUG): TokenStream [
557     Ident {
558         ident: "mod",
559         span: $DIR/inner-attrs.rs:24:1: 24:4 (#0),
560     },
561     Ident {
562         ident: "inline_mod",
563         span: $DIR/inner-attrs.rs:24:5: 24:15 (#0),
564     },
565     Group {
566         delimiter: Brace,
567         stream: TokenStream [],
568         span: $DIR/inner-attrs.rs:24:16: 27:2 (#0),
569     },
570 ]
571 PRINT-DERIVE INPUT (DISPLAY): struct MyDerivePrint
572 {
573     field :
574     [u8 ;
575      {
576          match true
577          {
578              # ! [rustc_dummy(first)] # ! [rustc_dummy(second)] _ =>
579              { # ! [rustc_dummy(third)] true }
580          } ; 0
581      }]
582 }
583 PRINT-DERIVE INPUT (DEBUG): TokenStream [
584     Ident {
585         ident: "struct",
586         span: $DIR/inner-attrs.rs:34:1: 34:7 (#0),
587     },
588     Ident {
589         ident: "MyDerivePrint",
590         span: $DIR/inner-attrs.rs:34:8: 34:21 (#0),
591     },
592     Group {
593         delimiter: Brace,
594         stream: TokenStream [
595             Ident {
596                 ident: "field",
597                 span: $DIR/inner-attrs.rs:35:5: 35:10 (#0),
598             },
599             Punct {
600                 ch: ':',
601                 spacing: Alone,
602                 span: $DIR/inner-attrs.rs:35:10: 35:11 (#0),
603             },
604             Group {
605                 delimiter: Bracket,
606                 stream: TokenStream [
607                     Ident {
608                         ident: "u8",
609                         span: $DIR/inner-attrs.rs:35:13: 35:15 (#0),
610                     },
611                     Punct {
612                         ch: ';',
613                         spacing: Alone,
614                         span: $DIR/inner-attrs.rs:35:15: 35:16 (#0),
615                     },
616                     Group {
617                         delimiter: Brace,
618                         stream: TokenStream [
619                             Ident {
620                                 ident: "match",
621                                 span: $DIR/inner-attrs.rs:36:9: 36:14 (#0),
622                             },
623                             Ident {
624                                 ident: "true",
625                                 span: $DIR/inner-attrs.rs:36:15: 36:19 (#0),
626                             },
627                             Group {
628                                 delimiter: Brace,
629                                 stream: TokenStream [
630                                     Punct {
631                                         ch: '#',
632                                         spacing: Alone,
633                                         span: $DIR/inner-attrs.rs:37:13: 37:14 (#0),
634                                     },
635                                     Punct {
636                                         ch: '!',
637                                         spacing: Alone,
638                                         span: $DIR/inner-attrs.rs:37:14: 37:15 (#0),
639                                     },
640                                     Group {
641                                         delimiter: Bracket,
642                                         stream: TokenStream [
643                                             Ident {
644                                                 ident: "rustc_dummy",
645                                                 span: $DIR/inner-attrs.rs:37:37: 37:48 (#0),
646                                             },
647                                             Group {
648                                                 delimiter: Parenthesis,
649                                                 stream: TokenStream [
650                                                     Ident {
651                                                         ident: "first",
652                                                         span: $DIR/inner-attrs.rs:37:49: 37:54 (#0),
653                                                     },
654                                                 ],
655                                                 span: $DIR/inner-attrs.rs:37:48: 37:55 (#0),
656                                             },
657                                         ],
658                                         span: $DIR/inner-attrs.rs:37:13: 37:14 (#0),
659                                     },
660                                     Punct {
661                                         ch: '#',
662                                         spacing: Alone,
663                                         span: $DIR/inner-attrs.rs:38:13: 38:14 (#0),
664                                     },
665                                     Punct {
666                                         ch: '!',
667                                         spacing: Alone,
668                                         span: $DIR/inner-attrs.rs:38:14: 38:15 (#0),
669                                     },
670                                     Group {
671                                         delimiter: Bracket,
672                                         stream: TokenStream [
673                                             Ident {
674                                                 ident: "rustc_dummy",
675                                                 span: $DIR/inner-attrs.rs:38:37: 38:48 (#0),
676                                             },
677                                             Group {
678                                                 delimiter: Parenthesis,
679                                                 stream: TokenStream [
680                                                     Ident {
681                                                         ident: "second",
682                                                         span: $DIR/inner-attrs.rs:38:49: 38:55 (#0),
683                                                     },
684                                                 ],
685                                                 span: $DIR/inner-attrs.rs:38:48: 38:56 (#0),
686                                             },
687                                         ],
688                                         span: $DIR/inner-attrs.rs:38:13: 38:14 (#0),
689                                     },
690                                     Ident {
691                                         ident: "_",
692                                         span: $DIR/inner-attrs.rs:39:13: 39:14 (#0),
693                                     },
694                                     Punct {
695                                         ch: '=',
696                                         spacing: Joint,
697                                         span: $DIR/inner-attrs.rs:39:15: 39:17 (#0),
698                                     },
699                                     Punct {
700                                         ch: '>',
701                                         spacing: Alone,
702                                         span: $DIR/inner-attrs.rs:39:15: 39:17 (#0),
703                                     },
704                                     Group {
705                                         delimiter: Brace,
706                                         stream: TokenStream [
707                                             Punct {
708                                                 ch: '#',
709                                                 spacing: Alone,
710                                                 span: $DIR/inner-attrs.rs:40:17: 40:18 (#0),
711                                             },
712                                             Punct {
713                                                 ch: '!',
714                                                 spacing: Alone,
715                                                 span: $DIR/inner-attrs.rs:40:18: 40:19 (#0),
716                                             },
717                                             Group {
718                                                 delimiter: Bracket,
719                                                 stream: TokenStream [
720                                                     Ident {
721                                                         ident: "rustc_dummy",
722                                                         span: $DIR/inner-attrs.rs:40:41: 40:52 (#0),
723                                                     },
724                                                     Group {
725                                                         delimiter: Parenthesis,
726                                                         stream: TokenStream [
727                                                             Ident {
728                                                                 ident: "third",
729                                                                 span: $DIR/inner-attrs.rs:40:53: 40:58 (#0),
730                                                             },
731                                                         ],
732                                                         span: $DIR/inner-attrs.rs:40:52: 40:59 (#0),
733                                                     },
734                                                 ],
735                                                 span: $DIR/inner-attrs.rs:40:17: 40:18 (#0),
736                                             },
737                                             Ident {
738                                                 ident: "true",
739                                                 span: $DIR/inner-attrs.rs:41:17: 41:21 (#0),
740                                             },
741                                         ],
742                                         span: $DIR/inner-attrs.rs:39:18: 42:14 (#0),
743                                     },
744                                 ],
745                                 span: $DIR/inner-attrs.rs:36:20: 43:10 (#0),
746                             },
747                             Punct {
748                                 ch: ';',
749                                 spacing: Alone,
750                                 span: $DIR/inner-attrs.rs:43:10: 43:11 (#0),
751                             },
752                             Literal {
753                                 kind: Integer,
754                                 symbol: "0",
755                                 suffix: None,
756                                 span: $DIR/inner-attrs.rs:44:9: 44:10 (#0),
757                             },
758                         ],
759                         span: $DIR/inner-attrs.rs:35:17: 45:6 (#0),
760                     },
761                 ],
762                 span: $DIR/inner-attrs.rs:35:12: 45:7 (#0),
763             },
764         ],
765         span: $DIR/inner-attrs.rs:34:22: 46:2 (#0),
766     },
767 ]
768 PRINT-ATTR_ARGS INPUT (DISPLAY): tuple_attrs
769 PRINT-ATTR_ARGS INPUT (DEBUG): TokenStream [
770     Ident {
771         ident: "tuple_attrs",
772         span: $DIR/inner-attrs.rs:52:29: 52:40 (#0),
773     },
774 ]
775 PRINT-ATTR INPUT (DISPLAY): (3, 4, { # ! [cfg_attr(not(FALSE), rustc_dummy(innermost))] 5 }) ;
776 PRINT-ATTR INPUT (DEBUG): TokenStream [
777     Group {
778         delimiter: Parenthesis,
779         stream: TokenStream [
780             Literal {
781                 kind: Integer,
782                 symbol: "3",
783                 suffix: None,
784                 span: $DIR/inner-attrs.rs:54:9: 54:10 (#0),
785             },
786             Punct {
787                 ch: ',',
788                 spacing: Alone,
789                 span: $DIR/inner-attrs.rs:54:10: 54:11 (#0),
790             },
791             Literal {
792                 kind: Integer,
793                 symbol: "4",
794                 suffix: None,
795                 span: $DIR/inner-attrs.rs:54:12: 54:13 (#0),
796             },
797             Punct {
798                 ch: ',',
799                 spacing: Alone,
800                 span: $DIR/inner-attrs.rs:54:13: 54:14 (#0),
801             },
802             Group {
803                 delimiter: Brace,
804                 stream: TokenStream [
805                     Punct {
806                         ch: '#',
807                         spacing: Joint,
808                         span: $DIR/inner-attrs.rs:55:13: 55:14 (#0),
809                     },
810                     Punct {
811                         ch: '!',
812                         spacing: Alone,
813                         span: $DIR/inner-attrs.rs:55:14: 55:15 (#0),
814                     },
815                     Group {
816                         delimiter: Bracket,
817                         stream: TokenStream [
818                             Ident {
819                                 ident: "cfg_attr",
820                                 span: $DIR/inner-attrs.rs:55:16: 55:24 (#0),
821                             },
822                             Group {
823                                 delimiter: Parenthesis,
824                                 stream: TokenStream [
825                                     Ident {
826                                         ident: "not",
827                                         span: $DIR/inner-attrs.rs:55:25: 55:28 (#0),
828                                     },
829                                     Group {
830                                         delimiter: Parenthesis,
831                                         stream: TokenStream [
832                                             Ident {
833                                                 ident: "FALSE",
834                                                 span: $DIR/inner-attrs.rs:55:29: 55:34 (#0),
835                                             },
836                                         ],
837                                         span: $DIR/inner-attrs.rs:55:28: 55:35 (#0),
838                                     },
839                                     Punct {
840                                         ch: ',',
841                                         spacing: Alone,
842                                         span: $DIR/inner-attrs.rs:55:35: 55:36 (#0),
843                                     },
844                                     Ident {
845                                         ident: "rustc_dummy",
846                                         span: $DIR/inner-attrs.rs:55:37: 55:48 (#0),
847                                     },
848                                     Group {
849                                         delimiter: Parenthesis,
850                                         stream: TokenStream [
851                                             Ident {
852                                                 ident: "innermost",
853                                                 span: $DIR/inner-attrs.rs:55:49: 55:58 (#0),
854                                             },
855                                         ],
856                                         span: $DIR/inner-attrs.rs:55:48: 55:59 (#0),
857                                     },
858                                 ],
859                                 span: $DIR/inner-attrs.rs:55:24: 55:60 (#0),
860                             },
861                         ],
862                         span: $DIR/inner-attrs.rs:55:15: 55:61 (#0),
863                     },
864                     Literal {
865                         kind: Integer,
866                         symbol: "5",
867                         suffix: None,
868                         span: $DIR/inner-attrs.rs:56:13: 56:14 (#0),
869                     },
870                 ],
871                 span: $DIR/inner-attrs.rs:54:15: 57:10 (#0),
872             },
873         ],
874         span: $DIR/inner-attrs.rs:52:43: 58:6 (#0),
875     },
876     Punct {
877         ch: ';',
878         spacing: Alone,
879         span: $DIR/inner-attrs.rs:58:6: 58:7 (#0),
880     },
881 ]
882 PRINT-ATTR_ARGS INPUT (DISPLAY): array_attrs
883 PRINT-ATTR_ARGS INPUT (DEBUG): TokenStream [
884     Ident {
885         ident: "array_attrs",
886         span: $DIR/inner-attrs.rs:60:29: 60:40 (#0),
887     },
888 ]
889 PRINT-ATTR INPUT (DISPLAY): [# ! [rustc_dummy(inner)] true ; 0] ;
890 PRINT-ATTR INPUT (DEBUG): TokenStream [
891     Group {
892         delimiter: Bracket,
893         stream: TokenStream [
894             Punct {
895                 ch: '#',
896                 spacing: Joint,
897                 span: $DIR/inner-attrs.rs:61:9: 61:10 (#0),
898             },
899             Punct {
900                 ch: '!',
901                 spacing: Alone,
902                 span: $DIR/inner-attrs.rs:61:10: 61:11 (#0),
903             },
904             Group {
905                 delimiter: Bracket,
906                 stream: TokenStream [
907                     Ident {
908                         ident: "rustc_dummy",
909                         span: $DIR/inner-attrs.rs:61:12: 61:23 (#0),
910                     },
911                     Group {
912                         delimiter: Parenthesis,
913                         stream: TokenStream [
914                             Ident {
915                                 ident: "inner",
916                                 span: $DIR/inner-attrs.rs:61:24: 61:29 (#0),
917                             },
918                         ],
919                         span: $DIR/inner-attrs.rs:61:23: 61:30 (#0),
920                     },
921                 ],
922                 span: $DIR/inner-attrs.rs:61:11: 61:31 (#0),
923             },
924             Ident {
925                 ident: "true",
926                 span: $DIR/inner-attrs.rs:62:9: 62:13 (#0),
927             },
928             Punct {
929                 ch: ';',
930                 spacing: Alone,
931                 span: $DIR/inner-attrs.rs:62:13: 62:14 (#0),
932             },
933             Literal {
934                 kind: Integer,
935                 symbol: "0",
936                 suffix: None,
937                 span: $DIR/inner-attrs.rs:62:15: 62:16 (#0),
938             },
939         ],
940         span: $DIR/inner-attrs.rs:60:43: 63:6 (#0),
941     },
942     Punct {
943         ch: ';',
944         spacing: Alone,
945         span: $DIR/inner-attrs.rs:63:6: 63:7 (#0),
946     },
947 ]
948 PRINT-ATTR_ARGS INPUT (DISPLAY): tuple_attrs
949 PRINT-ATTR_ARGS INPUT (DEBUG): TokenStream [
950     Ident {
951         ident: "tuple_attrs",
952         span: $DIR/inner-attrs.rs:65:29: 65:40 (#0),
953     },
954 ]
955 PRINT-ATTR INPUT (DISPLAY): (3, 4, { # ! [cfg_attr(not(FALSE), rustc_dummy(innermost))] 5 }) ;
956 PRINT-ATTR INPUT (DEBUG): TokenStream [
957     Group {
958         delimiter: Parenthesis,
959         stream: TokenStream [
960             Literal {
961                 kind: Integer,
962                 symbol: "3",
963                 suffix: None,
964                 span: $DIR/inner-attrs.rs:67:9: 67:10 (#0),
965             },
966             Punct {
967                 ch: ',',
968                 spacing: Alone,
969                 span: $DIR/inner-attrs.rs:67:10: 67:11 (#0),
970             },
971             Literal {
972                 kind: Integer,
973                 symbol: "4",
974                 suffix: None,
975                 span: $DIR/inner-attrs.rs:67:12: 67:13 (#0),
976             },
977             Punct {
978                 ch: ',',
979                 spacing: Alone,
980                 span: $DIR/inner-attrs.rs:67:13: 67:14 (#0),
981             },
982             Group {
983                 delimiter: Brace,
984                 stream: TokenStream [
985                     Punct {
986                         ch: '#',
987                         spacing: Joint,
988                         span: $DIR/inner-attrs.rs:68:13: 68:14 (#0),
989                     },
990                     Punct {
991                         ch: '!',
992                         spacing: Alone,
993                         span: $DIR/inner-attrs.rs:68:14: 68:15 (#0),
994                     },
995                     Group {
996                         delimiter: Bracket,
997                         stream: TokenStream [
998                             Ident {
999                                 ident: "cfg_attr",
1000                                 span: $DIR/inner-attrs.rs:68:16: 68:24 (#0),
1001                             },
1002                             Group {
1003                                 delimiter: Parenthesis,
1004                                 stream: TokenStream [
1005                                     Ident {
1006                                         ident: "not",
1007                                         span: $DIR/inner-attrs.rs:68:25: 68:28 (#0),
1008                                     },
1009                                     Group {
1010                                         delimiter: Parenthesis,
1011                                         stream: TokenStream [
1012                                             Ident {
1013                                                 ident: "FALSE",
1014                                                 span: $DIR/inner-attrs.rs:68:29: 68:34 (#0),
1015                                             },
1016                                         ],
1017                                         span: $DIR/inner-attrs.rs:68:28: 68:35 (#0),
1018                                     },
1019                                     Punct {
1020                                         ch: ',',
1021                                         spacing: Alone,
1022                                         span: $DIR/inner-attrs.rs:68:35: 68:36 (#0),
1023                                     },
1024                                     Ident {
1025                                         ident: "rustc_dummy",
1026                                         span: $DIR/inner-attrs.rs:68:37: 68:48 (#0),
1027                                     },
1028                                     Group {
1029                                         delimiter: Parenthesis,
1030                                         stream: TokenStream [
1031                                             Ident {
1032                                                 ident: "innermost",
1033                                                 span: $DIR/inner-attrs.rs:68:49: 68:58 (#0),
1034                                             },
1035                                         ],
1036                                         span: $DIR/inner-attrs.rs:68:48: 68:59 (#0),
1037                                     },
1038                                 ],
1039                                 span: $DIR/inner-attrs.rs:68:24: 68:60 (#0),
1040                             },
1041                         ],
1042                         span: $DIR/inner-attrs.rs:68:15: 68:61 (#0),
1043                     },
1044                     Literal {
1045                         kind: Integer,
1046                         symbol: "5",
1047                         suffix: None,
1048                         span: $DIR/inner-attrs.rs:69:13: 69:14 (#0),
1049                     },
1050                 ],
1051                 span: $DIR/inner-attrs.rs:67:15: 70:10 (#0),
1052             },
1053         ],
1054         span: $DIR/inner-attrs.rs:65:43: 71:6 (#0),
1055     },
1056     Punct {
1057         ch: ';',
1058         spacing: Alone,
1059         span: $DIR/inner-attrs.rs:71:6: 71:7 (#0),
1060     },
1061 ]
1062 PRINT-ATTR_ARGS INPUT (DISPLAY): array_attrs
1063 PRINT-ATTR_ARGS INPUT (DEBUG): TokenStream [
1064     Ident {
1065         ident: "array_attrs",
1066         span: $DIR/inner-attrs.rs:73:29: 73:40 (#0),
1067     },
1068 ]
1069 PRINT-ATTR INPUT (DISPLAY): [# ! [rustc_dummy(inner)] true ; 0] ;
1070 PRINT-ATTR INPUT (DEBUG): TokenStream [
1071     Group {
1072         delimiter: Bracket,
1073         stream: TokenStream [
1074             Punct {
1075                 ch: '#',
1076                 spacing: Joint,
1077                 span: $DIR/inner-attrs.rs:74:9: 74:10 (#0),
1078             },
1079             Punct {
1080                 ch: '!',
1081                 spacing: Alone,
1082                 span: $DIR/inner-attrs.rs:74:10: 74:11 (#0),
1083             },
1084             Group {
1085                 delimiter: Bracket,
1086                 stream: TokenStream [
1087                     Ident {
1088                         ident: "rustc_dummy",
1089                         span: $DIR/inner-attrs.rs:74:12: 74:23 (#0),
1090                     },
1091                     Group {
1092                         delimiter: Parenthesis,
1093                         stream: TokenStream [
1094                             Ident {
1095                                 ident: "inner",
1096                                 span: $DIR/inner-attrs.rs:74:24: 74:29 (#0),
1097                             },
1098                         ],
1099                         span: $DIR/inner-attrs.rs:74:23: 74:30 (#0),
1100                     },
1101                 ],
1102                 span: $DIR/inner-attrs.rs:74:11: 74:31 (#0),
1103             },
1104             Ident {
1105                 ident: "true",
1106                 span: $DIR/inner-attrs.rs:75:9: 75:13 (#0),
1107             },
1108             Punct {
1109                 ch: ';',
1110                 spacing: Alone,
1111                 span: $DIR/inner-attrs.rs:75:13: 75:14 (#0),
1112             },
1113             Literal {
1114                 kind: Integer,
1115                 symbol: "0",
1116                 suffix: None,
1117                 span: $DIR/inner-attrs.rs:75:15: 75:16 (#0),
1118             },
1119         ],
1120         span: $DIR/inner-attrs.rs:73:43: 76:6 (#0),
1121     },
1122     Punct {
1123         ch: ';',
1124         spacing: Alone,
1125         span: $DIR/inner-attrs.rs:76:6: 76:7 (#0),
1126     },
1127 ]
1128 PRINT-ATTR_ARGS INPUT (DISPLAY): tenth
1129 PRINT-ATTR_ARGS INPUT (DEBUG): TokenStream [
1130     Ident {
1131         ident: "tenth",
1132         span: $DIR/inner-attrs.rs:112:42: 112:47 (#0),
1133     },
1134 ]
1135 PRINT-ATTR INPUT (DISPLAY): fn weird_extern() { }
1136 PRINT-ATTR INPUT (DEBUG): TokenStream [
1137     Ident {
1138         ident: "fn",
1139         span: $DIR/inner-attrs.rs:111:5: 111:7 (#0),
1140     },
1141     Ident {
1142         ident: "weird_extern",
1143         span: $DIR/inner-attrs.rs:111:8: 111:20 (#0),
1144     },
1145     Group {
1146         delimiter: Parenthesis,
1147         stream: TokenStream [],
1148         span: $DIR/inner-attrs.rs:111:20: 111:22 (#0),
1149     },
1150     Group {
1151         delimiter: Brace,
1152         stream: TokenStream [],
1153         span: $DIR/inner-attrs.rs:111:23: 113:6 (#0),
1154     },
1155 ]