Allow access of the state field before the generator transform. Fixes #47482, #46476

This commit is contained in:
John Kåre Alsaker 2018-01-29 08:29:58 +01:00
parent 77bc26f4f3
commit 4325c6375e
4 changed files with 38 additions and 26 deletions

View file

@ -1,12 +1,3 @@
error[E0626]: borrow may still be in use when generator yields (Mir)
--> $DIR/generator-with-nll.rs:20:17
|
20 | let b = &mut true; //~ ERROR borrow may still be in use when generator yields (Ast)
| ^^^^^^^^^
21 | //~^ borrow may still be in use when generator yields (Mir)
22 | yield ();
| -------- possible yield occurs here
error[E0626]: borrow may still be in use when generator yields (Ast)
--> $DIR/generator-with-nll.rs:19:23
|
@ -25,5 +16,14 @@ error[E0626]: borrow may still be in use when generator yields (Ast)
22 | yield ();
| -------- possible yield occurs here
error[E0626]: borrow may still be in use when generator yields (Mir)
--> $DIR/generator-with-nll.rs:20:17
|
20 | let b = &mut true; //~ ERROR borrow may still be in use when generator yields (Ast)
| ^^^^^^^^^
21 | //~^ borrow may still be in use when generator yields (Mir)
22 | yield ();
| -------- possible yield occurs here
error: aborting due to 3 previous errors

View file

@ -1,12 +1,3 @@
error[E0626]: borrow may still be in use when generator yields (Mir)
--> $DIR/yield-while-local-borrowed.rs:24:17
|
24 | let a = &mut 3;
| ^^^^^^
...
27 | yield();
| ------- possible yield occurs here
error[E0626]: borrow may still be in use when generator yields (Ast)
--> $DIR/yield-while-local-borrowed.rs:24:22
|
@ -25,6 +16,15 @@ error[E0626]: borrow may still be in use when generator yields (Ast)
55 | yield();
| ------- possible yield occurs here
error[E0626]: borrow may still be in use when generator yields (Mir)
--> $DIR/yield-while-local-borrowed.rs:24:17
|
24 | let a = &mut 3;
| ^^^^^^
...
27 | yield();
| ------- possible yield occurs here
error[E0626]: borrow may still be in use when generator yields (Mir)
--> $DIR/yield-while-local-borrowed.rs:52:21
|