Rust errors / Attributes, macros and features
Rust compiler error · checked with rustc 1.99.0
Rust error E0472: inline assembly (`asm!`) is not supported on this target
What it meansInline assembly (asm!) is not supported on this target.
The compiler team's explanation
Inline assembly (asm!) is not supported on this target.
Example of erroneous code:
// compile-flags: --target sparc64-unknown-linux-gnu
#![no_std]
use core::arch::asm;
fn main() {
unsafe {
asm!(""); // error: inline assembly is not supported on this target
}
}
The Rust compiler does not support inline assembly, with the asm! macro (previously llvm_asm!), for all targets. All Tier 1 targets do support this macro but support among Tier 2 and 3 targets is not guaranteed (even when they have std support). Note that this error is related to error[E0658]: inline assembly is not stable yet on this architecture, but distinct in that with E0472 support is not planned or in progress.
There is no way to easily fix this issue, however:
- Consider if you really need inline assembly, is there some other way to achieve your goal (intrinsics, etc)?
- Consider writing your assembly externally, linking with it and calling it from Rust.
- Consider contributing to <https://github.com/rust-lang/rust> and help integrate support for your target!
From rustc --explain E0472 (1.99.0), part of the Rust project, MIT or Apache-2.0. Official page.
Related errors
Up next
Often hit nextE0658: is unstableA related error from the same family.Read it next →Did this answer your question?