diff --git a/futures-util/src/async_await/join.rs b/futures-util/src/async_await/join.rs index a8f9d33fca..5d8d5b185d 100644 --- a/futures-util/src/async_await/join.rs +++ b/futures-util/src/async_await/join.rs @@ -32,11 +32,8 @@ macro_rules! join { await!($crate::future::poll_fn(move |cx| { let mut all_done = true; $( - if $crate::core_reexport::future::Future::poll( - unsafe { $crate::core_reexport::pin::Pin::new_unchecked(&mut $fut) }, cx).is_pending() - { - all_done = false; - } + all_done &= $crate::core_reexport::future::Future::poll( + unsafe { $crate::core_reexport::pin::Pin::new_unchecked(&mut $fut) }, cx).is_ready(); )* if all_done { $crate::core_reexport::task::Poll::Ready(($( diff --git a/futures-util/src/future/join.rs b/futures-util/src/future/join.rs index 5f49feec14..155562009c 100644 --- a/futures-util/src/future/join.rs +++ b/futures-util/src/future/join.rs @@ -47,15 +47,12 @@ macro_rules! generate { impl<$($Fut: Future),*> Future for $Join<$($Fut),*> { type Output = ($($Fut::Output),*); - #[allow(clippy::useless_let_if_seq)] fn poll( mut self: Pin<&mut Self>, cx: &mut Context<'_> ) -> Poll { let mut all_done = true; $( - if self.as_mut().$Fut().poll(cx).is_pending() { - all_done = false; - } + all_done &= self.as_mut().$Fut().poll(cx).is_ready(); )* if all_done { diff --git a/futures-util/src/try_future/try_join.rs b/futures-util/src/try_future/try_join.rs index 85e798ea6b..1756784ec8 100644 --- a/futures-util/src/try_future/try_join.rs +++ b/futures-util/src/try_future/try_join.rs @@ -68,7 +68,6 @@ macro_rules! generate { { type Output = Result<(Fut1::Ok, $($Fut::Ok),*), Fut1::Error>; - #[allow(clippy::useless_let_if_seq)] fn poll( mut self: Pin<&mut Self>, cx: &mut Context<'_> ) -> Poll {