//@ 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()); }