Skip to content

Commit

Permalink
Unrolled build for rust-lang#116807
Browse files Browse the repository at this point in the history
Rollup merge of rust-lang#116807 - seanlinsley:patch-2, r=thomcc

Improve rewind documentation

The persistent use of an internal cursor for readers is expected for buffer data types that aren't read all at once, but for files it leads to the confusing situation where calling `read_to_end` on the same file handle multiple times only returns the contents of the file for the first call. This PR adds a note to the documentation clarifying that in that case, `rewind()` must first be called.

I'm unsure if this is the right location for the docs update. Maybe it should also be duplicated on `File`?
  • Loading branch information
rust-timer authored Nov 24, 2023
2 parents 8abf920 + 1fb0033 commit 514c980
Showing 1 changed file with 4 additions and 0 deletions.
4 changes: 4 additions & 0 deletions library/std/src/io/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -556,6 +556,10 @@ where
/// therefore, using something that implements [`BufRead`], such as
/// [`BufReader`], will be more efficient.
///
/// Repeated calls to the reader use the same cursor, so for example
/// calling `read_to_end` twice on a [`File`] will only return the file's
/// contents once. It's recommended to first call `rewind()` in that case.
///
/// # Examples
///
/// [`File`]s implement `Read`:
Expand Down

0 comments on commit 514c980

Please sign in to comment.