2017-07-29 16:05:50 +00:00
|
|
|
error[E0626]: borrow may still be in use when generator yields
|
2017-07-15 10:52:49 +00:00
|
|
|
--> $DIR/yield-while-iterating.rs:22:19
|
|
|
|
|
|
2018-02-23 00:42:32 +00:00
|
|
|
LL | for p in &x { //~ ERROR
|
2017-07-15 10:52:49 +00:00
|
|
|
| ^
|
2018-02-23 00:42:32 +00:00
|
|
|
LL | yield();
|
2017-07-15 10:52:49 +00:00
|
|
|
| ------- 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-02-23 00:42:32 +00:00
|
|
|
LL | let mut b = || {
|
2017-07-15 10:52:49 +00:00
|
|
|
| -- mutable borrow occurs here
|
2018-02-23 00:42:32 +00:00
|
|
|
LL | for p in &mut x {
|
2017-07-15 10:52:49 +00:00
|
|
|
| - previous borrow occurs due to use of `x` in closure
|
|
|
|
...
|
2018-02-23 00:42:32 +00:00
|
|
|
LL | println!("{}", x[0]); //~ ERROR
|
2017-07-15 10:52:49 +00:00
|
|
|
| ^ immutable borrow occurs here
|
2018-02-24 23:01:39 +00:00
|
|
|
LL | b.resume();
|
2018-02-23 00:42:32 +00:00
|
|
|
LL | }
|
2017-07-15 10:52:49 +00:00
|
|
|
| - mutable borrow ends here
|
|
|
|
|
|
|
|
error: aborting due to 2 previous errors
|
|
|
|
|
2018-02-19 20:40:25 +00:00
|
|
|
You've got a few errors: E0502, E0626
|
|
|
|
If you want more information on an error, try using "rustc --explain E0502"
|