error[E0626]: borrow may still be in use when generator yields --> $DIR/yield-while-iterating.rs:13:19 | LL | for p in &x { | ^ 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:58:20 | LL | let mut b = || { | -- mutable borrow occurs here LL | for p in &mut x { | - previous borrow occurs due to use of `x` in closure ... LL | println!("{}", x[0]); | ^ immutable borrow occurs here LL | Pin::new(&mut b).resume(); LL | } | - mutable borrow ends here error: aborting due to 2 previous errors Some errors occurred: E0502, E0626. For more information about an error, try `rustc --explain E0502`.