tokio-stream: implement FusedStream for Fuse (#8090)

This commit is contained in:
stormshield-fabs
2026-04-28 17:33:54 +02:00
committed by GitHub
parent dc0f728162
commit 47cc31590f
2 changed files with 17 additions and 0 deletions
+7
View File
@@ -1,3 +1,4 @@
use futures_core::FusedStream;
use tokio_stream::{Stream, StreamExt};
use std::pin::Pin;
@@ -37,16 +38,22 @@ async fn basic_usage() {
// however, once it is fused
let mut stream = stream.fuse();
assert!(!stream.is_terminated());
assert_eq!(stream.size_hint(), (0, None));
assert_eq!(stream.next().await, Some(4));
assert!(!stream.is_terminated());
assert_eq!(stream.size_hint(), (0, None));
assert_eq!(stream.next().await, None);
assert!(stream.is_terminated());
// it will always return `None` after the first time.
assert_eq!(stream.size_hint(), (0, Some(0)));
assert_eq!(stream.next().await, None);
assert_eq!(stream.size_hint(), (0, Some(0)));
assert!(stream.is_terminated());
}
#[tokio::test]