about summary refs log tree commit diff
path: root/library/alloc/src/string.rs
diff options
context:
space:
mode:
authorNoa <coolreader18@gmail.com>2024-03-08 12:27:24 -0600
committerNoa <coolreader18@gmail.com>2024-03-08 12:27:24 -0600
commitc0e913fdd7f35b197c6da198c25569fc63244b85 (patch)
treefa265bea2162b7b1cdfc3a4933a51b3cc2f1ef60 /library/alloc/src/string.rs
parentbfe762e0ed2e95041cc12c02c5565c4368f2cc9f (diff)
downloadrust-c0e913fdd7f35b197c6da198c25569fc63244b85.tar.gz
rust-c0e913fdd7f35b197c6da198c25569fc63244b85.zip
Document overrides of `clone_from()`
Specifically, when an override doesn't just forward to an inner type,
document the behavior and that it's preferred over simply assigning
a clone of source. Also, change instances where the second parameter is
"other" to "source".
Diffstat (limited to 'library/alloc/src/string.rs')
-rw-r--r--library/alloc/src/string.rs4
1 files changed, 4 insertions, 0 deletions
diff --git a/library/alloc/src/string.rs b/library/alloc/src/string.rs
index 98ded7f6cdf..fd36583ec8e 100644
--- a/library/alloc/src/string.rs
+++ b/library/alloc/src/string.rs
@@ -2084,6 +2084,10 @@ impl Clone for String {
         String { vec: self.vec.clone() }
     }
 
+    /// Clones the contents of `source` into `self`.
+    ///
+    /// This method is preferred over simply assigning `source.clone()` to `self`,
+    /// as it avoids reallocation if possible.
     fn clone_from(&mut self, source: &Self) {
         self.vec.clone_from(&source.vec);
     }