about summary refs log tree commit diff
path: root/src/libstd/io/buffered.rs
diff options
context:
space:
mode:
authorSteven Fackler <sfackler@gmail.com>2019-02-11 19:31:37 -0800
committerSteven Fackler <sfackler@gmail.com>2019-02-13 19:40:17 -0800
commit596f18201c7863d8b02fe6fa1872cf3ba2b6b381 (patch)
tree1b152d89591c590eb92bf1b18591836e88ccf347 /src/libstd/io/buffered.rs
parent31bcec648aa57391115f877a2ca022d7ff6415aa (diff)
downloadrust-596f18201c7863d8b02fe6fa1872cf3ba2b6b381.tar.gz
rust-596f18201c7863d8b02fe6fa1872cf3ba2b6b381.zip
impl Deref/DerefMut for IoVec types
Returning &'a mut [u8] was unsound, and we may as well just have them
directly deref to their slices to make it easier to work with them.
Diffstat (limited to 'src/libstd/io/buffered.rs')
-rw-r--r--src/libstd/io/buffered.rs4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/libstd/io/buffered.rs b/src/libstd/io/buffered.rs
index a5edc4360ca..d8a5f5a4d8c 100644
--- a/src/libstd/io/buffered.rs
+++ b/src/libstd/io/buffered.rs
@@ -236,7 +236,7 @@ impl<R: Read> Read for BufReader<R> {
     }
 
     fn read_vectored(&mut self, bufs: &mut [IoVecMut<'_>]) -> io::Result<usize> {
-        let total_len = bufs.iter().map(|b| b.as_slice().len()).sum::<usize>();
+        let total_len = bufs.iter().map(|b| b.len()).sum::<usize>();
         if self.pos == self.cap && total_len >= self.buf.len() {
             return self.inner.read_vectored(bufs);
         }
@@ -595,7 +595,7 @@ impl<W: Write> Write for BufWriter<W> {
     }
 
     fn write_vectored(&mut self, bufs: &[IoVec<'_>]) -> io::Result<usize> {
-        let total_len = bufs.iter().map(|b| b.as_slice().len()).sum::<usize>();
+        let total_len = bufs.iter().map(|b| b.len()).sum::<usize>();
         if self.buf.len() + total_len > self.buf.capacity() {
             self.flush_buf()?;
         }