summaryrefslogtreecommitdiffstats
path: root/compiler/rustc_builtin_macros/src/errors.rs
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-30 03:59:35 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-30 03:59:35 +0000
commitd1b2d29528b7794b41e66fc2136e395a02f8529b (patch)
treea4a17504b260206dec3cf55b2dca82929a348ac2 /compiler/rustc_builtin_macros/src/errors.rs
parentReleasing progress-linux version 1.72.1+dfsg1-1~progress7.99u1. (diff)
downloadrustc-d1b2d29528b7794b41e66fc2136e395a02f8529b.tar.xz
rustc-d1b2d29528b7794b41e66fc2136e395a02f8529b.zip
Merging upstream version 1.73.0+dfsg1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'compiler/rustc_builtin_macros/src/errors.rs')
-rw-r--r--compiler/rustc_builtin_macros/src/errors.rs52
1 files changed, 26 insertions, 26 deletions
diff --git a/compiler/rustc_builtin_macros/src/errors.rs b/compiler/rustc_builtin_macros/src/errors.rs
index 7b2a375a8..fbf0395bb 100644
--- a/compiler/rustc_builtin_macros/src/errors.rs
+++ b/compiler/rustc_builtin_macros/src/errors.rs
@@ -440,43 +440,43 @@ pub(crate) struct EnvTakesArgs {
pub(crate) span: Span,
}
-//#[derive(Diagnostic)]
-//#[diag(builtin_macros_env_not_defined)]
-pub(crate) struct EnvNotDefined {
+pub(crate) struct EnvNotDefinedWithUserMessage {
pub(crate) span: Span,
- pub(crate) msg: Option<Symbol>,
- pub(crate) var: Symbol,
- pub(crate) help: Option<EnvNotDefinedHelp>,
+ pub(crate) msg_from_user: Symbol,
}
-// Hand-written implementation to support custom user messages
-impl<'a, G: EmissionGuarantee> IntoDiagnostic<'a, G> for EnvNotDefined {
+// Hand-written implementation to support custom user messages.
+impl<'a, G: EmissionGuarantee> IntoDiagnostic<'a, G> for EnvNotDefinedWithUserMessage {
#[track_caller]
fn into_diagnostic(self, handler: &'a Handler) -> DiagnosticBuilder<'a, G> {
- let mut diag = if let Some(msg) = self.msg {
- #[expect(
- rustc::untranslatable_diagnostic,
- reason = "cannot translate user-provided messages"
- )]
- handler.struct_diagnostic(msg.to_string())
- } else {
- handler.struct_diagnostic(crate::fluent_generated::builtin_macros_env_not_defined)
- };
- diag.set_arg("var", self.var);
+ #[expect(
+ rustc::untranslatable_diagnostic,
+ reason = "cannot translate user-provided messages"
+ )]
+ let mut diag = handler.struct_diagnostic(self.msg_from_user.to_string());
diag.set_span(self.span);
- if let Some(help) = self.help {
- diag.subdiagnostic(help);
- }
diag
}
}
-#[derive(Subdiagnostic)]
-pub(crate) enum EnvNotDefinedHelp {
+#[derive(Diagnostic)]
+pub(crate) enum EnvNotDefined<'a> {
+ #[diag(builtin_macros_env_not_defined)]
#[help(builtin_macros_cargo)]
- CargoVar,
- #[help(builtin_macros_other)]
- Other,
+ CargoEnvVar {
+ #[primary_span]
+ span: Span,
+ var: Symbol,
+ var_expr: &'a rustc_ast::Expr,
+ },
+ #[diag(builtin_macros_env_not_defined)]
+ #[help(builtin_macros_custom)]
+ CustomEnvVar {
+ #[primary_span]
+ span: Span,
+ var: Symbol,
+ var_expr: &'a rustc_ast::Expr,
+ },
}
#[derive(Diagnostic)]