about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorMatt Brubeck <mbrubeck@limpet.net>2020-07-15 13:21:02 -0700
committerMatt Brubeck <mbrubeck@limpet.net>2020-07-15 14:36:12 -0700
commit6da69ec08c4ba0c166d28a65196832f8de877149 (patch)
tree18c861ee05f025b4defa6b70a49d5655b0500e8e /src
parent5db778affee7c6600c8e7a177c48282dab3f6292 (diff)
downloadrust-6da69ec08c4ba0c166d28a65196832f8de877149.tar.gz
rust-6da69ec08c4ba0c166d28a65196832f8de877149.zip
Update docs for str::as_bytes_mut.
* Add "Safety" section describing UTF-8 invariant.

* Remove mention of `from_utf8_mut`.  It is not necessary to call
  a function to convert the byte slice back to a string slice.  The
  original string becomes accessible again after the byte slice is
  no longer used (as shown in the example code).
Diffstat (limited to 'src')
-rw-r--r--src/libcore/str/mod.rs11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/libcore/str/mod.rs b/src/libcore/str/mod.rs
index 0014501d2c4..10721ce6165 100644
--- a/src/libcore/str/mod.rs
+++ b/src/libcore/str/mod.rs
@@ -2384,11 +2384,14 @@ impl str {
         unsafe { Slices { str: self }.slice }
     }
 
-    /// Converts a mutable string slice to a mutable byte slice. To convert the
-    /// mutable byte slice back into a mutable string slice, use the
-    /// [`str::from_utf8_mut`] function.
+    /// Converts a mutable string slice to a mutable byte slice.
     ///
-    /// [`str::from_utf8_mut`]: ./str/fn.from_utf8_mut.html
+    /// # Safety
+    ///
+    /// The caller must ensure that the content of the slice is valid UTF-8
+    /// before the borrow ends and the underlying `str` is used.
+    ///
+    /// Use of a `str` whose contents are not valid UTF-8 is undefined behavior.
     ///
     /// # Examples
     ///