Skip to main content

run_r_unwind_protect

Function run_r_unwind_protect 

Source
fn run_r_unwind_protect<F, R>(f: F) -> Result<R, Box<dyn Any + Send>>
where F: FnOnce() -> R,
Expand description

Core R_UnwindProtect wrapper. Returns Ok(result) on success, Err(payload) on Rust panic, or diverges via R_ContinueUnwind on R longjmp.

Handles: CallData boxing, trampoline, cleanup handler, continuation token, Box::from_raw reclamation on all non-diverging paths.