-
Notifications
You must be signed in to change notification settings - Fork 12.9k
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
ICE: interpret const eval failure of Unevaluated(UnevaluatedConst
#130687
Comments
Regression in #127546 cc @workingjubilee |
Nope. That PR just changed the size at which things become problematic, which should tell you that the bisection is wrong. If you tweak the constants just a little bit: pub struct Data([u8; usize::MAX >> 17]);
const _: &'static Data = &Data([0; usize::MAX >> 17]); This bisects instead to #121557 |
is "the compiler OOMs when you try to make it OOM" really a "regression"? |
answer after some discussion: possibly, if it was supposed to stop compilation when it detected it was going to OOM if it continued! |
Ah, exciting... there is indeed a way that all constants can fail to evaluate, even those that have been promoted because they seem "infallible". |
interpret: do not ICE when a promoted fails with OOM Fixes rust-lang#130687
interpret: do not ICE when a promoted fails with OOM Fixes rust-lang#130687
interpret: do not ICE when a promoted fails with OOM Fixes rust-lang#130687 try-job: aarch64-apple try-job: dist-x86_64-linux
interpret: do not ICE when a promoted fails with OOM Fixes rust-lang/rust#130687 try-job: aarch64-apple try-job: dist-x86_64-linux
interpret: do not ICE when a promoted fails with OOM Fixes rust-lang/rust#130687 try-job: aarch64-apple try-job: dist-x86_64-linux
snippet:
Version information
Command:
/home/matthias/.rustup/toolchains/master/bin/rustc
Program output
The text was updated successfully, but these errors were encountered: