diff options
Diffstat (limited to 'src/libstd/io/impls.rs')
| -rw-r--r-- | src/libstd/io/impls.rs | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/src/libstd/io/impls.rs b/src/libstd/io/impls.rs index b7f82e65299..1fb9f12dd90 100644 --- a/src/libstd/io/impls.rs +++ b/src/libstd/io/impls.rs @@ -21,6 +21,11 @@ impl<R: Read + ?Sized> Read for &mut R { } #[inline] + fn can_read_vectored(&self) -> bool { + (**self).can_read_vectored() + } + + #[inline] unsafe fn initializer(&self) -> Initializer { (**self).initializer() } @@ -53,6 +58,11 @@ impl<W: Write + ?Sized> Write for &mut W { } #[inline] + fn can_write_vectored(&self) -> bool { + (**self).can_write_vectored() + } + + #[inline] fn flush(&mut self) -> io::Result<()> { (**self).flush() } @@ -110,6 +120,11 @@ impl<R: Read + ?Sized> Read for Box<R> { } #[inline] + fn can_read_vectored(&self) -> bool { + (**self).can_read_vectored() + } + + #[inline] unsafe fn initializer(&self) -> Initializer { (**self).initializer() } @@ -142,6 +157,11 @@ impl<W: Write + ?Sized> Write for Box<W> { } #[inline] + fn can_write_vectored(&self) -> bool { + (**self).can_write_vectored() + } + + #[inline] fn flush(&mut self) -> io::Result<()> { (**self).flush() } @@ -241,6 +261,11 @@ impl Read for &[u8] { } #[inline] + fn can_read_vectored(&self) -> bool { + true + } + + #[inline] unsafe fn initializer(&self) -> Initializer { Initializer::nop() } @@ -317,6 +342,11 @@ impl Write for &mut [u8] { } #[inline] + fn can_write_vectored(&self) -> bool { + true + } + + #[inline] fn write_all(&mut self, data: &[u8]) -> io::Result<()> { if self.write(data)? == data.len() { Ok(()) @@ -352,6 +382,11 @@ impl Write for Vec<u8> { } #[inline] + fn can_write_vectored(&self) -> bool { + true + } + + #[inline] fn write_all(&mut self, buf: &[u8]) -> io::Result<()> { self.extend_from_slice(buf); Ok(()) |
