parse_labeled_expr: add a suggestion on missing colon.
This commit is contained in:
parent
fe848b44fe
commit
e72df7edad
2 changed files with 31 additions and 14 deletions
|
|
@ -1106,14 +1106,24 @@ impl<'a> Parser<'a> {
|
|||
}?;
|
||||
|
||||
if !ate_colon {
|
||||
self.struct_span_err(expr.span, "labeled expression must be followed by `:`")
|
||||
.span_label(lo, "the label")
|
||||
.emit();
|
||||
self.error_labeled_expr_must_be_followed_by_colon(lo, expr.span);
|
||||
}
|
||||
|
||||
Ok(expr)
|
||||
}
|
||||
|
||||
fn error_labeled_expr_must_be_followed_by_colon(&self, lo: Span, span: Span) {
|
||||
self.struct_span_err(span, "labeled expression must be followed by `:`")
|
||||
.span_label(lo, "the label")
|
||||
.span_suggestion_short(
|
||||
lo.shrink_to_hi(),
|
||||
"add `:` after the label",
|
||||
": ".to_string(),
|
||||
Applicability::MachineApplicable,
|
||||
)
|
||||
.emit();
|
||||
}
|
||||
|
||||
/// Recover on the syntax `do catch { ... }` suggesting `try { ... }` instead.
|
||||
fn recover_do_catch(&mut self, attrs: AttrVec) -> PResult<'a, P<Expr>> {
|
||||
let lo = self.token.span;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue