]> git.lizzy.rs Git - rust.git/blobdiff - compiler/rustc_ty_utils/src/needs_drop.rs
Be cautious of calling upvar_tys before mir
[rust.git] / compiler / rustc_ty_utils / src / needs_drop.rs
index d62fc764c76d719e5d859f1cddc72e5006a9067c..64f82817d3944e4636237b96c744f4d9d38e3bd3 100644 (file)
@@ -94,16 +94,12 @@ fn next(&mut self) -> Option<NeedsDropResult<Ty<'tcx>>> {
                     _ if component.is_copy_modulo_regions(tcx.at(DUMMY_SP), self.param_env) => (),
 
                     ty::Closure(_, substs) => {
-                        for upvar_ty in substs.as_closure().upvar_tys() {
-                            queue_type(self, upvar_ty);
-                        }
+                        queue_type(self, substs.as_closure().tupled_upvars_ty());
                     }
 
                     ty::Generator(def_id, substs, _) => {
                         let substs = substs.as_generator();
-                        for upvar_ty in substs.upvar_tys() {
-                            queue_type(self, upvar_ty);
-                        }
+                        queue_type(self, substs.tupled_upvars_ty());
 
                         let witness = substs.witness();
                         let interior_tys = match witness.kind() {