From 0d5bd5b26a3b289f7c8463d02c3b9caefd15205c Mon Sep 17 00:00:00 2001 From: Jacob Lifshay Date: Tue, 5 Jul 2022 13:45:15 -0700 Subject: [PATCH] add `ReadBuf::buf*` accessor functions for getting the original buffer --- library/std/src/io/readbuf.rs | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/library/std/src/io/readbuf.rs b/library/std/src/io/readbuf.rs index 78d1113f8375..ad35b5502587 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 + } }