A function was given both the ffi_const and ffi_pure attributes.
Erroneous code example:
#![allow(unused)]
#![feature(ffi_const, ffi_pure)]
fn main() {
extern "C" {
#[unsafe(ffi_const)]
#[unsafe(ffi_pure)]
//~^ ERROR `#[ffi_const]` function cannot be `#[ffi_pure]`
pub fn square(num: i32) -> i32;
}
} As ffi_const provides stronger guarantees than ffi_pure, remove the ffi_pure attribute:
#![allow(unused)]
#![feature(ffi_const)]
fn main() {
extern "C" {
#[unsafe(ffi_const)]
pub fn square(num: i32) -> i32;
}
} You can get more information about const and pure in the GCC documentation on Common Function Attributes. The unstable Rust Book has more information about ffi_const and ffi_pure.
© 2010 The Rust Project Developers
Licensed under the Apache License, Version 2.0 or the MIT license, at your option.
https://doc.rust-lang.org/error_codes/E0757.html