File tree Expand file tree Collapse file tree 1 file changed +12
-3
lines changed Expand file tree Collapse file tree 1 file changed +12
-3
lines changed Original file line number Diff line number Diff line change @@ -2047,7 +2047,8 @@ fn parse_item_tag(p: parser, attrs: [ast::attribute]) -> @ast::item {
2047
2047
expect ( p, token:: LBRACE ) ;
2048
2048
let all_nullary = true ;
2049
2049
let have_disr = false ;
2050
- while p. token != token:: RBRACE {
2050
+ let done = false ;
2051
+ while !done {
2051
2052
let tok = p. token ;
2052
2053
alt tok {
2053
2054
token : : IDENT ( name, _) {
@@ -2075,13 +2076,21 @@ fn parse_item_tag(p: parser, attrs: [ast::attribute]) -> @ast::item {
2075
2076
}
2076
2077
_ { /* empty */ }
2077
2078
}
2078
- expect( p, token:: SEMI ) ;
2079
+
2080
+ alt p. token {
2081
+ token:: SEMI . | token:: COMMA . {
2082
+ p. bump ( ) ;
2083
+ if p. token == token:: RBRACE { done = true ; }
2084
+ }
2085
+ token:: RBRACE . { done = true ; }
2086
+ _ { /* fall through */ }
2087
+ }
2088
+
2079
2089
p. get_id ( ) ;
2080
2090
let vr = { name: p. get_str ( name) , args: args, id: p. get_id ( ) ,
2081
2091
disr_expr: disr_expr} ;
2082
2092
variants += [ spanned ( vlo, vhi, vr) ] ;
2083
2093
}
2084
- token:: RBRACE . { /* empty */ }
2085
2094
_ {
2086
2095
p. fatal ( "expected name of variant or '}' but found '" +
2087
2096
token:: to_str ( p. reader , tok) + "'" ) ;
You can’t perform that action at this time.
0 commit comments