ufut
macro_rules! zip { ($($es:expr),+ $(,)?) => { ... }; (@flatten; $($prev:expr,)*; $tuple:expr; $e:expr) => { ... }; (@flatten; $($prev:expr,)*; $tuple:expr; $e:expr, $($es:expr),+) => { ... }; }
Zips arbitrarily many futures, waiting for all to complete.
use futures_micro::zip; let a = async { 1 }; let b = async { 2 }; assert_eq!(zip!(a, b).await, (1, 2));