mirror of
https://github.com/rust-lang/rust.git
synced 2026-05-31 13:40:15 +03:00
24 lines
557 B
Rust
24 lines
557 B
Rust
// Regression test for <https://github.com/rust-lang/rust/issues/151135>.
|
|
|
|
//@ 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);
|
|
}
|