diff options
| author | Rejyr <jerrylwang123@gmail.com> | 2022-09-18 10:31:35 -0400 |
|---|---|---|
| committer | Rejyr <jerrylwang123@gmail.com> | 2023-01-09 17:07:25 -0500 |
| commit | 8b897bbce6902a646f5de5df6ec4d92b0af98788 (patch) | |
| tree | 2a48d030c389bf58ef430253a61c4c9aff011de4 /compiler/rustc_lint/src/enum_intrinsics_non_enums.rs | |
| parent | c63ba52562a0c6c8d19b320c558d437bb8d87bd8 (diff) | |
| download | rust-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.rs | 19 |
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 }, ); } } |
