#[ffi_returns_twice] was used on something other than a foreign function declaration.

Erroneous code example:

#![feature(ffi_returns_twice)]
#![crate_type = "lib"]

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

#[ffi_returns_twice] can only be used on foreign function declarations. For example, we might correct the previous example by declaring the function inside of an extern block.

#![feature(ffi_returns_twice)]

extern "C" {
   #[ffi_returns_twice] // ok!
   pub fn foo();
}