File tree Expand file tree Collapse file tree 3 files changed +57
-8
lines changed
syntax/test_data/parser/inline/ok Expand file tree Collapse file tree 3 files changed +57
-8
lines changed Original file line number Diff line number Diff line change @@ -206,13 +206,15 @@ fn record_pat_field_list(p: &mut Parser) {
206
206
T ! [ . ] if p. at ( T ! [ ..] ) => p. bump ( T ! [ ..] ) ,
207
207
T ! [ '{' ] => error_block ( p, "expected ident" ) ,
208
208
209
- c => {
209
+ _ => {
210
210
let m = p. start ( ) ;
211
- match c {
211
+ attributes:: outer_attrs ( p) ;
212
+ match p. current ( ) {
212
213
// test record_pat_field
213
214
// fn foo() {
214
215
// let S { 0: 1 } = ();
215
216
// let S { x: 1 } = ();
217
+ // let S { #[cfg(any())] x: 1 } = ();
216
218
// }
217
219
IDENT | INT_NUMBER if p. nth ( 1 ) == T ! [ : ] => {
218
220
name_ref_or_index ( p) ;
Original file line number Diff line number Diff line change 1
- SOURCE_FILE@0..63
2
- FN@0..62
1
+ SOURCE_FILE@0..102
2
+ FN@0..101
3
3
FN_KW@0..2 "fn"
4
4
WHITESPACE@2..3 " "
5
5
NAME@3..6
@@ -8,7 +8,7 @@ SOURCE_FILE@0..63
8
8
L_PAREN@6..7 "("
9
9
R_PAREN@7..8 ")"
10
10
WHITESPACE@8..9 " "
11
- BLOCK_EXPR@9..62
11
+ BLOCK_EXPR@9..101
12
12
L_CURLY@9..10 "{"
13
13
WHITESPACE@10..15 "\n "
14
14
LET_STMT@15..35
@@ -70,6 +70,52 @@ SOURCE_FILE@0..63
70
70
L_PAREN@57..58 "("
71
71
R_PAREN@58..59 ")"
72
72
SEMICOLON@59..60 ";"
73
- WHITESPACE@60..61 "\n"
74
- R_CURLY@61..62 "}"
75
- WHITESPACE@62..63 "\n"
73
+ WHITESPACE@60..65 "\n "
74
+ LET_STMT@65..99
75
+ LET_KW@65..68 "let"
76
+ WHITESPACE@68..69 " "
77
+ RECORD_PAT@69..93
78
+ PATH@69..70
79
+ PATH_SEGMENT@69..70
80
+ NAME_REF@69..70
81
+ IDENT@69..70 "S"
82
+ WHITESPACE@70..71 " "
83
+ RECORD_PAT_FIELD_LIST@71..93
84
+ L_CURLY@71..72 "{"
85
+ WHITESPACE@72..73 " "
86
+ RECORD_PAT_FIELD@73..91
87
+ ATTR@73..86
88
+ POUND@73..74 "#"
89
+ L_BRACK@74..75 "["
90
+ PATH@75..78
91
+ PATH_SEGMENT@75..78
92
+ NAME_REF@75..78
93
+ IDENT@75..78 "cfg"
94
+ TOKEN_TREE@78..85
95
+ L_PAREN@78..79 "("
96
+ IDENT@79..82 "any"
97
+ TOKEN_TREE@82..84
98
+ L_PAREN@82..83 "("
99
+ R_PAREN@83..84 ")"
100
+ R_PAREN@84..85 ")"
101
+ R_BRACK@85..86 "]"
102
+ WHITESPACE@86..87 " "
103
+ NAME_REF@87..88
104
+ IDENT@87..88 "x"
105
+ COLON@88..89 ":"
106
+ WHITESPACE@89..90 " "
107
+ LITERAL_PAT@90..91
108
+ LITERAL@90..91
109
+ INT_NUMBER@90..91 "1"
110
+ WHITESPACE@91..92 " "
111
+ R_CURLY@92..93 "}"
112
+ WHITESPACE@93..94 " "
113
+ EQ@94..95 "="
114
+ WHITESPACE@95..96 " "
115
+ TUPLE_EXPR@96..98
116
+ L_PAREN@96..97 "("
117
+ R_PAREN@97..98 ")"
118
+ SEMICOLON@98..99 ";"
119
+ WHITESPACE@99..100 "\n"
120
+ R_CURLY@100..101 "}"
121
+ WHITESPACE@101..102 "\n"
Original file line number Diff line number Diff line change 1
1
fn foo ( ) {
2
2
let S { 0 : 1 } = ( ) ;
3
3
let S { x : 1 } = ( ) ;
4
+ let S { #[ cfg( any( ) ) ] x: 1 } = ( ) ;
4
5
}
You can’t perform that action at this time.
0 commit comments