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.