stream: implement Peekable::size_hint (#8109)

This commit is contained in:
Rachit2323
2026-07-13 13:00:59 +02:00
committed by GitHub
parent fe258f5e6d
commit 4638b65f9c
2 changed files with 131 additions and 0 deletions
+8
View File
@@ -47,4 +47,12 @@ impl<T: Stream> Stream for Peekable<T> {
this.stream.poll_next(cx)
}
}
fn size_hint(&self) -> (usize, Option<usize>) {
let peek_len = if self.peek.is_some() { 1 } else { 0 };
let (lo, hi) = self.stream.size_hint();
let lo = lo.saturating_add(peek_len);
let hi = hi.and_then(|x| x.checked_add(peek_len));
(lo, hi)
}
}