From dd2754cc3f24f82a88dbc1d6a64de0645f1a00e1 Mon Sep 17 00:00:00 2001 From: Michal Nazarewicz Date: Sat, 11 Feb 2023 23:51:47 +0100 Subject: [PATCH] Rename UninitSlice constructors for consistency with ReadBuf tokio::io::ReadBuf uses names `new` and `uninit` for its constructors. For consistency with that, rename recently introduced UninitSlice constructors to match those names. --- src/buf/buf_mut.rs | 2 +- src/buf/uninit_slice.rs | 46 ++++++++++++++++++++--------------------- 2 files changed, 24 insertions(+), 24 deletions(-) diff --git a/src/buf/buf_mut.rs b/src/buf/buf_mut.rs index 2a3c24325..c2ac39df3 100644 --- a/src/buf/buf_mut.rs +++ b/src/buf/buf_mut.rs @@ -1427,7 +1427,7 @@ unsafe impl BufMut for &mut [core::mem::MaybeUninit] { #[inline] fn chunk_mut(&mut self) -> &mut UninitSlice { - UninitSlice::from_uninit_slice(self) + UninitSlice::uninit(self) } #[inline] diff --git a/src/buf/uninit_slice.rs b/src/buf/uninit_slice.rs index 84b1d8820..c5d86e85d 100644 --- a/src/buf/uninit_slice.rs +++ b/src/buf/uninit_slice.rs @@ -22,42 +22,42 @@ use core::ops::{ pub struct UninitSlice([MaybeUninit]); impl UninitSlice { - /// Creates a `&mut UninitSlice` wrapping slice of uninitialised memory. + /// Creates a `&mut UninitSlice` wrapping a slice of initialised memory. /// /// # Examples /// /// ``` /// use bytes::buf::UninitSlice; - /// use core::mem::MaybeUninit; - /// - /// let mut buffer = [MaybeUninit::uninit(); 64]; - /// let slice = UninitSlice::from_uninit_slice(&mut buffer[..]); /// - /// let mut vec = Vec::with_capacity(1024); - /// let spare: &mut UninitSlice = vec.spare_capacity_mut().into(); + /// let mut buffer = [0u8; 64]; + /// let slice = UninitSlice::new(&mut buffer[..]); /// ``` #[inline] - pub fn from_uninit_slice(slice: &mut [MaybeUninit]) -> &mut UninitSlice { - unsafe { &mut *(slice as *mut [MaybeUninit] as *mut UninitSlice) } - } - - fn from_uninit_slice_ref(slice: &[MaybeUninit]) -> &UninitSlice { - unsafe { &*(slice as *const [MaybeUninit] as *const UninitSlice) } + pub fn new(slice: &mut [u8]) -> &mut UninitSlice { + unsafe { &mut *(slice as *mut [u8] as *mut [MaybeUninit] as *mut UninitSlice) } } - /// Creates a `&mut UninitSlice` wrapping slice of initialised memory. + /// Creates a `&mut UninitSlice` wrapping a slice of uninitialised memory. /// /// # Examples /// /// ``` /// use bytes::buf::UninitSlice; + /// use core::mem::MaybeUninit; /// - /// let mut buffer = [0u8; 64]; - /// let slice = UninitSlice::from_slice(&mut buffer[..]); + /// let mut buffer = [MaybeUninit::uninit(); 64]; + /// let slice = UninitSlice::uninit(&mut buffer[..]); + /// + /// let mut vec = Vec::with_capacity(1024); + /// let spare: &mut UninitSlice = vec.spare_capacity_mut().into(); /// ``` #[inline] - pub fn from_slice(slice: &mut [u8]) -> &mut UninitSlice { - unsafe { &mut *(slice as *mut [u8] as *mut [MaybeUninit] as *mut UninitSlice) } + pub fn uninit(slice: &mut [MaybeUninit]) -> &mut UninitSlice { + unsafe { &mut *(slice as *mut [MaybeUninit] as *mut UninitSlice) } + } + + fn uninit_ref(slice: &[MaybeUninit]) -> &UninitSlice { + unsafe { &*(slice as *const [MaybeUninit] as *const UninitSlice) } } /// Create a `&mut UninitSlice` from a pointer and a length. @@ -82,7 +82,7 @@ impl UninitSlice { pub unsafe fn from_raw_parts_mut<'a>(ptr: *mut u8, len: usize) -> &'a mut UninitSlice { let maybe_init: &mut [MaybeUninit] = core::slice::from_raw_parts_mut(ptr as *mut _, len); - Self::from_uninit_slice(maybe_init) + Self::uninit(maybe_init) } /// Write a single byte at the specified offset. @@ -215,13 +215,13 @@ impl fmt::Debug for UninitSlice { impl<'a> From<&'a mut [u8]> for &'a mut UninitSlice { fn from(slice: &'a mut [u8]) -> Self { - UninitSlice::from_slice(slice) + UninitSlice::new(slice) } } impl<'a> From<&'a mut [MaybeUninit]> for &'a mut UninitSlice { fn from(slice: &'a mut [MaybeUninit]) -> Self { - UninitSlice::from_uninit_slice(slice) + UninitSlice::uninit(slice) } } @@ -233,14 +233,14 @@ macro_rules! impl_index { #[inline] fn index(&self, index: $t) -> &UninitSlice { - UninitSlice::from_uninit_slice_ref(&self.0[index]) + UninitSlice::uninit_ref(&self.0[index]) } } impl IndexMut<$t> for UninitSlice { #[inline] fn index_mut(&mut self, index: $t) -> &mut UninitSlice { - UninitSlice::from_uninit_slice(&mut self.0[index]) + UninitSlice::uninit(&mut self.0[index]) } } )*