libsyntax: Accept ',' to separate struct fields. Closes #3263.

This commit is contained in:
Patrick Walton 2012-08-25 16:06:35 -07:00
parent 8ef4551904
commit d77acf7d07
2 changed files with 14 additions and 2 deletions

View file

@ -2698,7 +2698,19 @@ struct parser {
!self.is_any_keyword(copy self.token)) &&
!self.token_is_pound_or_doc_comment(self.token) {
let a_var = self.parse_instance_var(vis);
self.expect(token::SEMI);
match self.token {
token::SEMI | token::COMMA => {
self.bump();
}
token::RBRACE => {}
_ => {
self.span_fatal(copy self.span,
fmt!("expected `;`, `,`, or '}' but \
found `%s`",
token_to_str(self.reader,
self.token)));
}
}
return a_var;
} else {
let m = self.parse_method(vis);

View file

@ -646,7 +646,7 @@ fn print_struct(s: ps, struct_def: @ast::struct_def, tps: ~[ast::ty_param],
print_ident(s, ident);
word_nbsp(s, ~":");
print_type(s, field.node.ty);
word(s.s, ~";");
word(s.s, ~",");
}
}
}