// Regression test for . //@ edition: 2021 //@ aux-build: executor.rs extern crate executor; use std::sync::atomic::{AtomicUsize, Ordering}; static STEPS: AtomicUsize = AtomicUsize::new(0); async fn call_once(f: impl AsyncFnOnce()) { f().await; } pub fn main() { let async_closure = async || { STEPS.fetch_add(1, Ordering::SeqCst); STEPS.fetch_add(1, Ordering::SeqCst); }; executor::block_on(call_once(async_closure)); assert_eq!(STEPS.load(Ordering::SeqCst), 2); }