From 5cb830397e8493f4bf923b411ec378cd00ce28f9 Mon Sep 17 00:00:00 2001 From: Steven Fackler Date: Mon, 11 Jan 2021 17:13:50 -0500 Subject: [PATCH] make check a bit more clear --- library/std/src/io/mod.rs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/library/std/src/io/mod.rs b/library/std/src/io/mod.rs index a054c434d073..af570ac6e30b 100644 --- a/library/std/src/io/mod.rs +++ b/library/std/src/io/mod.rs @@ -384,14 +384,15 @@ where } } - match r.read(&mut g.buf[g.len..]) { + let buf = &mut g.buf[g.len..]; + match r.read(buf) { Ok(0) => return Ok(g.len - start_len), Ok(n) => { // We can't let g.len overflow which would result in the vec shrinking when the function returns. In // particular, that could break read_to_string if the shortened buffer doesn't end on a UTF-8 boundary. // The minimal check would just be a checked_add, but this assert is a bit more precise and should be // just about the same cost. - assert!(n <= g.buf.len() - g.len); + assert!(n <= buf.len()); g.len += n; } Err(ref e) if e.kind() == ErrorKind::Interrupted => {}