| // This is a regression test for <https://github.com/rust-lang/rust/issues/139839>. |
| // It ensures that the "add `move` keyword" suggestion is valid. |
| |
| //@ run-rustfix |
| //@ edition:2024 |
| |
| #![feature(coroutines)] |
| #![feature(gen_blocks)] |
| #![feature(async_iterator)] |
| |
| use std::async_iter::AsyncIterator; |
| |
| #[allow(dead_code)] |
| fn moved() -> impl AsyncIterator<Item = u32> { |
| let mut x = "foo".to_string(); |
| |
| async gen move { //~ ERROR |
| x.clear(); |
| for x in 3..6 { yield x } |
| } |
| } |
| |
| #[allow(dead_code)] |
| fn check_with_whitespace_chars() -> impl AsyncIterator<Item = u32> { |
| let mut x = "foo".to_string(); |
| |
| async // Just to check that whitespace characters are correctly handled |
| gen move { //~^ ERROR |
| x.clear(); |
| for x in 3..6 { yield x } |
| } |
| } |
| |
| fn main() { |
| } |