about summary refs log tree commit diff
path: root/compiler/rustc_codegen_cranelift/src/base.rs
diff options
context:
space:
mode:
authorMichael Goulet <michael@errs.io>2025-01-31 01:24:37 +0000
committerMichael Goulet <michael@errs.io>2025-01-31 17:19:53 +0000
commitfc1a9186dcdad111fd99ddd38bd961a8a205c380 (patch)
treec60452a9af751853a3ccef6e8eefd0dc145685a5 /compiler/rustc_codegen_cranelift/src/base.rs
parent7f36543a48e52912ac6664a70c0a5b9d86509eaf (diff)
downloadrust-fc1a9186dcdad111fd99ddd38bd961a8a205c380.tar.gz
rust-fc1a9186dcdad111fd99ddd38bd961a8a205c380.zip
Implement MIR, CTFE, and codegen for unsafe binders
Diffstat (limited to 'compiler/rustc_codegen_cranelift/src/base.rs')
-rw-r--r--compiler/rustc_codegen_cranelift/src/base.rs4
1 files changed, 3 insertions, 1 deletions
diff --git a/compiler/rustc_codegen_cranelift/src/base.rs b/compiler/rustc_codegen_cranelift/src/base.rs
index 34066eb83fc..ea37e19099a 100644
--- a/compiler/rustc_codegen_cranelift/src/base.rs
+++ b/compiler/rustc_codegen_cranelift/src/base.rs
@@ -983,7 +983,9 @@ pub(crate) fn codegen_place<'tcx>(
                 cplace = cplace.place_deref(fx);
             }
             PlaceElem::OpaqueCast(ty) => bug!("encountered OpaqueCast({ty}) in codegen"),
-            PlaceElem::Subtype(ty) => cplace = cplace.place_transmute_type(fx, fx.monomorphize(ty)),
+            PlaceElem::Subtype(ty) | PlaceElem::UnwrapUnsafeBinder(ty) => {
+                cplace = cplace.place_transmute_type(fx, fx.monomorphize(ty));
+            }
             PlaceElem::Field(field, _ty) => {
                 cplace = cplace.place_field(fx, field);
             }