diff options
| author | Mark Rousskov <mark.simulacrum@gmail.com> | 2022-02-22 18:05:51 -0500 |
|---|---|---|
| committer | Mark Rousskov <mark.simulacrum@gmail.com> | 2022-02-22 18:05:51 -0500 |
| commit | da3b2ca95636eea18c62089bae5e7443ecf94c9a (patch) | |
| tree | 60ca2ea3edb6c9ce602cd6a8ec721e1f96bc5e12 | |
| parent | 68369a041cea809a87e5bd80701da90e0e0a4799 (diff) | |
| download | rust-da3b2ca95636eea18c62089bae5e7443ecf94c9a.tar.gz rust-da3b2ca95636eea18c62089bae5e7443ecf94c9a.zip | |
Provide raw &str access from Decoder
| -rw-r--r-- | compiler/rustc_serialize/src/opaque.rs | 5 | ||||
| -rw-r--r-- | compiler/rustc_serialize/src/serialize.rs | 4 |
2 files changed, 4 insertions, 5 deletions
diff --git a/compiler/rustc_serialize/src/opaque.rs b/compiler/rustc_serialize/src/opaque.rs index 7a05d2b762a..8e2c866cd38 100644 --- a/compiler/rustc_serialize/src/opaque.rs +++ b/compiler/rustc_serialize/src/opaque.rs @@ -1,6 +1,5 @@ use crate::leb128::{self, max_leb128_len}; use crate::serialize::{self, Encoder as _}; -use std::borrow::Cow; use std::convert::TryInto; use std::fs::File; use std::io::{self, Write}; @@ -663,7 +662,7 @@ impl<'a> serialize::Decoder for Decoder<'a> { } #[inline] - fn read_str(&mut self) -> Cow<'_, str> { + fn read_str(&mut self) -> &str { let len = self.read_usize(); let sentinel = self.data[self.position + len]; assert!(sentinel == STR_SENTINEL); @@ -671,7 +670,7 @@ impl<'a> serialize::Decoder for Decoder<'a> { std::str::from_utf8_unchecked(&self.data[self.position..self.position + len]) }; self.position += len + 1; - Cow::Borrowed(s) + s } #[inline] diff --git a/compiler/rustc_serialize/src/serialize.rs b/compiler/rustc_serialize/src/serialize.rs index a012be2857e..fbbd13657ba 100644 --- a/compiler/rustc_serialize/src/serialize.rs +++ b/compiler/rustc_serialize/src/serialize.rs @@ -198,7 +198,7 @@ pub trait Decoder { fn read_f64(&mut self) -> f64; fn read_f32(&mut self) -> f32; fn read_char(&mut self) -> char; - fn read_str(&mut self) -> Cow<'_, str>; + fn read_str(&mut self) -> &str; fn read_raw_bytes_into(&mut self, s: &mut [u8]); } @@ -313,7 +313,7 @@ impl<S: Encoder> Encodable<S> for String { impl<D: Decoder> Decodable<D> for String { fn decode(d: &mut D) -> String { - d.read_str().into_owned() + d.read_str().to_owned() } } |
