Der unten stehende Code wurde im April (Rust-Version ~ 1.6) gut gebaut, aber es nicht mehr.Ungültiger Operand für Inline-Asm-Constraint 'i' beim Schreiben von Inline-X86_64-Assembly
#![feature(asm)]
enum MyEnum { One = 1 }
fn main() {
unsafe {
asm!("nop" : : "i" (MyEnum::One as isize) : :); // broken
}
}
Die Fehlermeldung weist nicht auf offensichtliche Änderungen hin, die dies verursachen könnten.
Zugehöriger Reddit-Thread: https://www.reddit.com/r/rust/comments/5jm4ww/translating_inline_assembler_expression_from_gcc/ –
Sie werden wahrscheinlich arbeiten müssen, um einen [MCVE] bereitzustellen. Während ich Xen nicht habe, kann ich x86-Assembly kompilieren, das in Ihrer Nähe ist (http://play.integer32.com/?gist=35a5ab7e6dc00be69301632b88ef8851&version=nightly). – Shepmaster
Ich habe getan, wie Sie gesagt haben, und es machte das Problem offensichtlich. Danke für die Hilfe. –