mirror of
https://github.com/rust-lang/rust.git
synced 2025-02-11 22:43:42 +00:00
Store ErrorGuaranteed
in ErrorReported
This commit is contained in:
parent
c0a7612728
commit
8d13b2a046
@ -72,6 +72,7 @@
|
||||
|
||||
pub(crate) use NamedMatch::*;
|
||||
pub(crate) use ParseResult::*;
|
||||
use rustc_errors::ErrorGuaranteed;
|
||||
|
||||
use crate::mbe::{KleeneOp, TokenTree};
|
||||
|
||||
@ -270,7 +271,7 @@ pub(crate) enum ParseResult<T> {
|
||||
Failure(Token, &'static str),
|
||||
/// Fatal error (malformed macro?). Abort compilation.
|
||||
Error(rustc_span::Span, String),
|
||||
ErrorReported,
|
||||
ErrorReported(ErrorGuaranteed),
|
||||
}
|
||||
|
||||
/// A `ParseResult` where the `Success` variant contains a mapping of
|
||||
@ -612,14 +613,14 @@ impl TtParser {
|
||||
// edition-specific matching behavior for non-terminals.
|
||||
let nt = match parser.to_mut().parse_nonterminal(kind) {
|
||||
Err(mut err) => {
|
||||
err.span_label(
|
||||
let guarantee = err.span_label(
|
||||
span,
|
||||
format!(
|
||||
"while parsing argument for this `{kind}` macro fragment"
|
||||
),
|
||||
)
|
||||
.emit();
|
||||
return ErrorReported;
|
||||
return ErrorReported(guarantee);
|
||||
}
|
||||
Ok(nt) => nt,
|
||||
};
|
||||
|
@ -333,7 +333,7 @@ fn expand_macro<'cx>(
|
||||
cx.struct_span_err(span, &msg).emit();
|
||||
return DummyResult::any(span);
|
||||
}
|
||||
ErrorReported => return DummyResult::any(sp),
|
||||
ErrorReported(_) => return DummyResult::any(sp),
|
||||
}
|
||||
|
||||
// The matcher was not `Success(..)`ful.
|
||||
@ -470,7 +470,7 @@ pub fn compile_declarative_macro(
|
||||
.emit();
|
||||
return dummy_syn_ext();
|
||||
}
|
||||
ErrorReported => {
|
||||
ErrorReported(_) => {
|
||||
return dummy_syn_ext();
|
||||
}
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user