1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
pub(crate) mod array;
pub(crate) mod tuple;
pub(crate) mod vec;
/// Wait for all futures to complete.
///
/// Awaits multiple futures simultaneously, returning the output of the futures
/// once both complete.
#[async_trait::async_trait(?Send)]
pub trait Merge {
/// The resulting output type.
type Output;
/// Waits for multiple futures to complete.
///
/// Awaits multiple futures simultaneously, returning the output of the
/// futures once both complete.
///
/// This function returns a new future which polls both futures
/// concurrently.
async fn merge(self) -> Self::Output;
}