1pub mod cancel;
7pub mod clock;
8pub mod sleep;
9pub mod task;
10pub mod timeout;
11
12pub use cancel::CancellationToken;
13pub use clock::{now, timestamp_secs, Instant, SystemTime, UNIX_EPOCH};
14pub use sleep::sleep;
15pub use task::spawn;
16pub use timeout::{timeout, Elapsed};
17
18#[cfg(not(target_arch = "wasm32"))]
21pub trait MaybeSend: Send {}
22#[cfg(not(target_arch = "wasm32"))]
23impl<T: Send> MaybeSend for T {}
24
25#[cfg(target_arch = "wasm32")]
28pub trait MaybeSend {}
29#[cfg(target_arch = "wasm32")]
30impl<T> MaybeSend for T {}
31
32#[cfg(not(target_arch = "wasm32"))]
34pub trait MaybeSync: Sync {}
35#[cfg(not(target_arch = "wasm32"))]
36impl<T: Sync> MaybeSync for T {}
37
38#[cfg(target_arch = "wasm32")]
40pub trait MaybeSync {}
41#[cfg(target_arch = "wasm32")]
42impl<T> MaybeSync for T {}