about summary refs log tree commit diff
path: root/src/libstd/io
diff options
context:
space:
mode:
authorJeremy Soller <jackpot51@gmail.com>2016-11-19 20:31:42 -0700
committerJeremy Soller <jackpot51@gmail.com>2016-11-19 20:31:42 -0700
commitae2029fc62d744e252a5a077ce0dfbf2d1683d25 (patch)
tree8b7a0aebcf10870fd331c8d76dc00f19091b2713 /src/libstd/io
parent2556400a5d4c9b56084332c29b6c91ac5cd3a9fa (diff)
parent0bd2ce62b27e2b9a7dfe92fc23d9098854008089 (diff)
downloadrust-ae2029fc62d744e252a5a077ce0dfbf2d1683d25.tar.gz
rust-ae2029fc62d744e252a5a077ce0dfbf2d1683d25.zip
Merge branch 'master' into redox
Diffstat (limited to 'src/libstd/io')
-rw-r--r--src/libstd/io/buffered.rs5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/libstd/io/buffered.rs b/src/libstd/io/buffered.rs
index 44dd4e9874a..cd7a50d07e2 100644
--- a/src/libstd/io/buffered.rs
+++ b/src/libstd/io/buffered.rs
@@ -187,7 +187,10 @@ impl<R: Read> BufRead for BufReader<R> {
     fn fill_buf(&mut self) -> io::Result<&[u8]> {
         // If we've reached the end of our internal buffer then we need to fetch
         // some more data from the underlying reader.
-        if self.pos == self.cap {
+        // Branch using `>=` instead of the more correct `==`
+        // to tell the compiler that the pos..cap slice is always valid.
+        if self.pos >= self.cap {
+            debug_assert!(self.pos == self.cap);
             self.cap = self.inner.read(&mut self.buf)?;
             self.pos = 0;
         }