From 0624730d9e9e2b6de974b6f4edd1ea48ab5f240c Mon Sep 17 00:00:00 2001 From: The8472 Date: Sun, 6 Sep 2020 22:50:35 +0200 Subject: [PATCH] add forwarding specializations for &mut variants `impl Write for &mut T where T: Write`, thus the same should apply to the specialization traits --- library/std/src/io/copy.rs | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) 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 @@ trait CopyWrite: Write { fn properties(&self) -> CopyParams; } + impl CopyRead for &mut T where T: CopyRead { + fn drain_to(&mut self, writer: &mut W, limit: u64) -> Result { + (**self).drain_to(writer, limit) + } + + fn min_limit(&self) -> u64 { + (**self).min_limit() + } + + fn properties(&self) -> CopyParams { + (**self).properties() + } + } + + impl 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())) -- 2.44.0