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 
14 cfg_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 
43 cfg_default! {
44     #[doc(no_inline)]
45     pub use crate::task_local;
46 }
47 
48 cfg_unstable! {
49     #[doc(no_inline)]
50     pub use crate::stream::DoubleEndedStream;
51     #[doc(no_inline)]
52     pub use crate::stream::ExactSizeStream;
53 }
54