diff options
| author | ginnyTheCat <ginnythecat@lelux.net> | 2025-08-06 16:52:43 +0200 |
|---|---|---|
| committer | ginnyTheCat <ginnythecat@lelux.net> | 2025-08-06 16:52:43 +0200 |
| commit | a7e8fe73111a96871feadda1eefa2b3f616cdb8e (patch) | |
| tree | 2fc6556249d01d4a9b282f0ca9c4a354aa6aa750 | |
| parent | dc0bae1db725fbba8524f195f74f680995fd549e (diff) | |
| download | rust-a7e8fe73111a96871feadda1eefa2b3f616cdb8e.tar.gz rust-a7e8fe73111a96871feadda1eefa2b3f616cdb8e.zip | |
Clarify EOF handling for `BufRead::skip_until`
| -rw-r--r-- | library/std/src/io/mod.rs | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/library/std/src/io/mod.rs b/library/std/src/io/mod.rs index d351ee5e739..ff0e29e04c2 100644 --- a/library/std/src/io/mod.rs +++ b/library/std/src/io/mod.rs @@ -2461,7 +2461,7 @@ pub trait BufRead: Read { /// delimiter or EOF is found. /// /// If successful, this function will return the total number of bytes read, - /// including the delimiter byte. + /// including the delimiter byte if found. /// /// This is useful for efficiently skipping data such as NUL-terminated strings /// in binary file formats without buffering. @@ -2489,7 +2489,7 @@ pub trait BufRead: Read { /// ``` /// use std::io::{self, BufRead}; /// - /// let mut cursor = io::Cursor::new(b"Ferris\0Likes long walks on the beach\0Crustacean\0"); + /// let mut cursor = io::Cursor::new(b"Ferris\0Likes long walks on the beach\0Crustacean\0!"); /// /// // read name /// let mut name = Vec::new(); @@ -2509,6 +2509,11 @@ pub trait BufRead: Read { /// .expect("reading from cursor won't fail"); /// assert_eq!(num_bytes, 11); /// assert_eq!(animal, b"Crustacean\0"); + /// + /// // reach EOF + /// let num_bytes = cursor.skip_until(b'\0') + /// .expect("reading from cursor won't fail"); + /// assert_eq!(num_bytes, 1); /// ``` #[stable(feature = "bufread_skip_until", since = "1.83.0")] fn skip_until(&mut self, byte: u8) -> Result<usize> { |
