Rollup merge of #113884 - oli-obk:delay_span_bug_detrans_late, r=davidtwco
Don't translate compiler-internal bug messages These are not very useful to be translated, as * translators would get really weird and bad english versions to start out from, * compiler devs have to do some work for what is supposed to be dead code and just a sanity check, * the target audience is other compiler devs. r? `@davidtwco`
This commit is contained in:
commit
464e02a267
@ -1003,7 +1003,7 @@ impl Handler {
|
|||||||
self.emit_diag_at_span(Diagnostic::new_with_code(Warning(None), Some(code), msg), span);
|
self.emit_diag_at_span(Diagnostic::new_with_code(Warning(None), Some(code), msg), span);
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn span_bug(&self, span: impl Into<MultiSpan>, msg: impl Into<DiagnosticMessage>) -> ! {
|
pub fn span_bug(&self, span: impl Into<MultiSpan>, msg: impl Into<String>) -> ! {
|
||||||
self.inner.borrow_mut().span_bug(span, msg)
|
self.inner.borrow_mut().span_bug(span, msg)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1012,7 +1012,7 @@ impl Handler {
|
|||||||
pub fn delay_span_bug(
|
pub fn delay_span_bug(
|
||||||
&self,
|
&self,
|
||||||
span: impl Into<MultiSpan>,
|
span: impl Into<MultiSpan>,
|
||||||
msg: impl Into<DiagnosticMessage>,
|
msg: impl Into<String>,
|
||||||
) -> ErrorGuaranteed {
|
) -> ErrorGuaranteed {
|
||||||
self.inner.borrow_mut().delay_span_bug(span, msg)
|
self.inner.borrow_mut().delay_span_bug(span, msg)
|
||||||
}
|
}
|
||||||
@ -1596,8 +1596,8 @@ impl HandlerInner {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#[track_caller]
|
#[track_caller]
|
||||||
fn span_bug(&mut self, sp: impl Into<MultiSpan>, msg: impl Into<DiagnosticMessage>) -> ! {
|
fn span_bug(&mut self, sp: impl Into<MultiSpan>, msg: impl Into<String>) -> ! {
|
||||||
self.emit_diag_at_span(Diagnostic::new(Bug, msg), sp);
|
self.emit_diag_at_span(Diagnostic::new(Bug, msg.into()), sp);
|
||||||
panic::panic_any(ExplicitBug);
|
panic::panic_any(ExplicitBug);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1610,7 +1610,7 @@ impl HandlerInner {
|
|||||||
fn delay_span_bug(
|
fn delay_span_bug(
|
||||||
&mut self,
|
&mut self,
|
||||||
sp: impl Into<MultiSpan>,
|
sp: impl Into<MultiSpan>,
|
||||||
msg: impl Into<DiagnosticMessage>,
|
msg: impl Into<String>,
|
||||||
) -> ErrorGuaranteed {
|
) -> ErrorGuaranteed {
|
||||||
// This is technically `self.treat_err_as_bug()` but `delay_span_bug` is called before
|
// This is technically `self.treat_err_as_bug()` but `delay_span_bug` is called before
|
||||||
// incrementing `err_count` by one, so we need to +1 the comparing.
|
// incrementing `err_count` by one, so we need to +1 the comparing.
|
||||||
@ -1619,9 +1619,9 @@ impl HandlerInner {
|
|||||||
self.err_count() + self.lint_err_count + self.delayed_bug_count() + 1 >= c.get()
|
self.err_count() + self.lint_err_count + self.delayed_bug_count() + 1 >= c.get()
|
||||||
}) {
|
}) {
|
||||||
// FIXME: don't abort here if report_delayed_bugs is off
|
// FIXME: don't abort here if report_delayed_bugs is off
|
||||||
self.span_bug(sp, msg);
|
self.span_bug(sp, msg.into());
|
||||||
}
|
}
|
||||||
let mut diagnostic = Diagnostic::new(Level::DelayedBug, msg);
|
let mut diagnostic = Diagnostic::new(Level::DelayedBug, msg.into());
|
||||||
diagnostic.set_span(sp.into());
|
diagnostic.set_span(sp.into());
|
||||||
self.emit_diagnostic(&mut diagnostic).unwrap()
|
self.emit_diagnostic(&mut diagnostic).unwrap()
|
||||||
}
|
}
|
||||||
|
@ -1147,7 +1147,7 @@ impl<'a> ExtCtxt<'a> {
|
|||||||
pub fn span_warn<S: Into<MultiSpan>>(&self, sp: S, msg: impl Into<DiagnosticMessage>) {
|
pub fn span_warn<S: Into<MultiSpan>>(&self, sp: S, msg: impl Into<DiagnosticMessage>) {
|
||||||
self.sess.parse_sess.span_diagnostic.span_warn(sp, msg);
|
self.sess.parse_sess.span_diagnostic.span_warn(sp, msg);
|
||||||
}
|
}
|
||||||
pub fn span_bug<S: Into<MultiSpan>>(&self, sp: S, msg: impl Into<DiagnosticMessage>) -> ! {
|
pub fn span_bug<S: Into<MultiSpan>>(&self, sp: S, msg: impl Into<String>) -> ! {
|
||||||
self.sess.parse_sess.span_diagnostic.span_bug(sp, msg);
|
self.sess.parse_sess.span_diagnostic.span_bug(sp, msg);
|
||||||
}
|
}
|
||||||
pub fn trace_macros_diag(&mut self) {
|
pub fn trace_macros_diag(&mut self) {
|
||||||
|
@ -15,7 +15,6 @@ use hir::def::DefKind;
|
|||||||
use polonius_engine::Atom;
|
use polonius_engine::Atom;
|
||||||
use rustc_data_structures::captures::Captures;
|
use rustc_data_structures::captures::Captures;
|
||||||
use rustc_data_structures::intern::Interned;
|
use rustc_data_structures::intern::Interned;
|
||||||
use rustc_error_messages::DiagnosticMessage;
|
|
||||||
use rustc_errors::{DiagnosticArgValue, ErrorGuaranteed, IntoDiagnosticArg, MultiSpan};
|
use rustc_errors::{DiagnosticArgValue, ErrorGuaranteed, IntoDiagnosticArg, MultiSpan};
|
||||||
use rustc_hir as hir;
|
use rustc_hir as hir;
|
||||||
use rustc_hir::def_id::DefId;
|
use rustc_hir::def_id::DefId;
|
||||||
@ -1991,7 +1990,7 @@ impl<'tcx> Ty<'tcx> {
|
|||||||
pub fn new_error_with_message<S: Into<MultiSpan>>(
|
pub fn new_error_with_message<S: Into<MultiSpan>>(
|
||||||
tcx: TyCtxt<'tcx>,
|
tcx: TyCtxt<'tcx>,
|
||||||
span: S,
|
span: S,
|
||||||
msg: impl Into<DiagnosticMessage>,
|
msg: impl Into<String>,
|
||||||
) -> Ty<'tcx> {
|
) -> Ty<'tcx> {
|
||||||
let reported = tcx.sess.delay_span_bug(span, msg);
|
let reported = tcx.sess.delay_span_bug(span, msg);
|
||||||
Ty::new(tcx, Error(reported))
|
Ty::new(tcx, Error(reported))
|
||||||
|
@ -247,7 +247,7 @@ impl<'a> Parser<'a> {
|
|||||||
self.sess.span_diagnostic.struct_span_err(sp, m)
|
self.sess.span_diagnostic.struct_span_err(sp, m)
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn span_bug<S: Into<MultiSpan>>(&self, sp: S, m: impl Into<DiagnosticMessage>) -> ! {
|
pub fn span_bug<S: Into<MultiSpan>>(&self, sp: S, m: impl Into<String>) -> ! {
|
||||||
self.sess.span_diagnostic.span_bug(sp, m)
|
self.sess.span_diagnostic.span_bug(sp, m)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -8,7 +8,6 @@ use crate::errors::{
|
|||||||
TrailingVertNotAllowed, UnexpectedLifetimeInPattern, UnexpectedVertVertBeforeFunctionParam,
|
TrailingVertNotAllowed, UnexpectedLifetimeInPattern, UnexpectedVertVertBeforeFunctionParam,
|
||||||
UnexpectedVertVertInPattern,
|
UnexpectedVertVertInPattern,
|
||||||
};
|
};
|
||||||
use crate::fluent_generated as fluent;
|
|
||||||
use crate::{maybe_recover_from_interpolated_ty_qpath, maybe_whole};
|
use crate::{maybe_recover_from_interpolated_ty_qpath, maybe_whole};
|
||||||
use rustc_ast::mut_visit::{noop_visit_pat, MutVisitor};
|
use rustc_ast::mut_visit::{noop_visit_pat, MutVisitor};
|
||||||
use rustc_ast::ptr::P;
|
use rustc_ast::ptr::P;
|
||||||
@ -214,41 +213,25 @@ impl<'a> Parser<'a> {
|
|||||||
|
|
||||||
if let PatKind::Or(pats) = &pat.kind {
|
if let PatKind::Or(pats) = &pat.kind {
|
||||||
let span = pat.span;
|
let span = pat.span;
|
||||||
|
let pat = pprust::pat_to_string(&pat);
|
||||||
if trailing_vert {
|
let sub = if pats.len() == 1 {
|
||||||
// We already emitted an error and suggestion to remove the trailing vert. Don't
|
Some(TopLevelOrPatternNotAllowedSugg::RemoveLeadingVert { span, pat })
|
||||||
// emit again.
|
|
||||||
|
|
||||||
// FIXME(#100717): pass `TopLevelOrPatternNotAllowed::* { sub: None }` to
|
|
||||||
// `delay_span_bug()` instead of fluent message
|
|
||||||
self.sess.span_diagnostic.delay_span_bug(
|
|
||||||
span,
|
|
||||||
match syntax_loc {
|
|
||||||
PatternLocation::LetBinding => {
|
|
||||||
fluent::parse_or_pattern_not_allowed_in_let_binding
|
|
||||||
}
|
|
||||||
PatternLocation::FunctionParameter => {
|
|
||||||
fluent::parse_or_pattern_not_allowed_in_fn_parameters
|
|
||||||
}
|
|
||||||
},
|
|
||||||
);
|
|
||||||
} else {
|
} else {
|
||||||
let pat = pprust::pat_to_string(&pat);
|
Some(TopLevelOrPatternNotAllowedSugg::WrapInParens { span, pat })
|
||||||
let sub = if pats.len() == 1 {
|
};
|
||||||
Some(TopLevelOrPatternNotAllowedSugg::RemoveLeadingVert { span, pat })
|
|
||||||
} else {
|
|
||||||
Some(TopLevelOrPatternNotAllowedSugg::WrapInParens { span, pat })
|
|
||||||
};
|
|
||||||
|
|
||||||
self.sess.emit_err(match syntax_loc {
|
let mut err = self.sess.create_err(match syntax_loc {
|
||||||
PatternLocation::LetBinding => {
|
PatternLocation::LetBinding => {
|
||||||
TopLevelOrPatternNotAllowed::LetBinding { span, sub }
|
TopLevelOrPatternNotAllowed::LetBinding { span, sub }
|
||||||
}
|
}
|
||||||
PatternLocation::FunctionParameter => {
|
PatternLocation::FunctionParameter => {
|
||||||
TopLevelOrPatternNotAllowed::FunctionParameter { span, sub }
|
TopLevelOrPatternNotAllowed::FunctionParameter { span, sub }
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
if trailing_vert {
|
||||||
|
err.delay_as_bug();
|
||||||
}
|
}
|
||||||
|
err.emit();
|
||||||
}
|
}
|
||||||
|
|
||||||
Ok((pat, colon))
|
Ok((pat, colon))
|
||||||
|
@ -677,7 +677,7 @@ impl Session {
|
|||||||
pub fn delay_span_bug<S: Into<MultiSpan>>(
|
pub fn delay_span_bug<S: Into<MultiSpan>>(
|
||||||
&self,
|
&self,
|
||||||
sp: S,
|
sp: S,
|
||||||
msg: impl Into<DiagnosticMessage>,
|
msg: impl Into<String>,
|
||||||
) -> ErrorGuaranteed {
|
) -> ErrorGuaranteed {
|
||||||
self.diagnostic().delay_span_bug(sp, msg)
|
self.diagnostic().delay_span_bug(sp, msg)
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user