about summary refs log tree commit diff
path: root/library/std/src
diff options
context:
space:
mode:
Diffstat (limited to 'library/std/src')
-rw-r--r--library/std/src/io/copy.rs21
1 files changed, 21 insertions, 0 deletions
diff --git a/library/std/src/io/copy.rs b/library/std/src/io/copy.rs
index f54a9b8b764..e8cbe6a7e71 100644
--- a/library/std/src/io/copy.rs
+++ b/library/std/src/io/copy.rs
@@ -235,6 +235,27 @@ mod kernel_copy {
         fn properties(&self) -> CopyParams;
     }
 
+    impl<T> CopyRead for &mut T where T: CopyRead {
+        fn drain_to<W: Write>(&mut self, writer: &mut W, limit: u64) -> Result<u64> {
+            (**self).drain_to(writer, limit)
+        }
+
+        fn min_limit(&self) -> u64 {
+            (**self).min_limit()
+        }
+
+        fn properties(&self) -> CopyParams {
+            (**self).properties()
+        }
+    }
+
+    impl<T> CopyWrite for &mut T where T: CopyWrite {
+        fn properties(&self) -> CopyParams {
+            (**self).properties()
+        }
+    }
+
+
     impl CopyRead for File {
         fn properties(&self) -> CopyParams {
             CopyParams(fd_to_meta(self), Some(self.as_raw_fd()))