about summary refs log tree commit diff
path: root/library/std/src/sys/pal/wasi
diff options
context:
space:
mode:
authorAlona Enraght-Moony <code@alona.page>2024-11-08 20:29:07 +0000
committerAlona Enraght-Moony <code@alona.page>2024-11-09 18:52:29 +0000
commitc496af64edf92e9e77f02fa552cd69019f7b2c35 (patch)
tree8cb63a76d002ccf9badf4c05e2fd42b7e3dcead0 /library/std/src/sys/pal/wasi
parentb27f33a4d9c42ee6b5347a75a8a990a883437da9 (diff)
downloadrust-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.rs7
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) }
     }