about summary refs log tree commit diff
path: root/src/libpanic_unwind
diff options
context:
space:
mode:
Diffstat (limited to 'src/libpanic_unwind')
-rw-r--r--src/libpanic_unwind/miri.rs8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/libpanic_unwind/miri.rs b/src/libpanic_unwind/miri.rs
index a2d52638e8b..3b4203c3c6d 100644
--- a/src/libpanic_unwind/miri.rs
+++ b/src/libpanic_unwind/miri.rs
@@ -1,9 +1,13 @@
+use core::any::Any;
+use alloc::boxed::Box;
+
 pub fn payload() -> *mut u8 {
     core::ptr::null_mut()
 }
 
-pub unsafe fn panic(data: Box<dyn Any + Send>) -> u32 {
-    core::intrinsics::miri_start_panic(Box::into_raw(data))
+pub unsafe fn panic(data: Box<dyn Any + Send>) -> ! {
+    let raw_val = core::mem::transmute::<_, u128>(Box::into_raw(data));
+    core::intrinsics::miri_start_panic(raw_val)
 }
 
 pub unsafe fn cleanup(ptr: *mut u8) -> Box<dyn Any + Send> {