de-fatalize some errors
This commit is contained in:
parent
2091062bf6
commit
b6fc87c5b9
@ -177,10 +177,6 @@ impl<'a> Parser<'a> {
|
||||
self.sess.span_diagnostic.span_bug(self.token.span, m)
|
||||
}
|
||||
|
||||
pub(super) fn span_err<S: Into<MultiSpan>>(&self, sp: S, m: &str) {
|
||||
self.sess.span_diagnostic.span_err(sp, m)
|
||||
}
|
||||
|
||||
pub fn struct_span_err<S: Into<MultiSpan>>(&self, sp: S, m: &str) -> DiagnosticBuilder<'a> {
|
||||
self.sess.span_diagnostic.struct_span_err(sp, m)
|
||||
}
|
||||
|
@ -822,7 +822,11 @@ impl<'a> Parser<'a> {
|
||||
} else {
|
||||
// Field access `expr.f`
|
||||
if let Some(args) = segment.args {
|
||||
self.span_err(args.span(), "field expressions may not have generic arguments");
|
||||
self.struct_span_err(
|
||||
args.span(),
|
||||
"field expressions may not have generic arguments",
|
||||
)
|
||||
.emit();
|
||||
}
|
||||
|
||||
let span = lo.to(self.prev_span);
|
||||
|
@ -617,7 +617,7 @@ impl<'a> Parser<'a> {
|
||||
// This notably includes paths passed through `ty` macro fragments (#46438).
|
||||
TyKind::Path(None, path) => path,
|
||||
_ => {
|
||||
self.span_err(ty_first.span, "expected a trait, found type");
|
||||
self.struct_span_err(ty_first.span, "expected a trait, found type").emit();
|
||||
err_path(ty_first.span)
|
||||
}
|
||||
};
|
||||
|
@ -93,7 +93,7 @@ impl<'a> Parser<'a> {
|
||||
maybe_whole!(self, NtPath, |path| {
|
||||
if style == PathStyle::Mod && path.segments.iter().any(|segment| segment.args.is_some())
|
||||
{
|
||||
self.diagnostic().span_err(path.span, "unexpected generic arguments in path");
|
||||
self.struct_span_err(path.span, "unexpected generic arguments in path").emit();
|
||||
}
|
||||
path
|
||||
});
|
||||
|
@ -193,7 +193,8 @@ impl<'a> Parser<'a> {
|
||||
if self.prev_token_kind == PrevTokenKind::DocComment {
|
||||
self.span_fatal_err(self.prev_span, Error::UselessDocComment).emit();
|
||||
} else if attrs.iter().any(|a| a.style == AttrStyle::Outer) {
|
||||
self.span_err(self.token.span, "expected statement after outer attribute");
|
||||
self.struct_span_err(self.token.span, "expected statement after outer attribute")
|
||||
.emit();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -112,3 +112,4 @@ fn main() {}
|
||||
#[cfg(FALSE)] fn e() { { fn foo() { #[attr]; } } }
|
||||
//~^ ERROR expected statement after outer attribute
|
||||
#[cfg(FALSE)] fn e() { { fn foo() { #[attr] } } }
|
||||
//~^ ERROR expected statement after outer attribute
|
||||
|
@ -410,5 +410,11 @@ error: expected statement after outer attribute
|
||||
LL | #[cfg(FALSE)] fn e() { { fn foo() { #[attr]; } } }
|
||||
| ^
|
||||
|
||||
error: aborting due to 56 previous errors
|
||||
error: expected statement after outer attribute
|
||||
--> $DIR/attr-stmt-expr-attr-bad.rs:114:45
|
||||
|
|
||||
LL | #[cfg(FALSE)] fn e() { { fn foo() { #[attr] } } }
|
||||
| ^
|
||||
|
||||
error: aborting due to 57 previous errors
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user