|
1 | | -use crate::{context::LintContext, LateContext, LateLintPass}; |
2 | | -use rustc_errors::fluent; |
| 1 | +#![deny(rustc::untranslatable_diagnostic)] |
| 2 | +#![deny(rustc::diagnostic_outside_of_impl)] |
| 3 | +use crate::{ |
| 4 | + context::LintContext, |
| 5 | + lints::{EnumIntrinsicsMemDiscriminate, EnumIntrinsicsMemVariant}, |
| 6 | + LateContext, LateLintPass, |
| 7 | +}; |
3 | 8 | use rustc_hir as hir; |
4 | 9 | use rustc_middle::ty::{visit::TypeVisitable, Ty}; |
5 | 10 | use rustc_span::{symbol::sym, Span}; |
@@ -50,23 +55,21 @@ fn enforce_mem_discriminant( |
50 | 55 | ) { |
51 | 56 | let ty_param = cx.typeck_results().node_substs(func_expr.hir_id).type_at(0); |
52 | 57 | if is_non_enum(ty_param) { |
53 | | - cx.struct_span_lint( |
| 58 | + cx.emit_spanned_lint( |
54 | 59 | ENUM_INTRINSICS_NON_ENUMS, |
55 | 60 | expr_span, |
56 | | - fluent::lint_enum_intrinsics_mem_discriminant, |
57 | | - |lint| lint.set_arg("ty_param", ty_param).span_note(args_span, fluent::note), |
| 61 | + EnumIntrinsicsMemDiscriminate { ty_param, note: args_span }, |
58 | 62 | ); |
59 | 63 | } |
60 | 64 | } |
61 | 65 |
|
62 | 66 | fn enforce_mem_variant_count(cx: &LateContext<'_>, func_expr: &hir::Expr<'_>, span: Span) { |
63 | 67 | let ty_param = cx.typeck_results().node_substs(func_expr.hir_id).type_at(0); |
64 | 68 | if is_non_enum(ty_param) { |
65 | | - cx.struct_span_lint( |
| 69 | + cx.emit_spanned_lint( |
66 | 70 | ENUM_INTRINSICS_NON_ENUMS, |
67 | 71 | span, |
68 | | - fluent::lint_enum_intrinsics_mem_variant, |
69 | | - |lint| lint.set_arg("ty_param", ty_param).note(fluent::note), |
| 72 | + EnumIntrinsicsMemVariant { ty_param }, |
70 | 73 | ); |
71 | 74 | } |
72 | 75 | } |
|
0 commit comments