Rust errors / Everything else
Rust compiler error · checked with rustc 1.99.0
Rust error E0787: naked functions must contain a single `naked_asm!` invocation
What it meansAn unsupported naked function definition.
What rustc prints
error[E0787]: naked functions must contain a single `naked_asm!` invocation
--> main.rs:2:1
|
2 | pub extern "C" fn f() -> u32 {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3 | 42
| -- not allowed in naked functionsReal output of rustc 1.99.0 compiling the official example below (2021 edition). Your names and line numbers will differ; the first line is the part to match.
The compiler team's explanation
An unsupported naked function definition.
Erroneous code example:
#[unsafe(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.
From rustc --explain E0787 (1.99.0), part of the Rust project, MIT or Apache-2.0. Official page.
Related errors
- E0061this function takes N arguments but M were supplied
- E0412cannot find type in this scope
- E0515cannot return reference to local variable
- E0728await is only allowed inside async functions and blocks
- E0784union expressions should have exactly one field
- E0786A metadata file was invalid
- E0793reference to field of packed struct is unaligned
- E0797base expression required after `..`
Up next
Often hit nextE0061: this function takes N arguments but M were suppliedA related error from the same family.Read it next →Did this answer your question?