about summary refs log tree commit diff
diff options
context:
space:
mode:
authorRejyr <jerrylwang123@gmail.com>2022-09-05 12:32:01 -0400
committerRejyr <jerrylwang123@gmail.com>2023-01-09 17:07:25 -0500
commitc3a6801f8e5ce0aee0a62eb022780740ee61535d (patch)
tree8ac301838b2a1bd3042703d4cc5b4f4d6cc85953
parenta42afa0444118ae5549f89e8ea9a15b73702fbcf (diff)
downloadrust-c3a6801f8e5ce0aee0a62eb022780740ee61535d.tar.gz
rust-c3a6801f8e5ce0aee0a62eb022780740ee61535d.zip
migrate: `redundant_semicolon.rs`
-rw-r--r--compiler/rustc_lint/src/lints.rs8
-rw-r--r--compiler/rustc_lint/src/redundant_semicolon.rs17
2 files changed, 13 insertions, 12 deletions
diff --git a/compiler/rustc_lint/src/lints.rs b/compiler/rustc_lint/src/lints.rs
index 691cc8667e3..077ee3fb671 100644
--- a/compiler/rustc_lint/src/lints.rs
+++ b/compiler/rustc_lint/src/lints.rs
@@ -6,6 +6,14 @@ use rustc_span::{Span, Symbol};
 
 use crate::LateContext;
 
+#[derive(LintDiagnostic)]
+#[diag(lint_redundant_semicolons)]
+pub struct RedundantSemicolonsDiag {
+    pub multiple: bool,
+    #[suggestion(code = "", applicability = "maybe-incorrect")]
+    pub suggestion: Span,
+}
+
 pub struct DropTraitConstraintsDiag<'a> {
     pub predicate: Predicate<'a>,
     pub tcx: TyCtxt<'a>,
diff --git a/compiler/rustc_lint/src/redundant_semicolon.rs b/compiler/rustc_lint/src/redundant_semicolon.rs
index 3521de7fc08..6c6add34a52 100644
--- a/compiler/rustc_lint/src/redundant_semicolon.rs
+++ b/compiler/rustc_lint/src/redundant_semicolon.rs
@@ -1,6 +1,7 @@
-use crate::{EarlyContext, EarlyLintPass, LintContext};
+#![deny(rustc::untranslatable_diagnostic)]
+#![deny(rustc::diagnostic_outside_of_impl)]
+use crate::{lints::RedundantSemicolonsDiag, EarlyContext, EarlyLintPass, LintContext};
 use rustc_ast::{Block, StmtKind};
-use rustc_errors::{fluent, Applicability};
 use rustc_span::Span;
 
 declare_lint! {
@@ -48,18 +49,10 @@ fn maybe_lint_redundant_semis(cx: &EarlyContext<'_>, seq: &mut Option<(Span, boo
             return;
         }
 
-        cx.struct_span_lint(
+        cx.emit_spanned_lint(
             REDUNDANT_SEMICOLONS,
             span,
-            fluent::lint_redundant_semicolons,
-            |lint| {
-                lint.set_arg("multiple", multiple).span_suggestion(
-                    span,
-                    fluent::suggestion,
-                    "",
-                    Applicability::MaybeIncorrect,
-                )
-            },
+            RedundantSemicolonsDiag { multiple, suggestion: span },
         );
     }
 }