about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/librustc_interface/passes.rs6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/librustc_interface/passes.rs b/src/librustc_interface/passes.rs
index 1a9bf4e1e8f..1ed9bc3f1f5 100644
--- a/src/librustc_interface/passes.rs
+++ b/src/librustc_interface/passes.rs
@@ -847,7 +847,11 @@ fn analysis(tcx: TyCtxt<'_>, cnum: CrateNum) -> Result<()> {
 
     sess.time("MIR_effect_checking", || {
         for def_id in tcx.body_owners() {
-            mir::transform::check_unsafety::check_unsafety(tcx, def_id)
+            mir::transform::check_unsafety::check_unsafety(tcx, def_id);
+
+            if tcx.hir().body_const_context(def_id).is_some() {
+                tcx.ensure().mir_drops_elaborated_and_const_checked(def_id);
+            }
         }
     });