diff options
| author | Gary Guo <gary@garyguo.net> | 2022-01-08 01:56:13 +0000 |
|---|---|---|
| committer | Gary Guo <gary@garyguo.net> | 2022-01-29 13:52:19 +0000 |
| commit | bee482b44ca318babda21f285be6021650cfb3ac (patch) | |
| tree | c4ab7eac22fa865b081f0078a3297be8fce414c3 | |
| parent | 4119f60c1f422d84fb53bb7d3e73bfdfc2b09add (diff) | |
| download | rust-bee482b44ca318babda21f285be6021650cfb3ac.tar.gz rust-bee482b44ca318babda21f285be6021650cfb3ac.zip | |
Change index_refutable_slice to use FxIndexMap
This will prevent unstable order when HirIds are pertubated.
| -rw-r--r-- | clippy_lints/src/index_refutable_slice.rs | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/clippy_lints/src/index_refutable_slice.rs b/clippy_lints/src/index_refutable_slice.rs index 4615122bbf9..8819fa1bef8 100644 --- a/clippy_lints/src/index_refutable_slice.rs +++ b/clippy_lints/src/index_refutable_slice.rs @@ -4,7 +4,7 @@ use clippy_utils::higher::IfLet; use clippy_utils::ty::is_copy; use clippy_utils::{is_expn_of, is_lint_allowed, meets_msrv, msrvs, path_to_local}; use if_chain::if_chain; -use rustc_data_structures::fx::{FxHashMap, FxHashSet}; +use rustc_data_structures::fx::{FxHashSet, FxIndexMap}; use rustc_errors::Applicability; use rustc_hir as hir; use rustc_hir::intravisit::{self, Visitor}; @@ -92,9 +92,9 @@ impl<'tcx> LateLintPass<'tcx> for IndexRefutableSlice { extract_msrv_attr!(LateContext); } -fn find_slice_values(cx: &LateContext<'_>, pat: &hir::Pat<'_>) -> FxHashMap<hir::HirId, SliceLintInformation> { +fn find_slice_values(cx: &LateContext<'_>, pat: &hir::Pat<'_>) -> FxIndexMap<hir::HirId, SliceLintInformation> { let mut removed_pat: FxHashSet<hir::HirId> = FxHashSet::default(); - let mut slices: FxHashMap<hir::HirId, SliceLintInformation> = FxHashMap::default(); + let mut slices: FxIndexMap<hir::HirId, SliceLintInformation> = FxIndexMap::default(); pat.walk_always(|pat| { if let hir::PatKind::Binding(binding, value_hir_id, ident, sub_pat) = pat.kind { // We'll just ignore mut and ref mut for simplicity sake right now @@ -208,10 +208,10 @@ impl SliceLintInformation { fn filter_lintable_slices<'a, 'tcx>( cx: &'a LateContext<'tcx>, - slice_lint_info: FxHashMap<hir::HirId, SliceLintInformation>, + slice_lint_info: FxIndexMap<hir::HirId, SliceLintInformation>, max_suggested_slice: u64, scope: &'tcx hir::Expr<'tcx>, -) -> FxHashMap<hir::HirId, SliceLintInformation> { +) -> FxIndexMap<hir::HirId, SliceLintInformation> { let mut visitor = SliceIndexLintingVisitor { cx, slice_lint_info, @@ -225,7 +225,7 @@ fn filter_lintable_slices<'a, 'tcx>( struct SliceIndexLintingVisitor<'a, 'tcx> { cx: &'a LateContext<'tcx>, - slice_lint_info: FxHashMap<hir::HirId, SliceLintInformation>, + slice_lint_info: FxIndexMap<hir::HirId, SliceLintInformation>, max_suggested_slice: u64, } |
