blob: 2aed6dc6d809f6ada2a1bcfa9ee484b52d78ac0d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
//@ edition:2021
fn needs_async_fn(_: impl AsyncFn()) {}
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 `AsyncFn` trait, but this closure only implements `AsyncFnOnce`
println!("{x}");
});
}
fn main() {}
|