File tree Expand file tree Collapse file tree 3 files changed +37
-4
lines changed
ra_parser/src/grammar/items
ra_syntax/test_data/parser/inline/ok Expand file tree Collapse file tree 3 files changed +37
-4
lines changed Original file line number Diff line number Diff line change @@ -83,12 +83,14 @@ pub(crate) fn enum_variant_list(p: &mut Parser) {
8383 match p. current ( ) {
8484 T ! [ '{' ] => record_field_def_list ( p) ,
8585 T ! [ '(' ] => tuple_field_def_list ( p) ,
86- T ! [ =] => {
87- p. bump ( T ! [ =] ) ;
88- expressions:: expr ( p) ;
89- }
9086 _ => ( ) ,
9187 }
88+
89+ // test variant_discriminant
90+ // enum E { X(i32) = 10 }
91+ if p. eat ( T ! [ =] ) {
92+ expressions:: expr ( p) ;
93+ }
9294 var. complete ( p, ENUM_VARIANT ) ;
9395 } else {
9496 var. abandon ( p) ;
Original file line number Diff line number Diff line change 1+ enum E { X ( i32 ) = 10 }
Original file line number Diff line number Diff line change 1+ SOURCE_FILE@[0; 23)
2+ ENUM_DEF@[0; 22)
3+ ENUM_KW@[0; 4) "enum"
4+ WHITESPACE@[4; 5) " "
5+ NAME@[5; 6)
6+ IDENT@[5; 6) "E"
7+ WHITESPACE@[6; 7) " "
8+ ENUM_VARIANT_LIST@[7; 22)
9+ L_CURLY@[7; 8) "{"
10+ WHITESPACE@[8; 9) " "
11+ ENUM_VARIANT@[9; 20)
12+ NAME@[9; 10)
13+ IDENT@[9; 10) "X"
14+ TUPLE_FIELD_DEF_LIST@[10; 15)
15+ L_PAREN@[10; 11) "("
16+ TUPLE_FIELD_DEF@[11; 14)
17+ PATH_TYPE@[11; 14)
18+ PATH@[11; 14)
19+ PATH_SEGMENT@[11; 14)
20+ NAME_REF@[11; 14)
21+ IDENT@[11; 14) "i32"
22+ R_PAREN@[14; 15) ")"
23+ WHITESPACE@[15; 16) " "
24+ EQ@[16; 17) "="
25+ WHITESPACE@[17; 18) " "
26+ LITERAL@[18; 20)
27+ INT_NUMBER@[18; 20) "10"
28+ WHITESPACE@[20; 21) " "
29+ R_CURLY@[21; 22) "}"
30+ WHITESPACE@[22; 23) "\n"
You can’t perform that action at this time.
0 commit comments