-
Notifications
You must be signed in to change notification settings - Fork 12.8k
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
change BorrowKind::Unique
to be a mutating PlaceContext
#112070
Conversation
r? @wesleywiser (rustbot has picked a reviewer for you, use r? to override) |
Some changes occurred to MIR optimizations cc @rust-lang/wg-mir-opt |
BorrowKind::Unique
is a mutating PlaceContext
BorrowKind::Unique
to a mutating PlaceContext
This PR changes MIR cc @oli-obk, @RalfJung, @JakobDegen, @davidtwco, @celinval, @vakaras |
BorrowKind::Unique
to a mutating PlaceContext
BorrowKind::Unique
to be a mutating PlaceContext
This comment has been minimized.
This comment has been minimized.
150a4a1
to
d01c358
Compare
This comment has been minimized.
This comment has been minimized.
d01c358
to
25f8f4c
Compare
@bors r+ |
…r=oli-obk change `BorrowKind::Unique` to be a mutating `PlaceContext` fixes rust-lang#112056 I believe that `BorrowKind::Unique` is a footgun in general, so I added a FIXME and opened rust-lang#112072. This is a bit too involved for this PR though.
@bors p=10 Beta nominated backport for P-critical issue. |
☀️ Test successful - checks-actions |
Is there any chance of this landing in stable 1.70? It seems to me that it's an easy enough thing to hit with very innocent-looking code (like this example which exploits lifetime elision to really bury the unsoundness) that there could be serious harm done by leaving it in stable for another 6 weeks. There's also the option of a 1.70.1 if it is too late now. Our team downgraded to 1.68.2 this week, as we're wrangling lifetimes, we already hit the issue by accident, and it's just too big a hole in borrowck. |
Finished benchmarking commit (e6e4f7e): comparison URL. Overall result: no relevant changes - no action needed@rustbot label: -perf-regression Instruction countThis benchmark run did not return any relevant results for this metric. Max RSS (memory usage)ResultsThis is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.
CyclesThis benchmark run did not return any relevant results for this metric. Binary sizeThis benchmark run did not return any relevant results for this metric. Bootstrap: 643.715s -> 643.102s (-0.10%) |
This PR labeled as stable-nominated, so i guess it will be backported to stable. |
@rustbot label: +stable-accepted +beta-accepted |
…Simulacrum Backport of rust-lang#112070 Backports rust-lang#112070 to stable r? `@Mark-Simulacrum`
I want to thank everyone who worked hard on this, under pressure and at a difficult time. I understand it took an unusual effort to get it done, and I really appreciate it. There's a lot to be proud of there. |
(One last thing to note is that because this was so extraordinarily last-minute, the fix didn't make it into beta. I suppose it will need to be backported before the next stable promotion, otherwise it will sneak back into stable, right?) |
…mulacrum [beta] backports + stage0 bump This bumps the beta branch to use 1.70 as the bootstrap compiler, and backports: * rust-lang#112070 r? `@Mark-Simulacrum`
I'm hoping PR #112246 means its in beta now? |
Yeah, this should be in beta now. |
…w-kind, r=lcnr Merge `BorrowKind::Unique` into `BorrowKind::Mut` Fixes rust-lang#112072 Might have conflict with rust-lang#112070 r? `@lcnr` I'm not sure what's the suitable change in a couple places.
fixes #112056
I believe that
BorrowKind::Unique
is a footgun in general, so I added a FIXME and opened #112072. This is a bit too involved for this PR though.