about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--compiler/rustc_const_eval/src/check_consts/check.rs6
1 files changed, 2 insertions, 4 deletions
diff --git a/compiler/rustc_const_eval/src/check_consts/check.rs b/compiler/rustc_const_eval/src/check_consts/check.rs
index 13afb1afa82..9f93776a7b9 100644
--- a/compiler/rustc_const_eval/src/check_consts/check.rs
+++ b/compiler/rustc_const_eval/src/check_consts/check.rs
@@ -289,10 +289,8 @@ impl<'mir, 'tcx> Checker<'mir, 'tcx> {
                     if matches!(data.terminator().kind, TerminatorKind::Return) {
                         let location = ccx.body.terminator_loc(bb);
                         maybe_storage_live.seek_after_primary_effect(location);
-                        for local in maybe_storage_live.get().iter() {
-                            // If a local may be live here, it is definitely not transient.
-                            transient.remove(local);
-                        }
+                        // If a local may be live here, it is definitely not transient.
+                        transient.subtract(maybe_storage_live.get());
                     }
                 }