From da2cd6b6ccfba08cd582603daac5ff54827d4b6c Mon Sep 17 00:00:00 2001 From: jean-airoldie <25088801+jean-airoldie@users.noreply.github.com> Date: Fri, 8 Nov 2019 21:40:51 -0500 Subject: [PATCH] Added FusedStream impl to Buffered --- futures-util/src/stream/stream/buffered.rs | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/futures-util/src/stream/stream/buffered.rs b/futures-util/src/stream/stream/buffered.rs index 2445a85c52..bdbfa0b6ae 100644 --- a/futures-util/src/stream/stream/buffered.rs +++ b/futures-util/src/stream/stream/buffered.rs @@ -1,4 +1,4 @@ -use crate::stream::{Fuse, FuturesOrdered, StreamExt}; +use crate::stream::{Fuse, FuturesOrdered, StreamExt, FusedStream}; use futures_core::future::Future; use futures_core::stream::Stream; use futures_core::task::{Context, Poll}; @@ -40,6 +40,16 @@ where } } +impl FusedStream for Buffered +where + St: FusedStream, + St::Item: Future, +{ + fn is_terminated(&self) -> bool { + self.stream.is_terminated() && self.in_progress_queue.is_empty() + } +} + impl Buffered where St: Stream,