async_macros/
lib.rs

1//! Macros for async-std.
2//!
3//! # Examples
4//!
5//! ```
6//! # futures::executor::block_on(async {
7//! use async_macros::join;
8//! use futures::future;
9//!
10//! let a = future::ready(1u8);
11//! let b = future::ready(2u8);
12//!
13//! assert_eq!(join!(a, b).await, (1, 2));
14//! # });
15//! ```
16
17#![forbid(future_incompatible, rust_2018_idioms)]
18#![deny(missing_debug_implementations, nonstandard_style)]
19#![warn(missing_docs, unreachable_pub)]
20#![cfg_attr(test, deny(warnings))]
21
22mod join;
23mod join_stream;
24mod maybe_done;
25mod poll_fn;
26mod ready;
27mod select;
28mod try_join;
29mod try_select;
30
31pub use join_stream::JoinStream;
32pub use maybe_done::MaybeDone;
33
34/// Helper re-exports for use in macros.
35pub mod utils {
36    pub use super::poll_fn::poll_fn;
37    pub use core::{future, pin, result, task};
38}