pub fn rust_panic_without_hook(payload: Box<dyn Any + Send>) -> ! {
    update_panic_count(1);

    struct RewrapBox(Box<dyn Any + Send>);

    unsafe impl BoxMeUp for RewrapBox {
        fn take_box(&mut self) -> *mut (dyn Any + Send) {
            Box::into_raw(mem::replace(&mut self.0, Box::new(())))
        }

        fn get(&mut self) -> &(dyn Any + Send) {
            &*self.0
        }
    }

    rust_panic(&mut RewrapBox(payload))
}
/// This is the entry point for `resume_unwind`.
/// It just forwards the payload to the panic runtime.
This is the entry point for `resume_unwind`.
It just forwards the payload to the panic runtime.
This is the entry point for ` resume_unwind ` . It just forwards the payload to the panic runtime .
pub fn rust_panic_without_hook(payload: Box<dyn Any + Send>) -> ! {
    update_panic_count(1);
    struct RewrapBox(Box<dyn Any + Send>);
    unsafe impl BoxMeUp for RewrapBox {
        fn take_box(&mut self) -> *mut (dyn Any + Send) {
            Box::into_raw(mem::replace(&mut self.0, Box::new(())))
        }
        fn get(&mut self) -> &(dyn Any + Send) {
            &*self.0
        }
    }
    rust_panic(&mut RewrapBox(payload))
}
pub fn rust_panic_without_hook ( payload : Box < dyn Any + Send > ) -> ! { update_panic_count ( 1 ) ; struct RewrapBox ( Box < dyn Any + Send > ) ; unsafe impl BoxMeUp for RewrapBox { fn take_box ( & mut self ) -> * mut ( dyn Any + Send ) { Box :: into_raw ( mem :: replace ( & mut self . 0 , Box :: new ( ( ) ) ) ) } fn get ( & mut self ) -> & ( dyn Any + Send ) { & * self . 0 } } rust_panic ( & mut RewrapBox ( payload ) ) }
This is the entry point for `resume_unwind`.
This is the entry point for ` resume_unwind ` .
payload
Box<dyn Any + Send>
payload
Box<dyn Any + Send>