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:
parent
cb8ab33ed2
commit
50224ec1a9
@ -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`.
|
|
@ -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`.
|
|
Loading…
Reference in New Issue
Block a user