diff options
| author | Stepan Koltsov <stepan.koltsov@gmail.com> | 2017-06-12 22:21:53 +0300 |
|---|---|---|
| committer | Stepan Koltsov <stepan.koltsov@gmail.com> | 2017-06-15 20:42:37 +0100 |
| commit | ac96fd77874bb7968b7d82bed5a410d3941bc4c8 (patch) | |
| tree | 57bf556685e5b2c29ef59dd13fb3b45177b66054 /src/libstd/ffi | |
| parent | ea149b8571d538fc8bb2117e46161d442aef48a4 (diff) | |
| download | rust-ac96fd77874bb7968b7d82bed5a410d3941bc4c8.tar.gz rust-ac96fd77874bb7968b7d82bed5a410d3941bc4c8.zip | |
Avoid allocations in Debug for os_str
Fixes #38879
Diffstat (limited to 'src/libstd/ffi')
| -rw-r--r-- | src/libstd/ffi/os_str.rs | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/src/libstd/ffi/os_str.rs b/src/libstd/ffi/os_str.rs index a5a1b5e5f09..f54d79c201f 100644 --- a/src/libstd/ffi/os_str.rs +++ b/src/libstd/ffi/os_str.rs @@ -9,7 +9,7 @@ // except according to those terms. use borrow::{Borrow, Cow}; -use fmt::{self, Debug}; +use fmt; use mem; use ops; use cmp; @@ -312,8 +312,8 @@ impl Default for OsString { } #[stable(feature = "rust1", since = "1.0.0")] -impl Debug for OsString { - fn fmt(&self, formatter: &mut fmt::Formatter) -> Result<(), fmt::Error> { +impl fmt::Debug for OsString { + fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { fmt::Debug::fmt(&**self, formatter) } } @@ -669,9 +669,15 @@ impl Hash for OsStr { } #[stable(feature = "rust1", since = "1.0.0")] -impl Debug for OsStr { - fn fmt(&self, formatter: &mut fmt::Formatter) -> Result<(), fmt::Error> { - self.inner.fmt(formatter) +impl fmt::Debug for OsStr { + fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { + fmt::Debug::fmt(&self.inner, formatter) + } +} + +impl OsStr { + pub(crate) fn display(&self, formatter: &mut fmt::Formatter) -> fmt::Result { + fmt::Display::fmt(&self.inner, formatter) } } |
