From 050d5f64e6d3a97d2685b7c6ba05a921ebb31fc2 Mon Sep 17 00:00:00 2001 From: Alex Saveau Date: Sat, 29 Oct 2022 22:56:51 -0700 Subject: [PATCH] Add BorrowedBuf::filled_mut Signed-off-by: Alex Saveau --- library/std/src/io/readbuf.rs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/library/std/src/io/readbuf.rs b/library/std/src/io/readbuf.rs index 4800eeda022..1f3f80b9618 100644 --- a/library/std/src/io/readbuf.rs +++ b/library/std/src/io/readbuf.rs @@ -99,6 +99,13 @@ pub fn filled(&self) -> &[u8] { unsafe { MaybeUninit::slice_assume_init_ref(&self.buf[0..self.filled]) } } + /// Returns a mutable reference to the filled portion of the buffer. + #[inline] + pub fn filled_mut(&mut self) -> &mut [u8] { + // SAFETY: We only slice the filled part of the buffer, which is always valid + unsafe { MaybeUninit::slice_assume_init_mut(&mut self.buf[0..self.filled]) } + } + /// Returns a cursor over the unfilled part of the buffer. #[inline] pub fn unfilled<'this>(&'this mut self) -> BorrowedCursor<'this> {