Use translatable diagnostics in rustc_const_eval
This commit is contained in:
parent
642c92e630
commit
4f83717cf7
93 changed files with 2375 additions and 1123 deletions
|
@ -10,7 +10,7 @@ use rustc_lint_defs::{Applicability, LintExpectationId};
|
|||
use rustc_span::symbol::Symbol;
|
||||
use rustc_span::{Span, DUMMY_SP};
|
||||
use std::borrow::Cow;
|
||||
use std::fmt;
|
||||
use std::fmt::{self, Debug};
|
||||
use std::hash::{Hash, Hasher};
|
||||
use std::panic::Location;
|
||||
|
||||
|
@ -33,7 +33,7 @@ pub type DiagnosticArgName<'source> = Cow<'source, str>;
|
|||
#[derive(Clone, Debug, PartialEq, Eq, Hash, Encodable, Decodable)]
|
||||
pub enum DiagnosticArgValue<'source> {
|
||||
Str(Cow<'source, str>),
|
||||
Number(usize),
|
||||
Number(i128),
|
||||
StrListSepByAnd(Vec<Cow<'source, str>>),
|
||||
}
|
||||
|
||||
|
|
|
@ -60,10 +60,8 @@ into_diagnostic_arg_using_display!(
|
|||
u8,
|
||||
i16,
|
||||
u16,
|
||||
i32,
|
||||
u32,
|
||||
i64,
|
||||
u64,
|
||||
i128,
|
||||
u128,
|
||||
std::io::Error,
|
||||
|
@ -80,6 +78,18 @@ into_diagnostic_arg_using_display!(
|
|||
ExitStatus,
|
||||
);
|
||||
|
||||
impl IntoDiagnosticArg for i32 {
|
||||
fn into_diagnostic_arg(self) -> DiagnosticArgValue<'static> {
|
||||
DiagnosticArgValue::Number(self.into())
|
||||
}
|
||||
}
|
||||
|
||||
impl IntoDiagnosticArg for u64 {
|
||||
fn into_diagnostic_arg(self) -> DiagnosticArgValue<'static> {
|
||||
DiagnosticArgValue::Number(self.into())
|
||||
}
|
||||
}
|
||||
|
||||
impl IntoDiagnosticArg for bool {
|
||||
fn into_diagnostic_arg(self) -> DiagnosticArgValue<'static> {
|
||||
if self {
|
||||
|
@ -134,7 +144,7 @@ impl IntoDiagnosticArg for PathBuf {
|
|||
|
||||
impl IntoDiagnosticArg for usize {
|
||||
fn into_diagnostic_arg(self) -> DiagnosticArgValue<'static> {
|
||||
DiagnosticArgValue::Number(self)
|
||||
DiagnosticArgValue::Number(self as i128)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -147,9 +157,9 @@ impl IntoDiagnosticArg for PanicStrategy {
|
|||
impl IntoDiagnosticArg for hir::ConstContext {
|
||||
fn into_diagnostic_arg(self) -> DiagnosticArgValue<'static> {
|
||||
DiagnosticArgValue::Str(Cow::Borrowed(match self {
|
||||
hir::ConstContext::ConstFn => "constant function",
|
||||
hir::ConstContext::ConstFn => "const_fn",
|
||||
hir::ConstContext::Static(_) => "static",
|
||||
hir::ConstContext::Const => "constant",
|
||||
hir::ConstContext::Const => "const",
|
||||
}))
|
||||
}
|
||||
}
|
||||
|
@ -254,7 +264,8 @@ impl IntoDiagnostic<'_, !> for TargetDataLayoutErrors<'_> {
|
|||
TargetDataLayoutErrors::InvalidAlignment { cause, err } => {
|
||||
diag = handler.struct_fatal(fluent::errors_target_invalid_alignment);
|
||||
diag.set_arg("cause", cause);
|
||||
diag.set_arg("err", err);
|
||||
diag.set_arg("err_kind", err.diag_ident());
|
||||
diag.set_arg("align", err.align());
|
||||
diag
|
||||
}
|
||||
TargetDataLayoutErrors::InconsistentTargetArchitecture { dl, target } => {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue