//! Tools for working with tasks. #![cfg_attr(not(feature = "std"), no_std)] #![warn(missing_debug_implementations, missing_docs, rust_2018_idioms, unreachable_pub)] // It cannot be included in the published code because this lints have false positives in the minimum required version. #![cfg_attr(test, warn(single_use_lifetimes))] #![doc(test( no_crate_inject, attr( deny(warnings, rust_2018_idioms, single_use_lifetimes), allow(dead_code, unused_assignments, unused_variables) ) ))] #[cfg(feature = "alloc")] extern crate alloc; mod spawn; pub use crate::spawn::{LocalSpawn, Spawn, SpawnError}; #[cfg(not(futures_no_atomic_cas))] #[cfg(feature = "alloc")] mod arc_wake; #[cfg(not(futures_no_atomic_cas))] #[cfg(feature = "alloc")] pub use crate::arc_wake::ArcWake; #[cfg(not(futures_no_atomic_cas))] #[cfg(feature = "alloc")] mod waker; #[cfg(not(futures_no_atomic_cas))] #[cfg(feature = "alloc")] pub use crate::waker::waker; #[cfg(not(futures_no_atomic_cas))] #[cfg(feature = "alloc")] mod waker_ref; #[cfg(not(futures_no_atomic_cas))] #[cfg(feature = "alloc")] pub use crate::waker_ref::{waker_ref, WakerRef}; mod future_obj; pub use crate::future_obj::{FutureObj, LocalFutureObj, UnsafeFutureObj}; mod noop_waker; pub use crate::noop_waker::noop_waker; pub use crate::noop_waker::noop_waker_ref; #[doc(no_inline)] pub use core::task::{Context, Poll, RawWaker, RawWakerVTable, Waker};