• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 //! Await
2 //!
3 //! This module contains a number of functions and combinators for working
4 //! with `async`/`await` code.
5 
6 use futures_core::future::{Future, FusedFuture};
7 use futures_core::stream::{Stream, FusedStream};
8 
9 #[macro_use]
10 mod poll;
11 #[allow(unreachable_pub)] // https://github.com/rust-lang/rust/issues/64762
12 pub use self::poll::*;
13 
14 #[macro_use]
15 mod pending;
16 #[allow(unreachable_pub)] // https://github.com/rust-lang/rust/issues/64762
17 pub use self::pending::*;
18 
19 // Primary export is a macro
20 #[cfg(feature = "async-await-macro")]
21 mod join_mod;
22 #[allow(unreachable_pub)] // https://github.com/rust-lang/rust/issues/64762
23 #[cfg(feature = "async-await-macro")]
24 pub use self::join_mod::*;
25 
26 // Primary export is a macro
27 #[cfg(feature = "async-await-macro")]
28 mod select_mod;
29 #[allow(unreachable_pub)] // https://github.com/rust-lang/rust/issues/64762
30 #[cfg(feature = "async-await-macro")]
31 pub use self::select_mod::*;
32 
33 #[cfg(feature = "std")]
34 #[cfg(feature = "async-await-macro")]
35 mod random;
36 #[allow(unreachable_pub)] // https://github.com/rust-lang/rust/issues/64762
37 #[cfg(feature = "std")]
38 #[cfg(feature = "async-await-macro")]
39 pub use self::random::*;
40 
41 #[doc(hidden)]
42 #[inline(always)]
assert_unpin<T: Unpin>(_: &T)43 pub fn assert_unpin<T: Unpin>(_: &T) {}
44 
45 #[doc(hidden)]
46 #[inline(always)]
assert_fused_future<T: Future + FusedFuture>(_: &T)47 pub fn assert_fused_future<T: Future + FusedFuture>(_: &T) {}
48 
49 #[doc(hidden)]
50 #[inline(always)]
assert_fused_stream<T: Stream + FusedStream>(_: &T)51 pub fn assert_fused_stream<T: Stream + FusedStream>(_: &T) {}
52