Static rustc_lint_defs::builtin::FFI_UNWIND_CALLS

source ·
pub static FFI_UNWIND_CALLS: &Lint
Expand description

The ffi_unwind_calls lint detects calls to foreign functions or function pointers with C-unwind or other FFI-unwind ABIs.



extern "C-unwind" {
    fn foo();

fn bar() {
    unsafe { foo(); }
    let ptr: unsafe extern "C-unwind" fn() = foo;
    unsafe { ptr(); }



For crates containing such calls, if they are compiled with -C panic=unwind then the produced library cannot be linked with crates compiled with -C panic=abort. For crates that desire this ability it is therefore necessary to avoid such calls.