Skip to content

Latest commit

 

History

History
30 lines (21 loc) · 698 Bytes

File metadata and controls

30 lines (21 loc) · 698 Bytes

Note: this error code is no longer emitted by the compiler.

The ffi_pure attribute was used on a non-foreign function.

Erroneous code example:

#![feature(ffi_pure)]

#[unsafe(ffi_pure)] // error!
pub fn foo() {}
# fn main() {}

The ffi_pure attribute can only be used on foreign functions which do not have side effects or infinite loops:

#![feature(ffi_pure)]

extern "C" {
    #[unsafe(ffi_pure)] // ok!
    pub fn strlen(s: *const std::ffi::c_char) -> usize;
}
# fn main() {}

You can find more information about it in the unstable Rust Book.