Error code E0756

The ffi_const attribute was used on something other than a foreign function declaration.

Erroneous code example:


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

The ffi_const attribute can only be used on foreign function declarations which have no side effects except for their return value:


extern "C" {
    #[ffi_const] // ok!
    pub fn strlen(s: *const i8) -> i32;
fn main() {}

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