1//! Core traits and types for asynchronous operations in Rust.
2
3#![cfg_attr(not(feature = "std"), no_std)]
4#![warn(missing_debug_implementations, missing_docs, rust_2018_idioms, unreachable_pub)]
5// It cannot be included in the published code because this lints have false positives in the minimum required version.
6#![cfg_attr(test, warn(single_use_lifetimes))]
7#![doc(test(
8 no_crate_inject,
9 attr(
10 deny(warnings, rust_2018_idioms, single_use_lifetimes),
11 allow(dead_code, unused_assignments, unused_variables)
12 )
13))]
14
15#[cfg(feature = "alloc")]
16extern crate alloc;
17
18pub mod future;
19#[doc(no_inline)]
20pub use self::future::{FusedFuture, Future, TryFuture};
21
22pub mod stream;
23#[doc(no_inline)]
24pub use self::stream::{FusedStream, Stream, TryStream};
25
26#[macro_use]
27pub mod task;
28