]> git.lizzy.rs Git - rust.git/blob - crates/syntax/test_data/parser/validation/0031_block_inner_attrs.rast
Merge #11481
[rust.git] / crates / syntax / test_data / parser / validation / 0031_block_inner_attrs.rast
1 SOURCE_FILE@0..350
2   FN@0..349
3     FN_KW@0..2 "fn"
4     WHITESPACE@2..3 " "
5     NAME@3..8
6       IDENT@3..8 "block"
7     PARAM_LIST@8..10
8       L_PAREN@8..9 "("
9       R_PAREN@9..10 ")"
10     WHITESPACE@10..11 " "
11     BLOCK_EXPR@11..349
12       STMT_LIST@11..349
13         L_CURLY@11..12 "{"
14         WHITESPACE@12..17 "\n    "
15         LET_STMT@17..129
16           LET_KW@17..20 "let"
17           WHITESPACE@20..21 " "
18           IDENT_PAT@21..26
19             NAME@21..26
20               IDENT@21..26 "inner"
21           WHITESPACE@26..27 " "
22           EQ@27..28 "="
23           WHITESPACE@28..29 " "
24           BLOCK_EXPR@29..128
25             STMT_LIST@29..128
26               L_CURLY@29..30 "{"
27               WHITESPACE@30..39 "\n        "
28               ATTR@39..83
29                 POUND@39..40 "#"
30                 BANG@40..41 "!"
31                 L_BRACK@41..42 "["
32                 META@42..82
33                   PATH@42..45
34                     PATH_SEGMENT@42..45
35                       NAME_REF@42..45
36                         IDENT@42..45 "doc"
37                   TOKEN_TREE@45..82
38                     L_PAREN@45..46 "("
39                     STRING@46..81 "\"Inner attributes not ..."
40                     R_PAREN@81..82 ")"
41                 R_BRACK@82..83 "]"
42               WHITESPACE@83..92 "\n        "
43               COMMENT@92..122 "//! Nor are ModuleDoc ..."
44               WHITESPACE@122..127 "\n    "
45               R_CURLY@127..128 "}"
46           SEMICOLON@128..129 ";"
47         WHITESPACE@129..134 "\n    "
48         EXPR_STMT@134..257
49           IF_EXPR@134..257
50             IF_KW@134..136 "if"
51             WHITESPACE@136..137 " "
52             LITERAL@137..141
53               TRUE_KW@137..141 "true"
54             WHITESPACE@141..142 " "
55             BLOCK_EXPR@142..257
56               STMT_LIST@142..257
57                 L_CURLY@142..143 "{"
58                 WHITESPACE@143..152 "\n        "
59                 ATTR@152..171
60                   POUND@152..153 "#"
61                   BANG@153..154 "!"
62                   L_BRACK@154..155 "["
63                   META@155..170
64                     PATH@155..158
65                       PATH_SEGMENT@155..158
66                         NAME_REF@155..158
67                           IDENT@155..158 "doc"
68                     TOKEN_TREE@158..170
69                       L_PAREN@158..159 "("
70                       STRING@159..169 "\"Nor here\""
71                       R_PAREN@169..170 ")"
72                   R_BRACK@170..171 "]"
73                 WHITESPACE@171..180 "\n        "
74                 ATTR@180..212
75                   POUND@180..181 "#"
76                   BANG@181..182 "!"
77                   L_BRACK@182..183 "["
78                   META@183..211
79                     PATH@183..186
80                       PATH_SEGMENT@183..186
81                         NAME_REF@183..186
82                           IDENT@183..186 "doc"
83                     TOKEN_TREE@186..211
84                       L_PAREN@186..187 "("
85                       STRING@187..210 "\"We error on each attr\""
86                       R_PAREN@210..211 ")"
87                   R_BRACK@211..212 "]"
88                 WHITESPACE@212..221 "\n        "
89                 COMMENT@221..251 "//! Nor are ModuleDoc ..."
90                 WHITESPACE@251..256 "\n    "
91                 R_CURLY@256..257 "}"
92         WHITESPACE@257..262 "\n    "
93         WHILE_EXPR@262..347
94           WHILE_KW@262..267 "while"
95           WHITESPACE@267..268 " "
96           LITERAL@268..272
97             TRUE_KW@268..272 "true"
98           WHITESPACE@272..273 " "
99           BLOCK_EXPR@273..347
100             STMT_LIST@273..347
101               L_CURLY@273..274 "{"
102               WHITESPACE@274..283 "\n        "
103               ATTR@283..302
104                 POUND@283..284 "#"
105                 BANG@284..285 "!"
106                 L_BRACK@285..286 "["
107                 META@286..301
108                   PATH@286..289
109                     PATH_SEGMENT@286..289
110                       NAME_REF@286..289
111                         IDENT@286..289 "doc"
112                   TOKEN_TREE@289..301
113                     L_PAREN@289..290 "("
114                     STRING@290..300 "\"Nor here\""
115                     R_PAREN@300..301 ")"
116                 R_BRACK@301..302 "]"
117               WHITESPACE@302..311 "\n        "
118               COMMENT@311..341 "//! Nor are ModuleDoc ..."
119               WHITESPACE@341..346 "\n    "
120               R_CURLY@346..347 "}"
121         WHITESPACE@347..348 "\n"
122         R_CURLY@348..349 "}"
123   WHITESPACE@349..350 "\n"
124 error 39..83: A block in this position cannot accept inner attributes
125 error 152..171: A block in this position cannot accept inner attributes
126 error 180..212: A block in this position cannot accept inner attributes
127 error 283..302: A block in this position cannot accept inner attributes