28 lines
424 B
Rust
28 lines
424 B
Rust
//@ aux-build:block-on.rs
|
|
//@ edition:2021
|
|
//@ run-pass
|
|
//@ check-run-results
|
|
|
|
#![feature(async_closure)]
|
|
|
|
extern crate block_on;
|
|
|
|
async fn call_once(f: impl async FnOnce()) {
|
|
f().await;
|
|
}
|
|
|
|
async fn async_main() {
|
|
let x = &mut 0;
|
|
let y = &mut 0;
|
|
let c = async || {
|
|
*x = 1;
|
|
*y = 2;
|
|
};
|
|
call_once(c).await;
|
|
println!("{x} {y}");
|
|
}
|
|
|
|
fn main() {
|
|
block_on::block_on(async_main());
|
|
}
|