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