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 | 0d4bb0b2952acdfa53844de1e5a515ee62123b9d (patch) | |
| tree | c2e1e3c548257e15b3cc51f9cb2df4b1f745cbe8 | |
| parent | a832f5f7bc33002f2b983b0e05bd3cb98f899ed2 (diff) | |
| download | rust-0d4bb0b2952acdfa53844de1e5a515ee62123b9d.tar.gz rust-0d4bb0b2952acdfa53844de1e5a515ee62123b9d.zip  | |
Change index_refutable_slice to use FxIndexMap
This will prevent unstable order when HirIds are pertubated.
| -rw-r--r-- | src/tools/clippy/clippy_lints/src/index_refutable_slice.rs | 12 | 
1 files changed, 6 insertions, 6 deletions
diff --git a/src/tools/clippy/clippy_lints/src/index_refutable_slice.rs b/src/tools/clippy/clippy_lints/src/index_refutable_slice.rs index 4615122bbf9..8819fa1bef8 100644 --- a/src/tools/clippy/clippy_lints/src/index_refutable_slice.rs +++ b/src/tools/clippy/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, }  | 
