Skip to content

Commit 74d6d80

Browse files
authored
Implement FusedStream for FuturesOrdered (#2205)
1 parent ac7b43f commit 74d6d80

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

futures-util/src/stream/futures_ordered.rs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
use crate::stream::{FuturesUnordered, StreamExt};
22
use futures_core::future::Future;
33
use futures_core::stream::Stream;
4-
use futures_core::task::{Context, Poll};
4+
use futures_core::{FusedStream, task::{Context, Poll}};
55
use pin_project::pin_project;
66
use core::cmp::Ordering;
77
use core::fmt::{self, Debug};
@@ -203,6 +203,12 @@ impl<Fut: Future> FromIterator<Fut> for FuturesOrdered<Fut> {
203203
}
204204
}
205205

206+
impl<Fut: Future> FusedStream for FuturesOrdered<Fut> {
207+
fn is_terminated(&self) -> bool {
208+
self.in_progress_queue.is_terminated() && self.queued_outputs.is_empty()
209+
}
210+
}
211+
206212
impl<Fut: Future> Extend<Fut> for FuturesOrdered<Fut> {
207213
fn extend<I>(&mut self, iter: I)
208214
where

0 commit comments

Comments
 (0)