diff options
| author | Ethan Dagner <napen123@gmail.com> | 2017-09-10 12:27:57 -0600 |
|---|---|---|
| committer | Ethan Dagner <napen123@gmail.com> | 2017-09-10 12:27:57 -0600 |
| commit | 18ef0de4bce349917b8e89d85e8f5ce9676b3a86 (patch) | |
| tree | 2a9eadaf30da34539855f82b270962cd048c9b39 | |
| parent | d290dec97f8bace2a2585505518b109b1e368f4c (diff) | |
| download | rust-18ef0de4bce349917b8e89d85e8f5ce9676b3a86.tar.gz rust-18ef0de4bce349917b8e89d85e8f5ce9676b3a86.zip | |
Add doc examples to str::from_utf8_unchecked_mut
Fixes #44461
| -rw-r--r-- | src/libcore/str/mod.rs | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/libcore/str/mod.rs b/src/libcore/str/mod.rs index 62e84c9ebd0..858ada07344 100644 --- a/src/libcore/str/mod.rs +++ b/src/libcore/str/mod.rs @@ -382,6 +382,34 @@ pub unsafe fn from_utf8_unchecked(v: &[u8]) -> &str { /// See the immutable version, [`from_utf8_unchecked()`][fromutf8], for more information. /// /// [fromutf8]: fn.from_utf8_unchecked.html +/// +/// # Examples +/// +/// Basic usage: +/// +/// ``` +/// use std::str; +/// +/// let mut heart = vec![240, 159, 146, 150]; +/// let heart = unsafe { str::from_utf8_unchecked_mut(&mut heart) }; +/// +/// assert_eq!("💖", heart); +/// ``` +/// +/// Invalid UTF-8: +/// +/// ``` +/// use std::str; +/// +/// // Invalid bytes. +/// let mut bytes = vec![240, 40, 140, 188]; +/// +/// // Returns a str: +/// unsafe { str::from_utf8_unchecked_mut(&mut bytes) }; +/// +/// // from_utf8 returns an error instead: +/// assert!(str::from_utf8(&bytes).is_err()); +/// ``` #[inline] #[stable(feature = "str_mut_extras", since = "1.20.0")] pub unsafe fn from_utf8_unchecked_mut(v: &mut [u8]) -> &mut str { |
