about summary refs log tree commit diff
path: root/compiler/rustc_lint/src/enum_intrinsics_non_enums.rs
diff options
context:
space:
mode:
authorRejyr <jerrylwang123@gmail.com>2022-09-18 10:31:35 -0400
committerRejyr <jerrylwang123@gmail.com>2023-01-09 17:07:25 -0500
commit8b897bbce6902a646f5de5df6ec4d92b0af98788 (patch)
tree2a48d030c389bf58ef430253a61c4c9aff011de4 /compiler/rustc_lint/src/enum_intrinsics_non_enums.rs
parentc63ba52562a0c6c8d19b320c558d437bb8d87bd8 (diff)
downloadrust-8b897bbce6902a646f5de5df6ec4d92b0af98788.tar.gz
rust-8b897bbce6902a646f5de5df6ec4d92b0af98788.zip
migrate: `early.rs` and `enum_intrinsics_non_enums.rs`
Diffstat (limited to 'compiler/rustc_lint/src/enum_intrinsics_non_enums.rs')
-rw-r--r--compiler/rustc_lint/src/enum_intrinsics_non_enums.rs19
1 files changed, 11 insertions, 8 deletions
diff --git a/compiler/rustc_lint/src/enum_intrinsics_non_enums.rs b/compiler/rustc_lint/src/enum_intrinsics_non_enums.rs
index f9d7466228a..6c398cebee7 100644
--- a/compiler/rustc_lint/src/enum_intrinsics_non_enums.rs
+++ b/compiler/rustc_lint/src/enum_intrinsics_non_enums.rs
@@ -1,5 +1,10 @@
-use crate::{context::LintContext, LateContext, LateLintPass};
-use rustc_errors::fluent;
+#![deny(rustc::untranslatable_diagnostic)]
+#![deny(rustc::diagnostic_outside_of_impl)]
+use crate::{
+    context::LintContext,
+    lints::{EnumIntrinsicsMemDiscriminate, EnumIntrinsicsMemVariant},
+    LateContext, LateLintPass,
+};
 use rustc_hir as hir;
 use rustc_middle::ty::{visit::TypeVisitable, Ty};
 use rustc_span::{symbol::sym, Span};
@@ -50,11 +55,10 @@ fn enforce_mem_discriminant(
 ) {
     let ty_param = cx.typeck_results().node_substs(func_expr.hir_id).type_at(0);
     if is_non_enum(ty_param) {
-        cx.struct_span_lint(
+        cx.emit_spanned_lint(
             ENUM_INTRINSICS_NON_ENUMS,
             expr_span,
-            fluent::lint_enum_intrinsics_mem_discriminant,
-            |lint| lint.set_arg("ty_param", ty_param).span_note(args_span, fluent::note),
+            EnumIntrinsicsMemDiscriminate { ty_param, note: args_span },
         );
     }
 }
@@ -62,11 +66,10 @@ fn enforce_mem_discriminant(
 fn enforce_mem_variant_count(cx: &LateContext<'_>, func_expr: &hir::Expr<'_>, span: Span) {
     let ty_param = cx.typeck_results().node_substs(func_expr.hir_id).type_at(0);
     if is_non_enum(ty_param) {
-        cx.struct_span_lint(
+        cx.emit_spanned_lint(
             ENUM_INTRINSICS_NON_ENUMS,
             span,
-            fluent::lint_enum_intrinsics_mem_variant,
-            |lint| lint.set_arg("ty_param", ty_param).note(fluent::note),
+            EnumIntrinsicsMemVariant { ty_param },
         );
     }
 }