-
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
make ConstEvaluatable
more strict
#74595
Conversation
@bors try |
⌛ Trying commit 617f7ad0b02ca21994b4cf28d14634486163b166 with merge 536076e3df53cc305e0c3c5f38bdc73f6d9f08bb... |
☀️ Try build successful - checks-actions, checks-azure |
It looks like the crater queue is fairly full. @Mark-Simulacrum do we currently have the capacity to do another check run? I also did some small changes here, so once again @bors try |
⌛ Trying commit 65395c0710061f8745bdfab3520256a178e92c9d with merge a5913924b14838b364c42230cae014cc2534331d... |
☀️ Try build successful - checks-actions, checks-azure |
Well, will go ahead and add this PR into the crate queue. If we don't have the capacity for this we can just remove it again. @craterbot check |
👌 Experiment ℹ️ Crater is a tool to run experiments across parts of the Rust ecosystem. Learn more |
🚧 Experiment ℹ️ Crater is a tool to run experiments across parts of the Rust ecosystem. Learn more |
🚨 Experiment 🆘 Can someone from the infra team check in on this? @rust-lang/infra |
@craterbot retry seems to have been spurious |
🚨 Error: failed to parse the command 🆘 If you have any trouble with Crater please ping |
@craterbot retry |
🛠️ Experiment ℹ️ Crater is a tool to run experiments across parts of the Rust ecosystem. Learn more |
This behavior was introduced in #70452 which was merged on the 15.04.2020, meaning that this has been only stable for 2 stable versions. (since 1.43.0) So hopefully there aren't many uses of this yet |
🚧 Experiment ℹ️ Crater is a tool to run experiments across parts of the Rust ecosystem. Learn more |
🚨 Experiment 🆘 Can someone from the infra team check in on this? @rust-lang/infra |
@craterbot retry |
🛠️ Experiment ℹ️ Crater is a tool to run experiments across parts of the Rust ecosystem. Learn more |
🚧 Experiment ℹ️ Crater is a tool to run experiments across parts of the Rust ecosystem. Learn more |
1a1c3dc
to
1dd00e6
Compare
I wasn't able to reproduce this locally, but added a |
r=me with CI passing |
@bors r=oli-obk |
📌 Commit 4226a17 has been approved by |
@bors retry |
⌛ Testing commit 4226a17 with merge 8d92815944e001c9703489b285f04a9eb6567699... |
💔 Test failed - checks-actions |
How can I reproduce this locally? I don't understand this error |
The only thing I can come up with that could cause this difference is |
@bors r=oli-obk |
📌 Commit 74e0719 has been approved by |
☀️ Test successful - checks-actions, checks-azure |
This was an improvement of up to 2% on wf-projection-stress. Presumably not an expected result? |
We were afraid of causing a regression here and had similar results 🤔 Probably some inlining changes or something but not really expected |
relevant zulip discussion: https://rust-lang.zulipchat.com/#narrow/stream/146212-t-compiler.2Fconst-eval/topic/.60ConstEvaluatable.60.20generic.20functions/near/204125452
Let's see how much this impacts. Depending on how this goes this should probably be a future compat warning.
Short explanation: we currently forbid anonymous constants which depend on generic types, e.g.
[0; std::mem::size_of::<T>]
currently errors.We previously checked this by evaluating the constant and returned an error if that failed. This however allows things like
which is a backwards compatibility hazard. This also has worrying interactions with mir optimizations (#74491 (comment)) and intrinsics (#74538).
r? @oli-obk @eddyb