diff options
| author | The8472 <git@infinite-source.de> | 2021-11-06 18:42:07 +0100 |
|---|---|---|
| committer | The8472 <git@infinite-source.de> | 2021-11-06 19:04:31 +0100 |
| commit | ff87ff962cc0a267e1261b936227d840eff021e9 (patch) | |
| tree | bee784968e5efaeedce22399ef9aec909a261fc4 | |
| parent | d22dd65835190278f315e06442614142653ec98f (diff) | |
| download | rust-ff87ff962cc0a267e1261b936227d840eff021e9.tar.gz rust-ff87ff962cc0a267e1261b936227d840eff021e9.zip | |
Replace some uses of vec.drain(..) with vec.into_iter()
IntoIter should optimize better than Drain
| -rw-r--r-- | compiler/rustc_middle/src/mir/mod.rs | 2 | ||||
| -rw-r--r-- | compiler/rustc_resolve/src/late/diagnostics.rs | 10 |
2 files changed, 6 insertions, 6 deletions
diff --git a/compiler/rustc_middle/src/mir/mod.rs b/compiler/rustc_middle/src/mir/mod.rs index 971556d4463..253ac266bed 100644 --- a/compiler/rustc_middle/src/mir/mod.rs +++ b/compiler/rustc_middle/src/mir/mod.rs @@ -2665,7 +2665,7 @@ impl<'tcx> UserTypeProjections { mut self, mut f: impl FnMut(UserTypeProjection) -> UserTypeProjection, ) -> Self { - self.contents = self.contents.drain(..).map(|(proj, span)| (f(proj), span)).collect(); + self.contents = self.contents.into_iter().map(|(proj, span)| (f(proj), span)).collect(); self } diff --git a/compiler/rustc_resolve/src/late/diagnostics.rs b/compiler/rustc_resolve/src/late/diagnostics.rs index 5f90fcdfa64..b51e93a429d 100644 --- a/compiler/rustc_resolve/src/late/diagnostics.rs +++ b/compiler/rustc_resolve/src/late/diagnostics.rs @@ -333,7 +333,7 @@ impl<'a: 'ast, 'ast> LateResolutionVisitor<'a, '_, 'ast> { let candidates = self .r .lookup_import_candidates(ident, ns, &self.parent_scope, is_expected) - .drain(..) + .into_iter() .filter(|ImportSuggestion { did, .. }| { match (did, res.and_then(|res| res.opt_def_id())) { (Some(suggestion_did), Some(actual_did)) => *suggestion_did != actual_did, @@ -1554,7 +1554,7 @@ impl<'a: 'ast, 'ast> LateResolutionVisitor<'a, '_, 'ast> { if suggest_only_tuple_variants { // Suggest only tuple variants regardless of whether they have fields and do not // suggest path with added parentheses. - let mut suggestable_variants = variants + let suggestable_variants = variants .iter() .filter(|(.., kind)| *kind == CtorKind::Fn) .map(|(variant, ..)| path_names_to_string(variant)) @@ -1580,7 +1580,7 @@ impl<'a: 'ast, 'ast> LateResolutionVisitor<'a, '_, 'ast> { err.span_suggestions( span, &msg, - suggestable_variants.drain(..), + suggestable_variants.into_iter(), Applicability::MaybeIncorrect, ); } @@ -1638,7 +1638,7 @@ impl<'a: 'ast, 'ast> LateResolutionVisitor<'a, '_, 'ast> { ); } - let mut suggestable_variants_with_placeholders = variants + let suggestable_variants_with_placeholders = variants .iter() .filter(|(_, def_id, kind)| needs_placeholder(*def_id, *kind)) .map(|(variant, _, kind)| (path_names_to_string(variant), kind)) @@ -1663,7 +1663,7 @@ impl<'a: 'ast, 'ast> LateResolutionVisitor<'a, '_, 'ast> { err.span_suggestions( span, msg, - suggestable_variants_with_placeholders.drain(..), + suggestable_variants_with_placeholders.into_iter(), Applicability::HasPlaceholders, ); } |
