@@ -45,6 +45,7 @@ impl<R: Read + ?Sized> Read for &mut R {
4545 fn read_exact(&mut self, buf: &mut [u8]) -> io::Result<()> {
4646 (**self).read_exact(buf)
4747 }
48+
4849 #[inline]
4950 fn read_buf_exact(&mut self, cursor: BorrowedCursor<'_>) -> io::Result<()> {
5051 (**self).read_buf_exact(cursor)
@@ -77,6 +78,11 @@ impl<W: Write + ?Sized> Write for &mut W {
7778 (**self).write_all(buf)
7879 }
7980
81+ #[inline]
82+ fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> io::Result<()> {
83+ (**self).write_all_vectored(bufs)
84+ }
85+
8086 #[inline]
8187 fn write_fmt(&mut self, fmt: fmt::Arguments<'_>) -> io::Result<()> {
8288 (**self).write_fmt(fmt)
@@ -89,10 +95,25 @@ impl<S: Seek + ?Sized> Seek for &mut S {
8995 (**self).seek(pos)
9096 }
9197
98+ #[inline]
99+ fn rewind(&mut self) -> io::Result<()> {
100+ (**self).rewind()
101+ }
102+
103+ #[inline]
104+ fn stream_len(&mut self) -> io::Result<u64> {
105+ (**self).stream_len()
106+ }
107+
92108 #[inline]
93109 fn stream_position(&mut self) -> io::Result<u64> {
94110 (**self).stream_position()
95111 }
112+
113+ #[inline]
114+ fn seek_relative(&mut self, offset: i64) -> io::Result<()> {
115+ (**self).seek_relative(offset)
116+ }
96117}
97118#[stable(feature = "rust1", since = "1.0.0")]
98119impl<B: BufRead + ?Sized> BufRead for &mut B {
@@ -106,11 +127,21 @@ impl<B: BufRead + ?Sized> BufRead for &mut B {
106127 (**self).consume(amt)
107128 }
108129
130+ #[inline]
131+ fn has_data_left(&mut self) -> io::Result<bool> {
132+ (**self).has_data_left()
133+ }
134+
109135 #[inline]
110136 fn read_until(&mut self, byte: u8, buf: &mut Vec<u8>) -> io::Result<usize> {
111137 (**self).read_until(byte, buf)
112138 }
113139
140+ #[inline]
141+ fn skip_until(&mut self, byte: u8) -> io::Result<usize> {
142+ (**self).skip_until(byte)
143+ }
144+
114145 #[inline]
115146 fn read_line(&mut self, buf: &mut String) -> io::Result<usize> {
116147 (**self).read_line(buf)
@@ -153,6 +184,7 @@ impl<R: Read + ?Sized> Read for Box<R> {
153184 fn read_exact(&mut self, buf: &mut [u8]) -> io::Result<()> {
154185 (**self).read_exact(buf)
155186 }
187+
156188 #[inline]
157189 fn read_buf_exact(&mut self, cursor: BorrowedCursor<'_>) -> io::Result<()> {
158190 (**self).read_buf_exact(cursor)
@@ -185,6 +217,11 @@ impl<W: Write + ?Sized> Write for Box<W> {
185217 (**self).write_all(buf)
186218 }
187219
220+ #[inline]
221+ fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> io::Result<()> {
222+ (**self).write_all_vectored(bufs)
223+ }
224+
188225 #[inline]
189226 fn write_fmt(&mut self, fmt: fmt::Arguments<'_>) -> io::Result<()> {
190227 (**self).write_fmt(fmt)
@@ -197,10 +234,25 @@ impl<S: Seek + ?Sized> Seek for Box<S> {
197234 (**self).seek(pos)
198235 }
199236
237+ #[inline]
238+ fn rewind(&mut self) -> io::Result<()> {
239+ (**self).rewind()
240+ }
241+
242+ #[inline]
243+ fn stream_len(&mut self) -> io::Result<u64> {
244+ (**self).stream_len()
245+ }
246+
200247 #[inline]
201248 fn stream_position(&mut self) -> io::Result<u64> {
202249 (**self).stream_position()
203250 }
251+
252+ #[inline]
253+ fn seek_relative(&mut self, offset: i64) -> io::Result<()> {
254+ (**self).seek_relative(offset)
255+ }
204256}
205257#[stable(feature = "rust1", since = "1.0.0")]
206258impl<B: BufRead + ?Sized> BufRead for Box<B> {
@@ -214,11 +266,21 @@ impl<B: BufRead + ?Sized> BufRead for Box<B> {
214266 (**self).consume(amt)
215267 }
216268
269+ #[inline]
270+ fn has_data_left(&mut self) -> io::Result<bool> {
271+ (**self).has_data_left()
272+ }
273+
217274 #[inline]
218275 fn read_until(&mut self, byte: u8, buf: &mut Vec<u8>) -> io::Result<usize> {
219276 (**self).read_until(byte, buf)
220277 }
221278
279+ #[inline]
280+ fn skip_until(&mut self, byte: u8) -> io::Result<usize> {
281+ (**self).skip_until(byte)
282+ }
283+
222284 #[inline]
223285 fn read_line(&mut self, buf: &mut String) -> io::Result<usize> {
224286 (**self).read_line(buf)
0 commit comments