Код, используемый для создания просто отлично в апреле (версия Rust ~ 1.6), но он больше не работает.Недопустимый операнд для встроенного ограничения asm «i» при записи встроенной сборки x86_64
#![feature(asm)]
enum MyEnum { One = 1 }
fn main() {
unsafe {
asm!("nop" : : "i" (MyEnum::One as isize) : :); // broken
}
}
Сообщение об ошибке не указывает на какие-либо очевидные изменения, которые могут быть причиной этого.
Связанный поток reddit: https://www.reddit.com/r/rust/comments/5jm4ww/translating_inline_assembler_expression_from_gcc/ –
Возможно, вам понадобится работать, чтобы предоставить [MCVE]. Хотя у меня нет Xen, я могу скомпилировать сборку x86, близкую к вашей (http://play.integer32.com/?gist=35a5ab7e6dc00be69301632b88ef8851&version=nightly) просто отлично. – Shepmaster
Я сделал, как вы сказали, и это сделало проблему очевидной. Спасибо за помощь. –