2018-04-11 00:38:35 +02:00
|
|
|
error[E0626]: borrow may still be in use when generator yields
|
|
|
|
--> $DIR/yield-while-iterating.rs:22:18
|
|
|
|
|
|
|
|
|
LL | for p in &x { //~ ERROR
|
|
|
|
| ^^
|
|
|
|
LL | yield();
|
|
|
|
| ------- possible yield occurs here
|
|
|
|
|
|
|
|
error[E0502]: cannot borrow `x` as immutable because it is also borrowed as mutable
|
|
|
|
--> $DIR/yield-while-iterating.rs:67:20
|
|
|
|
|
|
2018-10-10 21:56:17 +02:00
|
|
|
LL | let mut b = || {
|
|
|
|
| -- mutable borrow occurs here
|
|
|
|
LL | for p in &mut x {
|
|
|
|
| - first borrow occurs due to use of `x` in generator
|
|
|
|
...
|
|
|
|
LL | println!("{}", x[0]); //~ ERROR
|
|
|
|
| ^ immutable borrow occurs here
|
|
|
|
LL | b.resume();
|
|
|
|
| - mutable borrow later used here
|
2018-04-11 00:38:35 +02:00
|
|
|
|
2018-04-27 20:41:30 +01:00
|
|
|
error: aborting due to 2 previous errors
|
2018-04-11 00:38:35 +02:00
|
|
|
|
2018-04-27 20:41:30 +01:00
|
|
|
Some errors occurred: E0502, E0626.
|
2018-04-11 00:38:35 +02:00
|
|
|
For more information about an error, try `rustc --explain E0502`.
|