It turns out that the diagnostics generated from NLL for these cases are now exactly the same as that produced by AST borrowck. Bravo!

This commit is contained in:
Felix S. Klock II 2018-05-29 23:25:53 +02:00
parent cb8ab33ed2
commit 50224ec1a9
2 changed files with 0 additions and 45 deletions

View File

@ -1,11 +0,0 @@
error[E0626]: borrow may still be in use when generator yields
--> $DIR/pattern-borrow.rs:19:24
|
LL | if let Test::A(ref _a) = test { //~ ERROR borrow may still be in use when generator yields
| ^^^^^^
LL | yield ();
| -------- possible yield occurs here
error: aborting due to previous error
For more information about this error, try `rustc --explain E0626`.

View File

@ -1,34 +0,0 @@
error[E0506]: cannot assign to `*y.pointer` because it is borrowed (Ast)
--> $DIR/issue-45697.rs:30:9
|
LL | let z = copy_borrowed_ptr(&mut y);
| - borrow of `*y.pointer` occurs here
LL | *y.pointer += 1;
| ^^^^^^^^^^^^^^^ assignment to borrowed `*y.pointer` occurs here
error[E0503]: cannot use `*y.pointer` because it was mutably borrowed (Mir)
--> $DIR/issue-45697.rs:30:9
|
LL | let z = copy_borrowed_ptr(&mut y);
| ------ borrow of `y` occurs here
LL | *y.pointer += 1;
| ^^^^^^^^^^^^^^^ use of borrowed `y`
...
LL | *z.pointer += 1;
| --------------- borrow later used here
error[E0506]: cannot assign to `*y.pointer` because it is borrowed (Mir)
--> $DIR/issue-45697.rs:30:9
|
LL | let z = copy_borrowed_ptr(&mut y);
| ------ borrow of `*y.pointer` occurs here
LL | *y.pointer += 1;
| ^^^^^^^^^^^^^^^ assignment to borrowed `*y.pointer` occurs here
...
LL | *z.pointer += 1;
| --------------- borrow later used here
error: aborting due to 3 previous errors
Some errors occurred: E0503, E0506.
For more information about an error, try `rustc --explain E0503`.