1
Fork 0

Always eat up mut when parsing general args, fixes #7483

This commit is contained in:
John Barker 2013-07-07 22:26:15 -04:00
parent 62bb843e32
commit eaaf3f67ab
2 changed files with 19 additions and 2 deletions

View file

@ -1074,10 +1074,9 @@ impl Parser {
// This version of parse arg doesn't necessarily require
// identifier names.
pub fn parse_arg_general(&self, require_name: bool) -> arg {
let mut is_mutbl = false;
let mut is_mutbl = self.eat_keyword(keywords::Mut);
let pat = if require_name || self.is_named_argument() {
self.parse_arg_mode();
is_mutbl = self.eat_keyword(keywords::Mut);
let pat = self.parse_pat();
if is_mutbl && !ast_util::pat_is_ident(pat) {
@ -1087,6 +1086,7 @@ impl Parser {
self.expect(&token::COLON);
pat
} else {
is_mutbl = false;
ast_util::ident_to_pat(self.get_id(),
*self.last_span,
special_idents::invalid)