about summary refs log tree commit diff
path: root/compiler/rustc_builtin_macros/src/errors.rs
diff options
context:
space:
mode:
authorfrancorbacho <francorbacho@proton.me>2023-10-04 15:47:53 +0200
committerfrancorbacho <francorbacho@proton.me>2023-10-05 16:09:57 +0200
commit04fc051a345c861efe8b2053d62cc1313824731a (patch)
treec5a1a19975600e2bd07cbfbe0b16a9fe6db759b5 /compiler/rustc_builtin_macros/src/errors.rs
parent4cc2d0bd6569bc684892905af22c7492ecd1f91a (diff)
downloadrust-04fc051a345c861efe8b2053d62cc1313824731a.tar.gz
rust-04fc051a345c861efe8b2053d62cc1313824731a.zip
Use diagnostic impls and add suggestions in redundant format!() args
Diffstat (limited to 'compiler/rustc_builtin_macros/src/errors.rs')
-rw-r--r--compiler/rustc_builtin_macros/src/errors.rs21
1 files changed, 21 insertions, 0 deletions
diff --git a/compiler/rustc_builtin_macros/src/errors.rs b/compiler/rustc_builtin_macros/src/errors.rs
index 1238773d58b..c2097f0bc47 100644
--- a/compiler/rustc_builtin_macros/src/errors.rs
+++ b/compiler/rustc_builtin_macros/src/errors.rs
@@ -647,6 +647,27 @@ pub(crate) struct FormatPositionalMismatch {
 }
 
 #[derive(Diagnostic)]
+#[diag(builtin_macros_format_redundant_args)]
+pub(crate) struct FormatRedundantArgs {
+    #[primary_span]
+    pub(crate) fmt_span: Span,
+    pub(crate) n: usize,
+
+    #[note]
+    pub(crate) note: MultiSpan,
+
+    #[subdiagnostic]
+    pub(crate) sugg: FormatRedundantArgsSugg,
+}
+
+#[derive(Subdiagnostic)]
+#[multipart_suggestion(builtin_macros_suggestion, applicability = "machine-applicable")]
+pub(crate) struct FormatRedundantArgsSugg {
+    #[suggestion_part(code = "")]
+    pub(crate) spans: Vec<Span>,
+}
+
+#[derive(Diagnostic)]
 #[diag(builtin_macros_test_case_non_item)]
 pub(crate) struct TestCaseNonItem {
     #[primary_span]