1//! The async prelude.
2//!
3//! The prelude re-exports most commonly used traits and macros from this crate.
4//!
5//! # Examples
6//!
7//! Import the prelude with:
8//!
9//! ```
10//! # #[allow(unused_imports)]
11//! use async_std::prelude::*;
12//! ```
13
14cfg_std! {
15 #[doc(no_inline)]
16 pub use std::future::Future;
17 #[doc(no_inline)]
18 pub use crate::stream::Stream;
19
20 #[doc(inline)]
21 pub use crate::future::future::FutureExt;
22 #[doc(inline)]
23 pub use crate::stream::stream::StreamExt;
24 #[doc(no_inline)]
25 pub use crate::io::BufRead as _;
26 #[doc(no_inline)]
27 pub use crate::io::Read as _;
28 #[doc(no_inline)]
29 pub use crate::io::Seek as _;
30 #[doc(no_inline)]
31 pub use crate::io::Write as _;
32
33 #[doc(no_inline)]
34 pub use crate::io::prelude::BufReadExt as _;
35 #[doc(no_inline)]
36 pub use crate::io::prelude::ReadExt as _;
37 #[doc(no_inline)]
38 pub use crate::io::prelude::SeekExt as _;
39 #[doc(no_inline)]
40 pub use crate::io::prelude::WriteExt as _;
41}
42
43cfg_default! {
44 #[doc(no_inline)]
45 pub use crate::task_local;
46}
47
48cfg_unstable! {
49 #[doc(no_inline)]
50 pub use crate::stream::DoubleEndedStream;
51 #[doc(no_inline)]
52 pub use crate::stream::ExactSizeStream;
53}
54