]> git.lizzy.rs Git - rust.git/blobdiff - compiler/rustc_ast_lowering/src/errors.rs
Refactor rustc lint API
[rust.git] / compiler / rustc_ast_lowering / src / errors.rs
index 1ad5fa21d8530515976b9a4c60131fd19c28d125..63ff64b00bed617fc009d611398c0ff30e67cac4 100644 (file)
@@ -29,14 +29,28 @@ fn add_to_diagnostic(self, diag: &mut Diagnostic) {
 }
 
 #[derive(Diagnostic)]
-#[help]
 #[diag(ast_lowering::invalid_abi, code = "E0703")]
+#[note]
 pub struct InvalidAbi {
     #[primary_span]
     #[label]
     pub span: Span,
     pub abi: Symbol,
-    pub valid_abis: String,
+    pub command: String,
+    #[subdiagnostic]
+    pub suggestion: Option<InvalidAbiSuggestion>,
+}
+
+#[derive(Subdiagnostic)]
+#[suggestion(
+    ast_lowering::invalid_abi_suggestion,
+    code = "{suggestion}",
+    applicability = "maybe-incorrect"
+)]
+pub struct InvalidAbiSuggestion {
+    #[primary_span]
+    pub span: Span,
+    pub suggestion: String,
 }
 
 #[derive(Diagnostic, Clone, Copy)]