about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorBen Kimock <kimockb@gmail.com>2023-01-22 17:06:28 -0500
committerBen Kimock <kimockb@gmail.com>2023-01-23 19:25:10 -0500
commit39b34dc7922559b679b9458d2dde755cbf46d0ec (patch)
treeeacaa5605d046a2aba0675ba0240341180bf4769 /src
parent4e47bd0464ce119a903e95b2dc20260258776d8e (diff)
downloadrust-39b34dc7922559b679b9458d2dde755cbf46d0ec.tar.gz
rust-39b34dc7922559b679b9458d2dde755cbf46d0ec.zip
Thread a ParamEnv down to might_permit_raw_init
Diffstat (limited to 'src')
-rw-r--r--src/intrinsics/mod.rs7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/intrinsics/mod.rs b/src/intrinsics/mod.rs
index e4ac89a7bec..b1adaa193b3 100644
--- a/src/intrinsics/mod.rs
+++ b/src/intrinsics/mod.rs
@@ -21,6 +21,7 @@ mod simd;
 pub(crate) use cpuid::codegen_cpuid_call;
 pub(crate) use llvm::codegen_llvm_intrinsic_call;
 
+use rustc_middle::ty::layout::HasParamEnv;
 use rustc_middle::ty::print::with_no_trimmed_paths;
 use rustc_middle::ty::subst::SubstsRef;
 use rustc_span::symbol::{kw, sym, Symbol};
@@ -659,7 +660,9 @@ fn codegen_regular_intrinsic_call<'tcx>(
                 return;
             }
 
-            if intrinsic == sym::assert_zero_valid && !fx.tcx.permits_zero_init(layout) {
+            if intrinsic == sym::assert_zero_valid
+                && !fx.tcx.permits_zero_init(fx.param_env().and(layout))
+            {
                 with_no_trimmed_paths!({
                     crate::base::codegen_panic(
                         fx,
@@ -674,7 +677,7 @@ fn codegen_regular_intrinsic_call<'tcx>(
             }
 
             if intrinsic == sym::assert_mem_uninitialized_valid
-                && !fx.tcx.permits_uninit_init(layout)
+                && !fx.tcx.permits_uninit_init(fx.param_env().and(layout))
             {
                 with_no_trimmed_paths!({
                     crate::base::codegen_panic(