From a953574ddb85dcf25317a78fca7adfbb1f2c3d6c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Kr=C3=BCger?= Date: Sun, 1 Aug 2021 21:26:29 +0200 Subject: [PATCH] clippy::perf fixes --- compiler/rustc_mir/src/transform/coverage/debug.rs | 4 ++-- compiler/rustc_typeck/src/check/method/prelude2021.rs | 2 +- .../rustc_typeck/src/coherence/inherent_impls_overlap.rs | 8 ++++---- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/compiler/rustc_mir/src/transform/coverage/debug.rs b/compiler/rustc_mir/src/transform/coverage/debug.rs index 6fd7d29d77797..464079656f9fb 100644 --- a/compiler/rustc_mir/src/transform/coverage/debug.rs +++ b/compiler/rustc_mir/src/transform/coverage/debug.rs @@ -369,10 +369,10 @@ impl DebugCounters { } return format!("({})", self.format_counter_kind(counter_kind)); } - return self.format_counter_kind(counter_kind).to_string(); + return self.format_counter_kind(counter_kind); } } - format!("#{}", operand.index().to_string()) + format!("#{}", operand.index()) } } diff --git a/compiler/rustc_typeck/src/check/method/prelude2021.rs b/compiler/rustc_typeck/src/check/method/prelude2021.rs index 9e3292d7821a9..b5bc9d3599acb 100644 --- a/compiler/rustc_typeck/src/check/method/prelude2021.rs +++ b/compiler/rustc_typeck/src/check/method/prelude2021.rs @@ -265,7 +265,7 @@ impl<'a, 'tcx> FnCtxt<'a, 'tcx> { // Get the number of generics the self type has (if an Adt) unless we can determine that // the user has written the self type with generics already which we (naively) do by looking // for a "<" in `self_ty_name`. - Adt(def, _) if !self_ty_name.contains("<") => self.tcx.generics_of(def.did).count(), + Adt(def, _) if !self_ty_name.contains('<') => self.tcx.generics_of(def.did).count(), _ => 0, }; let self_ty_generics = if self_ty_generics_count > 0 { diff --git a/compiler/rustc_typeck/src/coherence/inherent_impls_overlap.rs b/compiler/rustc_typeck/src/coherence/inherent_impls_overlap.rs index f039790eca118..1c36335be8167 100644 --- a/compiler/rustc_typeck/src/coherence/inherent_impls_overlap.rs +++ b/compiler/rustc_typeck/src/coherence/inherent_impls_overlap.rs @@ -222,8 +222,8 @@ impl ItemLikeVisitor<'v> for InherentOverlapChecker<'tcx> { let id_to_set = *ids.iter().min().unwrap(); // Sort the id list so that the algorithm is deterministic - let mut ids = ids.into_iter().collect::>(); - ids.sort(); + let mut ids = ids.into_iter().collect::>(); + ids.sort_unstable(); let mut region = connected_regions.remove(&id_to_set).unwrap(); region.idents.extend_from_slice(&idents_to_add); @@ -266,8 +266,8 @@ impl ItemLikeVisitor<'v> for InherentOverlapChecker<'tcx> { // for each pair of impl blocks in the same connected region. for (_id, region) in connected_regions.into_iter() { let mut impl_blocks = - region.impl_blocks.into_iter().collect::>(); - impl_blocks.sort(); + region.impl_blocks.into_iter().collect::>(); + impl_blocks.sort_unstable(); for (i, &impl1_items_idx) in impl_blocks.iter().enumerate() { let &(&impl1_def_id, impl_items1) = &impls_items[impl1_items_idx]; for &impl2_items_idx in impl_blocks[(i + 1)..].iter() {