From 93c4aa80b805bd2f0685e3438cb851ff8775415c Mon Sep 17 00:00:00 2001 From: Oli Scherer Date: Tue, 10 Aug 2021 11:03:10 +0000 Subject: [PATCH] Don't collect into a `Vec` that is immediately being iterated on again. --- compiler/rustc_trait_selection/src/opaque_types.rs | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/compiler/rustc_trait_selection/src/opaque_types.rs b/compiler/rustc_trait_selection/src/opaque_types.rs index f7ed5cd6bd1ff..1a195ce18ec64 100644 --- a/compiler/rustc_trait_selection/src/opaque_types.rs +++ b/compiler/rustc_trait_selection/src/opaque_types.rs @@ -344,12 +344,11 @@ impl<'a, 'tcx> InferCtxtExt<'tcx> for InferCtxt<'a, 'tcx> { // check.) let bounds = tcx.explicit_item_bounds(def_id); debug!("{:#?}", bounds); - let bounds: Vec<_> = - bounds.iter().map(|(bound, _)| bound.subst(tcx, opaque_type_key.substs)).collect(); + let bounds = bounds.iter().map(|(bound, _)| bound.subst(tcx, opaque_type_key.substs)); debug!("{:#?}", bounds); let opaque_type = tcx.mk_opaque(def_id, opaque_type_key.substs); - let required_region_bounds = required_region_bounds(tcx, opaque_type, bounds.into_iter()); + let required_region_bounds = required_region_bounds(tcx, opaque_type, bounds); if !required_region_bounds.is_empty() { for required_region in required_region_bounds { concrete_ty.visit_with(&mut ConstrainOpaqueTypeRegionVisitor {