about summary refs log tree commit diff
path: root/compiler/rustc_trait_selection/src/traits/select/mod.rs
diff options
context:
space:
mode:
authorKyle Matsuda <kyle.yoshio.matsuda@gmail.com>2023-05-26 12:14:48 -0600
committerKyle Matsuda <kyle.yoshio.matsuda@gmail.com>2023-05-28 10:44:53 -0600
commitc40e9cc7ca3001cfd6098d1c2f6bf4e009920358 (patch)
treec02b84d53e56e8f4dcfeab317dc4e07985b4dfaf /compiler/rustc_trait_selection/src/traits/select/mod.rs
parent03534ac8b70de1134ce7e91b172cd629048a6c8b (diff)
downloadrust-c40e9cc7ca3001cfd6098d1c2f6bf4e009920358.tar.gz
rust-c40e9cc7ca3001cfd6098d1c2f6bf4e009920358.zip
Make EarlyBinder's inner value private; and fix all of the resulting errors
Diffstat (limited to 'compiler/rustc_trait_selection/src/traits/select/mod.rs')
-rw-r--r--compiler/rustc_trait_selection/src/traits/select/mod.rs12
1 files changed, 5 insertions, 7 deletions
diff --git a/compiler/rustc_trait_selection/src/traits/select/mod.rs b/compiler/rustc_trait_selection/src/traits/select/mod.rs
index 3baf1c97c9f..ed380f32b72 100644
--- a/compiler/rustc_trait_selection/src/traits/select/mod.rs
+++ b/compiler/rustc_trait_selection/src/traits/select/mod.rs
@@ -2149,13 +2149,11 @@ impl<'tcx> SelectionContext<'_, 'tcx> {
             ty::Adt(def, substs) => {
                 let sized_crit = def.sized_constraint(self.tcx());
                 // (*) binder moved here
-                Where(obligation.predicate.rebind({
-                    sized_crit
-                        .0
-                        .iter()
-                        .map(|ty| sized_crit.rebind(*ty).subst(self.tcx(), substs))
-                        .collect()
-                }))
+                Where(
+                    obligation
+                        .predicate
+                        .rebind(sized_crit.subst_iter_copied(self.tcx(), substs).collect()),
+                )
             }
 
             ty::Alias(..) | ty::Param(_) | ty::Placeholder(..) => None,