diff --git a/compiler/rustc_parse/src/parser/expr.rs b/compiler/rustc_parse/src/parser/expr.rs index f8444881d1a54..3a6ed3452a853 100644 --- a/compiler/rustc_parse/src/parser/expr.rs +++ b/compiler/rustc_parse/src/parser/expr.rs @@ -137,6 +137,20 @@ impl<'a> Parser<'a> { self.bump(); Ok(self.mk_expr(self.prev_token.span, ExprKind::Err)) } + None if self.may_recover() + && self.prev_token.is_ident() + && self.token.kind == token::Colon => + { + err.span_suggestion_verbose( + self.prev_token.span.until(self.look_ahead(1, |t| t.span)), + "if this is a parameter, remove the name for the parameter", + "", + Applicability::MaybeIncorrect, + ); + self.bump(); + err.emit(); + Ok(self.mk_expr(self.token.span, ExprKind::Err)) + } _ => Err(err), }, }