rust/tests/ui/async-await/async-closures/wrong-fn-kind.rs

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

22 lines
487 B
Rust
Raw Permalink Normal View History

2024-01-25 17:43:35 +00:00
//@ edition:2021
2024-11-04 18:59:57 +00:00
fn needs_async_fn(_: impl AsyncFn()) {}
2024-01-25 17:43:35 +00:00
fn a() {
2024-01-25 17:43:35 +00:00
let mut x = 1;
needs_async_fn(async || {
//~^ ERROR cannot borrow `x` as mutable, as it is a captured variable in a `Fn` closure
2024-01-25 17:43:35 +00:00
x += 1;
});
}
fn b() {
let x = String::new();
needs_async_fn(move || async move {
2024-11-04 18:59:57 +00:00
//~^ ERROR expected a closure that implements the `AsyncFn` trait, but this closure only implements `AsyncFnOnce`
println!("{x}");
});
2024-01-25 17:43:35 +00:00
}
fn main() {}