diff options
| author | Benoît du Garreau <bdgdlm@outlook.com> | 2024-05-22 11:37:02 +0200 |
|---|---|---|
| committer | Benoît du Garreau <bdgdlm@outlook.com> | 2024-09-23 22:51:27 +0200 |
| commit | ba3b536e204df7108def541a86bbe5d7d599cfbb (patch) | |
| tree | f13ed91901b5133c7a0cdc9fa4ba95df504dd317 | |
| parent | 9d6039ccae68a2f1930ed9c1542d387b2c0c0ba6 (diff) | |
| download | rust-ba3b536e204df7108def541a86bbe5d7d599cfbb.tar.gz rust-ba3b536e204df7108def541a86bbe5d7d599cfbb.zip | |
Fix `io::Take::read_buf`
| -rw-r--r-- | library/std/src/io/mod.rs | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/library/std/src/io/mod.rs b/library/std/src/io/mod.rs index 0b57d01f273..98e7b40bdc6 100644 --- a/library/std/src/io/mod.rs +++ b/library/std/src/io/mod.rs @@ -2941,7 +2941,7 @@ impl<T: Read> Read for Take<T> { } let mut cursor = sliced_buf.unfilled(); - self.inner.read_buf(cursor.reborrow())?; + let result = self.inner.read_buf(cursor.reborrow()); let new_init = cursor.init_ref().len(); let filled = sliced_buf.len(); @@ -2956,13 +2956,14 @@ impl<T: Read> Read for Take<T> { } self.limit -= filled as u64; + + result } else { let written = buf.written(); - self.inner.read_buf(buf.reborrow())?; + let result = self.inner.read_buf(buf.reborrow()); self.limit -= (buf.written() - written) as u64; + result } - - Ok(()) } } |
