diff options
| author | Alona Enraght-Moony <code@alona.page> | 2024-11-08 20:29:07 +0000 |
|---|---|---|
| committer | Alona Enraght-Moony <code@alona.page> | 2024-11-09 18:52:29 +0000 |
| commit | c496af64edf92e9e77f02fa552cd69019f7b2c35 (patch) | |
| tree | 8cb63a76d002ccf9badf4c05e2fd42b7e3dcead0 /library/std/src/sys/pal/wasi | |
| parent | b27f33a4d9c42ee6b5347a75a8a990a883437da9 (diff) | |
| download | rust-c496af64edf92e9e77f02fa552cd69019f7b2c35.tar.gz rust-c496af64edf92e9e77f02fa552cd69019f7b2c35.zip | |
Add as_slice/into_slice for IoSlice/IoSliceMut.
Co-authored-by: Mike Pedersen <mike@mikepedersen.dk> Co-authored-by: Nathan West <Lucretiel@gmail.com>
Diffstat (limited to 'library/std/src/sys/pal/wasi')
| -rw-r--r-- | library/std/src/sys/pal/wasi/io.rs | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/library/std/src/sys/pal/wasi/io.rs b/library/std/src/sys/pal/wasi/io.rs index b7c2f03daa0..57f81bc6257 100644 --- a/library/std/src/sys/pal/wasi/io.rs +++ b/library/std/src/sys/pal/wasi/io.rs @@ -30,7 +30,7 @@ impl<'a> IoSlice<'a> { } #[inline] - pub fn as_slice(&self) -> &[u8] { + pub const fn as_slice(&self) -> &'a [u8] { unsafe { slice::from_raw_parts(self.vec.buf as *const u8, self.vec.buf_len) } } } @@ -68,6 +68,11 @@ impl<'a> IoSliceMut<'a> { } #[inline] + pub const fn into_slice(self) -> &'a mut [u8] { + unsafe { slice::from_raw_parts_mut(self.vec.buf as *mut u8, self.vec.buf_len) } + } + + #[inline] pub fn as_mut_slice(&mut self) -> &mut [u8] { unsafe { slice::from_raw_parts_mut(self.vec.buf as *mut u8, self.vec.buf_len) } } |
