diff options
| author | Clar Charr <clar@charr.xyz> | 2017-01-31 22:46:16 -0500 |
|---|---|---|
| committer | Clar Charr <clar@charr.xyz> | 2017-02-14 14:18:43 -0500 |
| commit | 963843b1b346278fcf6f7f065cabdaaae775a0a1 (patch) | |
| tree | 5479442c7fb7a6e7d1c484340246dda7004113dd /src/libstd/sys/redox | |
| parent | 2425b227742bb9214d60429d1325816e0b93e152 (diff) | |
| download | rust-963843b1b346278fcf6f7f065cabdaaae775a0a1.tar.gz rust-963843b1b346278fcf6f7f065cabdaaae775a0a1.zip | |
Conversions between CStr/OsStr/Path and boxes.
Diffstat (limited to 'src/libstd/sys/redox')
| -rw-r--r-- | src/libstd/sys/redox/os_str.rs | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/libstd/sys/redox/os_str.rs b/src/libstd/sys/redox/os_str.rs index 8922bf04f56..0f967863899 100644 --- a/src/libstd/sys/redox/os_str.rs +++ b/src/libstd/sys/redox/os_str.rs @@ -94,6 +94,11 @@ impl Buf { pub fn push_slice(&mut self, s: &Slice) { self.inner.extend_from_slice(&s.inner) } + + #[inline] + pub fn into_box(self) -> Box<Slice> { + unsafe { mem::transmute(self.inner.into_boxed_slice()) } + } } impl Slice { @@ -116,4 +121,15 @@ impl Slice { pub fn to_owned(&self) -> Buf { Buf { inner: self.inner.to_vec() } } + + #[inline] + pub fn into_box(&self) -> Box<Slice> { + let boxed: Box<[u8]> = self.inner.into(); + unsafe { mem::transmute(boxed) } + } + + pub fn empty_box() -> Box<Slice> { + let boxed: Box<[u8]> = Default::default(); + unsafe { mem::transmute(boxed) } + } } |
