Static rustc_lint_defs::builtin::FFI_UNWIND_CALLS
source · [−]pub static FFI_UNWIND_CALLS: &'static Lint
Expand description
The ffi_unwind_calls
lint detects calls to foreign functions or function pointers with
C-unwind
or other FFI-unwind ABIs.
Example
ⓘ
#![feature(ffi_unwind_calls)]
#![feature(c_unwind)]
extern "C-unwind" {
fn foo();
}
fn bar() {
unsafe { foo(); }
let ptr: unsafe extern "C-unwind" fn() = foo;
unsafe { ptr(); }
}
{{produces}}
Explanation
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.