[][src]Crate unwind_aborts

Prevent your panics from unwinding past FFI boundaries with this one simple trick!

Intended to be used in place of #[unwind(aborts)] until it is stabilized.


Add this to your [dependencies] in Cargo.toml:

unwind_aborts = "0.1.0"

Annotate your functions with #[unwind_aborts] to catch stack unwinding and abort the process instead:

use unwind_aborts::unwind_aborts;

pub extern fn foo() {
    panic!("this is safe");

The example above is equivalent to:

pub extern fn foo() {
    let result = std::panic::catch_unwind(|| {
        panic!("this is safe");
    match result {
        Ok(x) => x,
        Err(_) => std::process::abort(),

Attribute Macros