diff --git a/library/std/src/io/readbuf.rs b/library/std/src/io/readbuf.rs index 78d1113f8375a..ad35b55025871 100644 --- a/library/std/src/io/readbuf.rs +++ b/library/std/src/io/readbuf.rs @@ -246,4 +246,25 @@ impl<'a> ReadBuf<'a> { pub fn initialized_len(&self) -> usize { self.initialized } + + /// Returns the buffer + #[inline] + pub fn buf(&self) -> &[MaybeUninit] { + &*self.buf + } + + /// Returns the buffer + /// + /// # Safety + /// You must not write unitialized bytes to positions less than `self.initialized_len()` + #[inline] + pub unsafe fn buf_mut(&mut self) -> &mut [MaybeUninit] { + self.buf + } + + /// Returns the buffer + #[inline] + pub fn into_buf(self) -> &'a mut [MaybeUninit] { + self.buf + } }