diff options
| author | Ben Kimock <kimockb@gmail.com> | 2023-01-22 17:06:28 -0500 |
|---|---|---|
| committer | Ben Kimock <kimockb@gmail.com> | 2023-01-23 19:25:10 -0500 |
| commit | 39b34dc7922559b679b9458d2dde755cbf46d0ec (patch) | |
| tree | eacaa5605d046a2aba0675ba0240341180bf4769 /src | |
| parent | 4e47bd0464ce119a903e95b2dc20260258776d8e (diff) | |
| download | rust-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.rs | 7 |
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( |
