blob: 3d6f856874f2c143e9caaf0cc3ec256f7643dc2a [file] [log] [blame] [edit]
//@ edition:2021
#![feature(async_closure)]
fn needs_async_fn(_: impl async Fn()) {}
fn a() {
let mut x = 1;
needs_async_fn(async || {
//~^ ERROR cannot borrow `x` as mutable, as it is a captured variable in a `Fn` closure
x += 1;
});
}
fn b() {
let x = String::new();
needs_async_fn(move || async move {
//~^ ERROR expected a closure that implements the `async Fn` trait, but this closure only implements `async FnOnce`
println!("{x}");
});
}
fn main() {}