about summary refs log tree commit diff
path: root/compiler/rustc_const_eval/src/interpret/step.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_const_eval/src/interpret/step.rs
parent7f36543a48e52912ac6664a70c0a5b9d86509eaf (diff)
downloadrust-fc1a9186dcdad111fd99ddd38bd961a8a205c380.tar.gz
rust-fc1a9186dcdad111fd99ddd38bd961a8a205c380.zip
Implement MIR, CTFE, and codegen for unsafe binders
Diffstat (limited to 'compiler/rustc_const_eval/src/interpret/step.rs')
-rw-r--r--compiler/rustc_const_eval/src/interpret/step.rs5
1 files changed, 5 insertions, 0 deletions
diff --git a/compiler/rustc_const_eval/src/interpret/step.rs b/compiler/rustc_const_eval/src/interpret/step.rs
index d9c0ff5acd1..beae5047e7e 100644
--- a/compiler/rustc_const_eval/src/interpret/step.rs
+++ b/compiler/rustc_const_eval/src/interpret/step.rs
@@ -277,6 +277,11 @@ impl<'tcx, M: Machine<'tcx>> InterpCx<'tcx, M> {
                 let discr = self.discriminant_for_variant(op.layout.ty, variant)?;
                 self.write_immediate(*discr, &dest)?;
             }
+
+            WrapUnsafeBinder(ref op, _ty) => {
+                let op = self.eval_operand(op, None)?;
+                self.copy_op_allow_transmute(&op, &dest)?;
+            }
         }
 
         trace!("{:?}", self.dump_place(&dest));