diff --git a/futures-util/src/future/join.rs b/futures-util/src/future/join.rs index a8183433df..e65fe1f9e0 100644 --- a/futures-util/src/future/join.rs +++ b/futures-util/src/future/join.rs @@ -76,15 +76,6 @@ macro_rules! generate { generate! { /// Future for the [`join`](join()) function. (Join, ), - - /// Future for the [`join3`] function. - (Join3, ), - - /// Future for the [`join4`] function. - (Join4, ), - - /// Future for the [`join5`] function. - (Join5, ), } /// Joins the result of two futures, waiting for them both to complete. @@ -116,111 +107,3 @@ where let f = Join::new(future1, future2); assert_future::<(Fut1::Output, Fut2::Output), _>(f) } - -/// Same as [`join`](join()), but with more futures. -/// -/// # Examples -/// -/// ``` -/// # futures::executor::block_on(async { -/// use futures::future; -/// -/// let a = async { 1 }; -/// let b = async { 2 }; -/// let c = async { 3 }; -/// let tuple = future::join3(a, b, c); -/// -/// assert_eq!(tuple.await, (1, 2, 3)); -/// # }); -/// ``` -pub fn join3( - future1: Fut1, - future2: Fut2, - future3: Fut3, -) -> Join3 -where - Fut1: Future, - Fut2: Future, - Fut3: Future, -{ - let f = Join3::new(future1, future2, future3); - assert_future::<(Fut1::Output, Fut2::Output, Fut3::Output), _>(f) -} - -/// Same as [`join`](join()), but with more futures. -/// -/// # Examples -/// -/// ``` -/// # futures::executor::block_on(async { -/// use futures::future; -/// -/// let a = async { 1 }; -/// let b = async { 2 }; -/// let c = async { 3 }; -/// let d = async { 4 }; -/// let tuple = future::join4(a, b, c, d); -/// -/// assert_eq!(tuple.await, (1, 2, 3, 4)); -/// # }); -/// ``` -pub fn join4( - future1: Fut1, - future2: Fut2, - future3: Fut3, - future4: Fut4, -) -> Join4 -where - Fut1: Future, - Fut2: Future, - Fut3: Future, - Fut4: Future, -{ - let f = Join4::new(future1, future2, future3, future4); - assert_future::<(Fut1::Output, Fut2::Output, Fut3::Output, Fut4::Output), _>(f) -} - -/// Same as [`join`](join()), but with more futures. -/// -/// # Examples -/// -/// ``` -/// # futures::executor::block_on(async { -/// use futures::future; -/// -/// let a = async { 1 }; -/// let b = async { 2 }; -/// let c = async { 3 }; -/// let d = async { 4 }; -/// let e = async { 5 }; -/// let tuple = future::join5(a, b, c, d, e); -/// -/// assert_eq!(tuple.await, (1, 2, 3, 4, 5)); -/// # }); -/// ``` -pub fn join5( - future1: Fut1, - future2: Fut2, - future3: Fut3, - future4: Fut4, - future5: Fut5, -) -> Join5 -where - Fut1: Future, - Fut2: Future, - Fut3: Future, - Fut4: Future, - Fut5: Future, -{ - let f = Join5::new(future1, future2, future3, future4, future5); - assert_future::< - ( - Fut1::Output, - Fut2::Output, - Fut3::Output, - Fut4::Output, - Fut5::Output, - ), - _, - >(f) -} diff --git a/futures-util/src/future/mod.rs b/futures-util/src/future/mod.rs index 84e457c2f5..f30d0e459b 100644 --- a/futures-util/src/future/mod.rs +++ b/futures-util/src/future/mod.rs @@ -72,7 +72,7 @@ mod ready; pub use self::ready::{err, ok, ready, Ready}; mod join; -pub use self::join::{join, join3, join4, join5, Join, Join3, Join4, Join5}; +pub use self::join::{join, Join}; #[cfg(feature = "alloc")] mod join_all; @@ -88,9 +88,7 @@ mod select_all; pub use self::select_all::{select_all, SelectAll}; mod try_join; -pub use self::try_join::{ - try_join, try_join3, try_join4, try_join5, TryJoin, TryJoin3, TryJoin4, TryJoin5, -}; +pub use self::try_join::{try_join, TryJoin}; #[cfg(feature = "alloc")] mod try_join_all; diff --git a/futures-util/src/future/try_join.rs b/futures-util/src/future/try_join.rs index 6af1f0ccbf..b84effc55b 100644 --- a/futures-util/src/future/try_join.rs +++ b/futures-util/src/future/try_join.rs @@ -92,15 +92,6 @@ macro_rules! generate { generate! { /// Future for the [`try_join`](try_join()) function. (TryJoin, ), - - /// Future for the [`try_join3`] function. - (TryJoin3, ), - - /// Future for the [`try_join4`] function. - (TryJoin4, ), - - /// Future for the [`try_join5`] function. - (TryJoin5, ), } /// Joins the result of two futures, waiting for them both to complete or @@ -152,105 +143,3 @@ where { assert_future::, _>(TryJoin::new(future1, future2)) } - -/// Same as [`try_join`](try_join()), but with more futures. -/// -/// # Examples -/// -/// ``` -/// # futures::executor::block_on(async { -/// use futures::future; -/// -/// let a = future::ready(Ok::(1)); -/// let b = future::ready(Ok::(2)); -/// let c = future::ready(Ok::(3)); -/// let tuple = future::try_join3(a, b, c); -/// -/// assert_eq!(tuple.await, Ok((1, 2, 3))); -/// # }); -/// ``` -pub fn try_join3( - future1: Fut1, - future2: Fut2, - future3: Fut3, -) -> TryJoin3 -where - Fut1: TryFuture, - Fut2: TryFuture, - Fut3: TryFuture, -{ - assert_future::, _>(TryJoin3::new( - future1, future2, future3, - )) -} - -/// Same as [`try_join`](try_join()), but with more futures. -/// -/// # Examples -/// -/// ``` -/// # futures::executor::block_on(async { -/// use futures::future; -/// -/// let a = future::ready(Ok::(1)); -/// let b = future::ready(Ok::(2)); -/// let c = future::ready(Ok::(3)); -/// let d = future::ready(Ok::(4)); -/// let tuple = future::try_join4(a, b, c, d); -/// -/// assert_eq!(tuple.await, Ok((1, 2, 3, 4))); -/// # }); -/// ``` -pub fn try_join4( - future1: Fut1, - future2: Fut2, - future3: Fut3, - future4: Fut4, -) -> TryJoin4 -where - Fut1: TryFuture, - Fut2: TryFuture, - Fut3: TryFuture, - Fut4: TryFuture, -{ - assert_future::, _>( - TryJoin4::new(future1, future2, future3, future4), - ) -} - -/// Same as [`try_join`](try_join()), but with more futures. -/// -/// # Examples -/// -/// ``` -/// # futures::executor::block_on(async { -/// use futures::future; -/// -/// let a = future::ready(Ok::(1)); -/// let b = future::ready(Ok::(2)); -/// let c = future::ready(Ok::(3)); -/// let d = future::ready(Ok::(4)); -/// let e = future::ready(Ok::(5)); -/// let tuple = future::try_join5(a, b, c, d, e); -/// -/// assert_eq!(tuple.await, Ok((1, 2, 3, 4, 5))); -/// # }); -/// ``` -pub fn try_join5( - future1: Fut1, - future2: Fut2, - future3: Fut3, - future4: Fut4, - future5: Fut5, -) -> TryJoin5 -where - Fut1: TryFuture, - Fut2: TryFuture, - Fut3: TryFuture, - Fut4: TryFuture, - Fut5: TryFuture, -{ - assert_future::, _>( - TryJoin5::new(future1, future2, future3, future4, future5), - ) -} diff --git a/futures/tests/sink_fanout.rs b/futures/tests/sink_fanout.rs index e57b2d8c7b..557ba14e99 100644 --- a/futures/tests/sink_fanout.rs +++ b/futures/tests/sink_fanout.rs @@ -1,6 +1,6 @@ use futures::channel::mpsc; use futures::executor::block_on; -use futures::future::join3; +use futures::join; use futures::sink::SinkExt; use futures::stream::{self, StreamExt}; @@ -15,7 +15,7 @@ fn it_works() { let collect_fut1 = rx1.collect::>(); let collect_fut2 = rx2.collect::>(); - let (_, vec1, vec2) = block_on(join3(fwd, collect_fut1, collect_fut2)); + let (_, vec1, vec2) = block_on(async move { join!(fwd, collect_fut1, collect_fut2)}); let expected = (0..10).collect::>();