| //@ edition: 2021 | |
| use std::future::Future; | |
| async fn bop() { | |
| fold(run(), |mut foo| async move { | |
| &mut foo.bar; | |
| }) | |
| } | |
| fn fold<Fut, F, U>(_: Foo<U>, f: F) | |
| where | |
| F: FnMut(Foo<U>) -> Fut, | |
| { | |
| loop {} | |
| } | |
| struct Foo<F> { | |
| bar: Vec<F>, | |
| } | |
| fn run() -> Foo<impl Future<Output = ()>> { | |
| //~^ ERROR type annotations needed | |
| loop {} | |
| } | |
| fn main() {} |