diff options
| author | Matthias Krüger <matthias.krueger@famsik.de> | 2023-06-14 18:10:27 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-06-14 18:10:27 +0200 |
| commit | 4efdb5c0015561bdaa6c00a79090a2080ef2c964 (patch) | |
| tree | 8002841bf08d692f21735bfdfb0dac357e0d5da3 /library/std/src/sys/unix/os_str.rs | |
| parent | 7b0eac438ace0ba305b4633328b00474fbbf5120 (diff) | |
| parent | e3a1a11ed2a1b081b229f1d873114aaf7f5f5137 (diff) | |
| download | rust-4efdb5c0015561bdaa6c00a79090a2080ef2c964.tar.gz rust-4efdb5c0015561bdaa6c00a79090a2080ef2c964.zip | |
Rollup merge of #98202 - aticu:impl_tryfrom_osstr_for_str, r=Amanieu
Implement `TryFrom<&OsStr>` for `&str` Recently when trying to work with `&OsStr` I was surprised to find this `impl` missing. Since the `to_str` method already existed the actual implementation is fairly non-controversial, except for maybe the choice of the error type. I chose an opaque error here instead of something like `std::str::Utf8Error`, since that would already make a number of assumption about the underlying implementation of `OsStr`. As this is a trait implementation, it is insta-stable, if I'm not mistaken? Either way this will need an FCP. I chose "1.64.0" as the version, since this is unlikely to land before the beta cut-off. `@rustbot` modify labels: +T-libs-api API Change Proposal: rust-lang/rust#99031 (accepted)
Diffstat (limited to 'library/std/src/sys/unix/os_str.rs')
| -rw-r--r-- | library/std/src/sys/unix/os_str.rs | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/library/std/src/sys/unix/os_str.rs b/library/std/src/sys/unix/os_str.rs index 142fcb9ed0b..f7333fd5a1f 100644 --- a/library/std/src/sys/unix/os_str.rs +++ b/library/std/src/sys/unix/os_str.rs @@ -207,8 +207,8 @@ impl Slice { unsafe { Slice::from_os_str_bytes_unchecked(s.as_bytes()) } } - pub fn to_str(&self) -> Option<&str> { - str::from_utf8(&self.inner).ok() + pub fn to_str(&self) -> Result<&str, crate::str::Utf8Error> { + str::from_utf8(&self.inner) } pub fn to_string_lossy(&self) -> Cow<'_, str> { |
