Part of: #43234
The MIR-based borrow checker used by NLL fixes a number of bugs in the existing AST-based borrow checker. Our plan for these bugs is to fix them by transitioning to the MIR-based borrow checker. In the meantime, we wish to add tests that show that the bugs are fixed with NLL, and then close the bugs (so they don't clutter up the issue tracker). This issue tracks the set of such bugs and gives instructions for how to proceed.
Bugs fixed by MIR
All these bugs are confirmed as fixed; the checkmark indicates that a PR with a test is enqueued or landed.
Procedure
- First, if you wish, add yourself to the list of participants for the WG-compiler-nll working group.
- This will help us to find people who might like to help later!
- Create a regression test in
src/test/ui/nll/
- The name can be
issue-XXX.rs, though giving a more descriptive name is also good
- The file should include a comment saying
// Regression test for #XXX however to ease searching later
- This test should include the error from the bug along with the following header material:
- Rust license
#![feature(nll)] at the top
- comments like
//~ ERROR for the errors, or whatever is needed for test harness to pass
- Run
./x.py test --stage 1 src/test/ui --test-args nll, this will test all the nll tests (including yours)
- Presuming that passes, open a PR! Otherwise, stop in at the WG-compiler-nll gitter channel
- Put
r? @nikomatsakis in the PR summary
Part of: #43234
The MIR-based borrow checker used by NLL fixes a number of bugs in the existing AST-based borrow checker. Our plan for these bugs is to fix them by transitioning to the MIR-based borrow checker. In the meantime, we wish to add tests that show that the bugs are fixed with NLL, and then close the bugs (so they don't clutter up the issue tracker). This issue tracks the set of such bugs and gives instructions for how to proceed.
Bugs fixed by MIR
All these bugs are confirmed as fixed; the checkmark indicates that a PR with a test is enqueued or landed.
&Tsometimes incorrectly allowed #38899decl_macro#46314decl_macro#46314 (hygiene interaction)Procedure
src/test/ui/nll/issue-XXX.rs, though giving a more descriptive name is also good// Regression test for #XXXhowever to ease searching later#![feature(nll)]at the top//~ ERRORfor the errors, or whatever is needed for test harness to pass./x.py test --stage 1 src/test/ui --test-args nll, this will test all the nll tests (including yours)r? @nikomatsakisin the PR summary