Always eat up mut when parsing general args, fixes #7483
This commit is contained in:
parent
62bb843e32
commit
eaaf3f67ab
2 changed files with 19 additions and 2 deletions
|
@ -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)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue