diff options
| author | dylni <46035563+dylni@users.noreply.github.com> | 2022-08-20 12:49:20 -0400 |
|---|---|---|
| committer | dylni <46035563+dylni@users.noreply.github.com> | 2022-08-20 12:49:20 -0400 |
| commit | e8ee0b7b2b9f004c51f7a10eeff0fbfe79af28d8 (patch) | |
| tree | 4ef797f37187cda4f605124c1d085854ccc7729c /library/alloc/src/string.rs | |
| parent | be9cfb307e6928600a9769695e02d6296e8e1174 (diff) | |
| download | rust-e8ee0b7b2b9f004c51f7a10eeff0fbfe79af28d8.tar.gz rust-e8ee0b7b2b9f004c51f7a10eeff0fbfe79af28d8.zip | |
Expose `Utf8Lossy` as `Utf8Chunks`
Diffstat (limited to 'library/alloc/src/string.rs')
| -rw-r--r-- | library/alloc/src/string.rs | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/library/alloc/src/string.rs b/library/alloc/src/string.rs index b1513e5e0f3..8eb030369a1 100644 --- a/library/alloc/src/string.rs +++ b/library/alloc/src/string.rs @@ -58,9 +58,9 @@ use core::ops::Bound::{Excluded, Included, Unbounded}; use core::ops::{self, Index, IndexMut, Range, RangeBounds}; use core::ptr; use core::slice; -#[cfg(not(no_global_oom_handling))] -use core::str::lossy; use core::str::pattern::Pattern; +#[cfg(not(no_global_oom_handling))] +use core::str::Utf8Chunks; #[cfg(not(no_global_oom_handling))] use crate::borrow::{Cow, ToOwned}; @@ -628,11 +628,11 @@ impl String { #[cfg(not(no_global_oom_handling))] #[stable(feature = "rust1", since = "1.0.0")] pub fn from_utf8_lossy(v: &[u8]) -> Cow<'_, str> { - let mut iter = lossy::Utf8Lossy::from_bytes(v).chunks(); + let mut iter = Utf8Chunks::new(v); let first_valid = if let Some(chunk) = iter.next() { - let lossy::Utf8LossyChunk { valid, broken } = chunk; - if broken.is_empty() { + let valid = chunk.valid(); + if chunk.invalid().is_empty() { debug_assert_eq!(valid.len(), v.len()); return Cow::Borrowed(valid); } @@ -647,9 +647,9 @@ impl String { res.push_str(first_valid); res.push_str(REPLACEMENT); - for lossy::Utf8LossyChunk { valid, broken } in iter { - res.push_str(valid); - if !broken.is_empty() { + for chunk in iter { + res.push_str(chunk.valid()); + if !chunk.invalid().is_empty() { res.push_str(REPLACEMENT); } } |
