diff options
| author | rzvxa <rzvxa@protonmail.com> | 2024-08-09 12:18:56 +0330 |
|---|---|---|
| committer | rzvxa <rzvxa@protonmail.com> | 2024-08-09 12:18:56 +0330 |
| commit | d85cf0bacd8ea565557317940d878a535189a6d9 (patch) | |
| tree | 01c9e3d783aba2b95079d05a2aa9096beca9e991 | |
| parent | 5364cbea80f0e9b251151f40aa67592b0827759e (diff) | |
| download | rust-d85cf0bacd8ea565557317940d878a535189a6d9.tar.gz rust-d85cf0bacd8ea565557317940d878a535189a6d9.zip | |
use `fulfill_or_allowed` over `is_lint_allowed`.
| -rw-r--r-- | clippy_lints/src/inconsistent_struct_constructor.rs | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/clippy_lints/src/inconsistent_struct_constructor.rs b/clippy_lints/src/inconsistent_struct_constructor.rs index da289225509..d386bfca6ba 100644 --- a/clippy_lints/src/inconsistent_struct_constructor.rs +++ b/clippy_lints/src/inconsistent_struct_constructor.rs @@ -1,5 +1,5 @@ use clippy_utils::diagnostics::span_lint_and_sugg; -use clippy_utils::is_lint_allowed; +use clippy_utils::fulfill_or_allowed; use clippy_utils::source::snippet; use rustc_data_structures::fx::FxHashMap; use rustc_errors::Applicability; @@ -74,7 +74,6 @@ impl<'tcx> LateLintPass<'tcx> for InconsistentStructConstructor { && adt_def.is_struct() && let Some(local_def_id) = adt_def.did().as_local() && let ty_hir_id = cx.tcx.local_def_id_to_hir_id(local_def_id) - && !is_lint_allowed(cx, INCONSISTENT_STRUCT_CONSTRUCTOR, ty_hir_id) && let Some(variant) = adt_def.variants().iter().next() { let mut def_order_map = FxHashMap::default(); @@ -107,15 +106,17 @@ impl<'tcx> LateLintPass<'tcx> for InconsistentStructConstructor { snippet(cx, qpath.span(), ".."), ); - span_lint_and_sugg( - cx, - INCONSISTENT_STRUCT_CONSTRUCTOR, - expr.span, - "struct constructor field order is inconsistent with struct definition field order", - "try", - sugg, - Applicability::MachineApplicable, - ); + if !fulfill_or_allowed(cx, INCONSISTENT_STRUCT_CONSTRUCTOR, Some(ty_hir_id)) { + span_lint_and_sugg( + cx, + INCONSISTENT_STRUCT_CONSTRUCTOR, + expr.span, + "struct constructor field order is inconsistent with struct definition field order", + "try", + sugg, + Applicability::MachineApplicable, + ); + } } } } |
