Implement borrowck for &pin mut|const $place#153693
Implement borrowck for &pin mut|const $place#153693frank-king wants to merge 3 commits intorust-lang:mainfrom
&pin mut|const $place#153693Conversation
This comment has been minimized.
This comment has been minimized.
f6b714b to
46c66aa
Compare
This comment has been minimized.
This comment has been minimized.
|
I opened a PR against your It distinguishes persistent user |
63fbcd8 to
122d1be
Compare
|
I opened a follow-up PR against your It rejects direct user-written |
|
The job Click to see the possible cause of the failure (guessed by this bot) |
|
I looked through the remaining unchecked I think this may already be covered by the existing tests, and I do not see a non-duplicate test that would add meaningful extra coverage right now. Existing coverage includes:
Given that, I think the The only optional fallback I found would be a focused compile-fail test for explicit |
|
I also opened a small follow-up PR for the stage-2 pretty-suite failure: The failure was in The follow-up only updates the pretty test fixture and passed locally: ./x test tests/pretty/pin-ergonomics.rs --stage 2 --test-args --force-rerun
./x test tests/pretty/pin-ergonomics-hir.rs --stage 2 --test-args --force-rerun
./x test tests/pretty --stage 2 --test-args pin-ergonomics --force-rerun
./x test tests/ui/pin-ergonomics --stage 2 --test-args --force-rerun
./x test --stage 2 --skip tidy --skip compiler --skip src
git diff --check
./x fmt --check |
Part of Pin Ergonomics.
This forbids places to be moved or mutably borrowed ever since they are pinned until they are reassigned (even after the pinned borrows themselves expire).
Tasks:
Pinsdataflow analysispinpattern matching&pinborrows for ADTs without#[pin_v2](for soundness concerns)