stream: add track_caller to public APIs (#4786)

Functions that may panic can be annotated with `#[track_caller]` so that
in the event of a panic, the function where the user called the
panicking function is shown instead of the file and line within Tokio
source.

This change adds `#[track_caller]` to all the non-unstable public APIs
in tokio-stream (only `chunks_timeout` in `StreamExt`) where the
documentation describes how this function may panic due to incorrect
input.

A test has been included to cover the panic.

Refs: #4413
This commit is contained in:
Hayden Stainsby
2022-06-22 17:27:23 +00:00
committed by GitHub
parent 159508b916
commit 485ca3e37c
3 changed files with 57 additions and 0 deletions
+1
View File
@@ -1056,6 +1056,7 @@ pub trait StreamExt: Stream {
/// ```
#[cfg(feature = "time")]
#[cfg_attr(docsrs, doc(cfg(feature = "time")))]
#[track_caller]
fn chunks_timeout(self, max_size: usize, duration: Duration) -> ChunksTimeout<Self>
where
Self: Sized,