soften the wording for removing type ascription

This commit is contained in:
yukang 2023-04-28 09:55:38 +08:00
parent 0fe1ff2137
commit 5d1796a608
14 changed files with 16 additions and 23 deletions

View file

@ -1569,14 +1569,9 @@ impl<'a> Parser<'a> {
}
pub(super) fn expect_semi(&mut self) -> PResult<'a, ()> {
if self.eat(&token::Semi) {
if self.eat(&token::Semi) || self.recover_colon_as_semi() {
return Ok(());
}
if self.recover_colon_as_semi() {
return Ok(());
}
self.expect(&token::Semi).map(drop) // Error unconditionally
}
@ -1597,9 +1592,7 @@ impl<'a> Parser<'a> {
span: self.token.span,
type_ascription: self.sess.unstable_features.is_nightly_build().then_some(()),
});
self.bump();
return true;
}

View file

@ -9,7 +9,7 @@ use rustc_ast::{
AssocConstraintKind, BlockCheckMode, GenericArg, GenericArgs, Generics, ParenthesizedArgs,
Path, PathSegment, QSelf,
};
use rustc_errors::{pluralize, Applicability, IntoDiagnostic, PResult};
use rustc_errors::{Applicability, IntoDiagnostic, PResult};
use rustc_span::source_map::{BytePos, Span};
use rustc_span::symbol::{kw, sym, Ident};
use std::mem;

View file

@ -645,7 +645,7 @@ impl<'a> Parser<'a> {
if self.recover_colon_as_semi() {
// recover_colon_as_semi has already emitted a nicer error.
e.cancel();
e.delay_as_bug();
add_semi_to_stmt = true;
eat_semi = false;
@ -672,7 +672,7 @@ impl<'a> Parser<'a> {
};
match self.parse_expr_labeled(label, false) {
Ok(labeled_expr) => {
e.cancel();
e.delay_as_bug();
self.sess.emit_err(MalformedLoopLabel {
span: label.ident.span,
correct_label: label.ident,