about summary refs log tree commit diff
path: root/library/std/src/sys_common/os_str_bytes.rs
diff options
context:
space:
mode:
authorBenoît du Garreau <bdgdlm@outlook.com>2021-04-27 15:05:26 +0200
committerBenoît du Garreau <bdgdlm@outlook.com>2021-04-27 15:20:59 +0200
commit4a8671a2fa89bfcb925cd9a8e7c5887387cc59ab (patch)
tree1ca03f67166ab7f8c839783c46e90d3e444eded9 /library/std/src/sys_common/os_str_bytes.rs
parentdc8cb63078c1322cef0ac11c2f8b006f6e310a46 (diff)
downloadrust-4a8671a2fa89bfcb925cd9a8e7c5887387cc59ab.tar.gz
rust-4a8671a2fa89bfcb925cd9a8e7c5887387cc59ab.zip
Override `clone_from` method for PathBuf and OsString
Diffstat (limited to 'library/std/src/sys_common/os_str_bytes.rs')
-rw-r--r--library/std/src/sys_common/os_str_bytes.rs14
1 files changed, 13 insertions, 1 deletions
diff --git a/library/std/src/sys_common/os_str_bytes.rs b/library/std/src/sys_common/os_str_bytes.rs
index 302c5197407..32705c432fa 100644
--- a/library/std/src/sys_common/os_str_bytes.rs
+++ b/library/std/src/sys_common/os_str_bytes.rs
@@ -14,7 +14,7 @@ use crate::sys_common::{AsInner, FromInner, IntoInner};
 
 use core::str::lossy::Utf8Lossy;
 
-#[derive(Clone, Hash)]
+#[derive(Hash)]
 pub(crate) struct Buf {
     pub inner: Vec<u8>,
 }
@@ -53,6 +53,18 @@ impl fmt::Display for Buf {
     }
 }
 
+impl Clone for Buf {
+    #[inline]
+    fn clone(&self) -> Self {
+        Buf { inner: self.inner.clone() }
+    }
+
+    #[inline]
+    fn clone_from(&mut self, source: &Self) {
+        self.inner.clone_from(&source.inner)
+    }
+}
+
 impl IntoInner<Vec<u8>> for Buf {
     fn into_inner(self) -> Vec<u8> {
         self.inner