summaryrefslogtreecommitdiffstats
path: root/compiler/rustc_lint/src/enum_intrinsics_non_enums.rs
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/rustc_lint/src/enum_intrinsics_non_enums.rs')
-rw-r--r--compiler/rustc_lint/src/enum_intrinsics_non_enums.rs17
1 files changed, 9 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 f9d746622..73bd41732 100644
--- a/compiler/rustc_lint/src/enum_intrinsics_non_enums.rs
+++ b/compiler/rustc_lint/src/enum_intrinsics_non_enums.rs
@@ -1,5 +1,8 @@
-use crate::{context::LintContext, LateContext, LateLintPass};
-use rustc_errors::fluent;
+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 +53,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 +64,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 },
);
}
}