Repository navigation
Conversation
|
Some changes occurred to constck cc @fee1-dead Some changes occurred to the CTFE machinery |
|
rustbot has assigned @petrochenkov. Use Why was this reviewer chosen?The reviewer was selected based on:
|
|
Thanks! This is a breaking change, right? We should crater it to see whether we can just land it as-is or whether we should try to make the analysis smarter to reduce the fallout. |
This comment has been minimized.
This comment has been minimized.
Fix incorrect impl JoinSemiLattice for State
f686d61 to
d6c9990
Compare
d6c9990 to
2c58896
Compare
| let mut v = ManuallyDrop::new(Vec::with_capacity(6)); | ||
| let mut x = 1; | ||
| while x < 42 { | ||
| v.push(x); | ||
| x *= 2; | ||
| } | ||
| assert!(v.len() == 6); | ||
| v.const_make_global() | ||
| ManuallyDrop::into_inner(v).const_make_global() |
There was a problem hiding this comment.
Uh, that's not very nice. At the very least this needs FIXME(const-hack). But I am not sure we should land this at all. Does it help if we enable const_precise_live_drops?
There was a problem hiding this comment.
Yes - assuming it is fine if we enable if for the whole test crate.
This comment has been minimized.
This comment has been minimized.
2c58896 to
589fcb5
Compare
|
cc @rust-lang/wg-const-eval |
|
@craterbot check |
|
@craterbot check |
|
🚨 Error: missing start toolchain 🆘 If you have any trouble with Crater please ask in t-infra on Zulip |
|
@craterbot run mode=check-only start=34f4a807e2d84184fff4e42d4539092569b6fcd6 end=c79f6bc4fc2389852aeff667626cb3e58adfe71c |
|
👌 Experiment ℹ️ Crater is a tool to run experiments across parts of the Rust ecosystem. Learn more |
|
Crater rollup in #164148 @craterbot abort |
|
@craterbot abort |
|
🗑️ Experiment ℹ️ Crater is a tool to run experiments across parts of the Rust ecosystem. Learn more |
|
r? @RalfJung |
|
|
The implementation had an incorrect short-circruting behavior, i.e., it failed to join `borrow` when `qualif` changed. This lead implementation to accept code that should have been rejected. Fix the issue and fallout in the standard library and tests.
589fcb5 to
dfa519e
Compare
|
🚨 Error: missing start toolchain 🆘 If you have any trouble with Crater please ask in t-infra on Zulip |
|
@craterbot check crates=https://crater-reports.s3.amazonaws.com/pr-164148-crater-rollup/retry-regressed-list.txt p=1 start=34f4a807e2d84184fff4e42d4539092569b6fcd6 end=c79f6bc4fc2389852aeff667626cb3e58adfe71c |
|
👌 Experiment ℹ️ Crater is a tool to run experiments across parts of the Rust ecosystem. Learn more |
|
I suspect that this PR broke the latest version of Edit: And also the latest version of Edit: And also the latest version of |
|
In rollup #164148 (comment) we have 119 regressed root results with error E0493: "A value with a custom Drop implementation may be dropped during const-eval". |
|
Sounds like it may be worth exploring a smarter analysis that's sound (unlike the current one) but can accept more code? We should look at some of the failing examples to judge how feasible it would be to keep accepting them. |
|
🚧 Experiment ℹ️ Crater is a tool to run experiments across parts of the Rust ecosystem. Learn more |
|
🎉 Experiment
Footnotes
|
|
Committing to MIR move elimination semantics and detecting undefined behavior associated with deallocation on a bare local moves seems most realistic approach to fixing this. I think we should do this regardless, so there seems little point to having this kind of breakage in the meantime. |
|
I think the vast majority of these can be handled with our current MIR semantics. We just need to
|
View all comments
The implementation had an incorrect short-circruting behavior, i.e., it failed to join
borrowwhenqualifchanged. This lead implementation to accept code that should have been rejected.This fixes a part of #164194.
Fix the issue and fallout in the standard library and tests.