-
Notifications
You must be signed in to change notification settings - Fork 12.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rust nightly internal compiler error in x86 crate #39083
Comments
Minimal:
Not a regression. Structures are consciously not considered to be immediates anymore as of #38906 and therefore cannot really be bound by the register bound. The structure should be converted to underlying value explicitly. This is “just” an ICE. That being said cc @dotdash @Mark-Simulacrum @eddyb. |
@nagisa is it recommended to have explicit input registers such as "{ax}" when accessing segment registers to work around this ICE? |
@jackpot51 with |
Does that work? (EDIT: as in, I can't see how anything like that could change the condition for thr ICE which is "structure used as immediate") |
is a plausible workaround if you insist on using the |
hey! so if you roll back to |
I would advise against rolling back as we are more likely to make the rules around |
@eddyb yeah, no plans to stay on the rolled back version, but would like to continue working today 😉 |
Oh, it's not under your control so you can't just apply the fix, I missed that bit of context. |
The x86 crate was fixed in gz/rust-x86#27. The crates.io versions were updated, too (0.8.1, 0.7.2 and 0.6.2). |
structs are no longer considered immediate values in asm!
@nagisa 's reproduction fails to compile with
closing! |
I've been trying to compile the https://github.com/gz/rust-x86 crate with the latest nightly of rust, but have been getting the following internal compiler error:
This may be related to #38735, but looking at the code, however there is no
"m"
constraint anywhere in theSegmentSelector
.If I can help with any more details please let me know.
The text was updated successfully, but these errors were encountered: