| error[E0525]: expected a closure that implements the `AsyncFn` trait, but this closure only implements `AsyncFnMut` |
| --> $DIR/kind-due-to-arg-with-box-wrap.rs:13:32 |
| | |
| LL | takes_asyncfn(Box::new(async || self.an_async_fn().await)); |
| | ------------- ---------^^^^^^^^-------------------------- |
| | | | | | |
| | | | | closure is `AsyncFnMut` because it mutates the variable `*self` here |
| | | | this closure implements `AsyncFnMut`, not `AsyncFn` |
| | | the requirement to implement `AsyncFn` derives from here |
| | required by a bound introduced by this call |
| | |
| = note: required for `Box<{async closure@$DIR/kind-due-to-arg-with-box-wrap.rs:13:32: 13:40}>` to implement `AsyncFn()` |
| note: required by a bound in `takes_asyncfn` |
| --> $DIR/kind-due-to-arg-with-box-wrap.rs:18:32 |
| | |
| LL | async fn takes_asyncfn(_: impl AsyncFn()) { |
| | ^^^^^^^^^ required by this bound in `takes_asyncfn` |
| |
| error: aborting due to 1 previous error |
| |
| For more information about this error, try `rustc --explain E0525`. |