rust/tests/ui/async-await/async-closures/mut-ref-reborrow.rs

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

26 lines
479 B
Rust
Raw Permalink Normal View History

//@ aux-build:block-on.rs
//@ run-pass
//@ check-run-results
//@ revisions: e2021 e2018
//@[e2018] edition:2018
//@[e2021] edition:2021
extern crate block_on;
2024-11-04 18:59:57 +00:00
async fn call_once(f: impl AsyncFnOnce()) { f().await; }
pub async fn async_closure(x: &mut i32) {
let c = async move || {
*x += 1;
};
call_once(c).await;
}
fn main() {
block_on::block_on(async {
let mut x = 0;
async_closure(&mut x).await;
assert_eq!(x, 1);
});
}