| error[E0373]: gen block may outlive the current function, but it borrows `x`, which is owned by the current function |
| --> $DIR/gen_block_move.rs:7:5 |
| | |
| LL | / gen { |
| LL | | yield 42; |
| LL | | if x == "foo" { return } |
| LL | | x.clear(); |
| | | - `x` is borrowed here |
| LL | | for x in 3..6 { yield x } |
| LL | | } |
| | |_____^ may outlive borrowed value `x` |
| | |
| note: gen block is returned here |
| --> $DIR/gen_block_move.rs:7:5 |
| | |
| LL | / gen { |
| LL | | yield 42; |
| LL | | if x == "foo" { return } |
| LL | | x.clear(); |
| LL | | for x in 3..6 { yield x } |
| LL | | } |
| | |_____^ |
| help: to force the gen block to take ownership of `x` (and any other referenced variables), use the `move` keyword |
| | |
| LL | gen move { |
| | ++++ |
| |
| error: aborting due to previous error |
| |
| For more information about this error, try `rustc --explain E0373`. |