diff options
Diffstat (limited to 'src/libpanic_unwind')
| -rw-r--r-- | src/libpanic_unwind/miri.rs | 8 |
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> { |
