about summary refs log tree commit diff
path: root/compiler/rustc_lint
diff options
context:
space:
mode:
authorRejyr <jerrylwang123@gmail.com>2022-10-04 17:54:47 -0400
committerRejyr <jerrylwang123@gmail.com>2023-01-09 17:07:25 -0500
commita0614ec2c3184a025692fc06aacb0df50fba2a19 (patch)
tree138ba84e6583a5d0ade7eeee3a883bfaf473c7a9 /compiler/rustc_lint
parentdc00aa31142199ac6901fd08e4e4fd2be9b22be3 (diff)
downloadrust-a0614ec2c3184a025692fc06aacb0df50fba2a19.tar.gz
rust-a0614ec2c3184a025692fc06aacb0df50fba2a19.zip
fix: merge conflict
Diffstat (limited to 'compiler/rustc_lint')
-rw-r--r--compiler/rustc_lint/src/lints.rs76
-rw-r--r--compiler/rustc_lint/src/noop_method_call.rs1
-rw-r--r--compiler/rustc_lint/src/types.rs7
3 files changed, 55 insertions, 29 deletions
diff --git a/compiler/rustc_lint/src/lints.rs b/compiler/rustc_lint/src/lints.rs
index 431ded9cd5f..391c4cb671d 100644
--- a/compiler/rustc_lint/src/lints.rs
+++ b/compiler/rustc_lint/src/lints.rs
@@ -1,4 +1,4 @@
-use rustc_errors::{fluent, AddToDiagnostic, Applicability, DecorateLint, EmissionGuarantee};
+use rustc_errors::{fluent, AddToDiagnostic, Applicability, DecorateLint};
 use rustc_hir::def_id::DefId;
 use rustc_macros::{LintDiagnostic, Subdiagnostic};
 use rustc_middle::ty::{Predicate, Ty, TyCtxt};
@@ -88,9 +88,11 @@ pub struct NonFmtPanicUnused {
     pub suggestion: Option<Span>,
 }
 
-impl<G: EmissionGuarantee> DecorateLint<'_, G> for NonFmtPanicUnused {
-    fn decorate_lint(self, diag: rustc_errors::LintDiagnosticBuilder<'_, G>) {
-        let mut diag = diag.build(fluent::lint_non_fmt_panic_unused);
+impl<'a> DecorateLint<'a, ()> for NonFmtPanicUnused {
+    fn decorate_lint<'b>(
+        self,
+        diag: &'b mut rustc_errors::DiagnosticBuilder<'a, ()>,
+    ) -> &'b mut rustc_errors::DiagnosticBuilder<'a, ()> {
         diag.set_arg("count", self.count);
         diag.note(fluent::note);
         if let Some(span) = self.suggestion {
@@ -107,7 +109,11 @@ impl<G: EmissionGuarantee> DecorateLint<'_, G> for NonFmtPanicUnused {
                 Applicability::MachineApplicable,
             );
         }
-        diag.emit();
+        diag
+    }
+
+    fn msg(&self) -> rustc_errors::DiagnosticMessage {
+        fluent::lint_non_fmt_panic_unused
     }
 }
 
@@ -202,7 +208,7 @@ impl AddToDiagnostic for NonSnakeCaseDiagSub {
                     Applicability::MaybeIncorrect,
                 );
             }
-        };
+        }
     }
 }
 
@@ -262,12 +268,17 @@ pub struct DropTraitConstraintsDiag<'a> {
     pub def_id: DefId,
 }
 
-impl<'a, G: EmissionGuarantee> DecorateLint<'_, G> for DropTraitConstraintsDiag<'a> {
-    fn decorate_lint(self, diag: rustc_errors::LintDiagnosticBuilder<'_, G>) {
-        let mut diag = diag.build(fluent::lint_drop_trait_constraints);
+impl<'a> DecorateLint<'a, ()> for DropTraitConstraintsDiag<'_> {
+    fn decorate_lint<'b>(
+        self,
+        diag: &'b mut rustc_errors::DiagnosticBuilder<'a, ()>,
+    ) -> &'b mut rustc_errors::DiagnosticBuilder<'a, ()> {
         diag.set_arg("predicate", self.predicate);
-        diag.set_arg("needs_drop", self.tcx.def_path_str(self.def_id));
-        diag.emit();
+        diag.set_arg("needs_drop", self.tcx.def_path_str(self.def_id))
+    }
+
+    fn msg(&self) -> rustc_errors::DiagnosticMessage {
+        fluent::lint_drop_trait_constraints
     }
 }
 
@@ -276,11 +287,16 @@ pub struct DropGlue<'a> {
     pub def_id: DefId,
 }
 
-impl<'a, G: EmissionGuarantee> DecorateLint<'_, G> for DropGlue<'a> {
-    fn decorate_lint(self, diag: rustc_errors::LintDiagnosticBuilder<'_, G>) {
-        let mut diag = diag.build(fluent::lint_drop_glue);
-        diag.set_arg("needs_drop", self.tcx.def_path_str(self.def_id));
-        diag.emit();
+impl<'a> DecorateLint<'a, ()> for DropGlue<'_> {
+    fn decorate_lint<'b>(
+        self,
+        diag: &'b mut rustc_errors::DiagnosticBuilder<'a, ()>,
+    ) -> &'b mut rustc_errors::DiagnosticBuilder<'a, ()> {
+        diag.set_arg("needs_drop", self.tcx.def_path_str(self.def_id))
+    }
+
+    fn msg(&self) -> rustc_errors::DiagnosticMessage {
+        fluent::lint_drop_glue
     }
 }
 
@@ -359,9 +375,11 @@ pub struct OverflowingInt<'a> {
 }
 
 // FIXME: refactor with `Option<&'a str>` in macro
-impl<'a, G: EmissionGuarantee> DecorateLint<'_, G> for OverflowingInt<'a> {
-    fn decorate_lint(self, diag: rustc_errors::LintDiagnosticBuilder<'_, G>) {
-        let mut diag = diag.build(fluent::lint_overflowing_int);
+impl<'a> DecorateLint<'a, ()> for OverflowingInt<'_> {
+    fn decorate_lint<'b>(
+        self,
+        diag: &'b mut rustc_errors::DiagnosticBuilder<'a, ()>,
+    ) -> &'b mut rustc_errors::DiagnosticBuilder<'a, ()> {
         diag.set_arg("ty", self.ty);
         diag.set_arg("lit", self.lit);
         diag.set_arg("min", self.min);
@@ -371,7 +389,11 @@ impl<'a, G: EmissionGuarantee> DecorateLint<'_, G> for OverflowingInt<'a> {
             diag.set_arg("suggestion_ty", suggestion_ty);
             diag.help(fluent::help);
         }
-        diag.emit();
+        diag
+    }
+
+    fn msg(&self) -> rustc_errors::DiagnosticMessage {
+        fluent::lint_overflowing_int
     }
 }
 
@@ -484,9 +506,11 @@ pub struct UnusedDef<'a, 'b> {
 }
 
 // FIXME: refactor with `Option<String>` in macro
-impl<'a, 'b, G: EmissionGuarantee> DecorateLint<'_, G> for UnusedDef<'a, 'b> {
-    fn decorate_lint(self, diag: rustc_errors::LintDiagnosticBuilder<'_, G>) {
-        let mut diag = diag.build(fluent::lint_unused_def);
+impl<'a> DecorateLint<'a, ()> for UnusedDef<'_, '_> {
+    fn decorate_lint<'b>(
+        self,
+        diag: &'b mut rustc_errors::DiagnosticBuilder<'a, ()>,
+    ) -> &'b mut rustc_errors::DiagnosticBuilder<'a, ()> {
         diag.set_arg("pre", self.pre);
         diag.set_arg("post", self.post);
         diag.set_arg("def", self.cx.tcx.def_path_str(self.def_id));
@@ -494,7 +518,11 @@ impl<'a, 'b, G: EmissionGuarantee> DecorateLint<'_, G> for UnusedDef<'a, 'b> {
         if let Some(note) = self.note {
             diag.note(note.as_str());
         }
-        diag.emit();
+        diag
+    }
+
+    fn msg(&self) -> rustc_errors::DiagnosticMessage {
+        fluent::lint_unused_def
     }
 }
 
diff --git a/compiler/rustc_lint/src/noop_method_call.rs b/compiler/rustc_lint/src/noop_method_call.rs
index 3fba95f0750..ed796940b89 100644
--- a/compiler/rustc_lint/src/noop_method_call.rs
+++ b/compiler/rustc_lint/src/noop_method_call.rs
@@ -2,7 +2,6 @@
 #![deny(rustc::diagnostic_outside_of_impl)]
 use crate::context::LintContext;
 use crate::lints::NoopMethodCallDiag;
-use crate::rustc_middle::ty::TypeVisitable;
 use crate::LateContext;
 use crate::LateLintPass;
 use rustc_hir::def::DefKind;
diff --git a/compiler/rustc_lint/src/types.rs b/compiler/rustc_lint/src/types.rs
index 46e957d1593..3d797d84c04 100644
--- a/compiler/rustc_lint/src/types.rs
+++ b/compiler/rustc_lint/src/types.rs
@@ -1138,10 +1138,9 @@ impl<'a, 'tcx> ImproperCTypesVisitor<'a, 'tcx> {
                 CItemKind::Definition => "fn",
             };
             #[allow(rustc::diagnostic_outside_of_impl)]
-            let mut diag = lint.build(fluent::lint_improper_ctypes);
-            diag.set_arg("ty", ty);
-            diag.set_arg("desc", item_description);
-            diag.span_label(sp, fluent::label);
+            lint.set_arg("ty", ty);
+            lint.set_arg("desc", item_description);
+            lint.span_label(sp, fluent::label);
             if let Some(help) = help {
                 lint.help(help);
             }