Error code E0787

An unsupported naked function definition.

Erroneous code example:

#![allow(unused)]
#![feature(naked_functions)]

fn main() {
#[naked]
pub extern "C" fn f() -> u32 {
    42
}
}

The naked function must be defined using a single naked_asm! assembly block.

The execution must never fall through past the end of the assembly code, so it must either return or diverge. The asm block can also use att_syntax and raw options, but others options are not allowed.

The asm block must not contain any operands other than const and sym.

Additional information

For more information, please see RFC 2972.