Remove unnecessary unsafe code in Arc deferred initialization examples.

This commit is contained in:
Jakob Degen 2022-01-20 05:36:19 -05:00
parent 7bc47cfd92
commit 4de76184aa
2 changed files with 42 additions and 58 deletions

View file

@ -451,12 +451,10 @@ impl<T> Rc<T> {
/// ///
/// let mut five = Rc::<u32>::new_uninit(); /// let mut five = Rc::<u32>::new_uninit();
/// ///
/// let five = unsafe { /// // Deferred initialization:
/// // Deferred initialization: /// Rc::get_mut(&mut five).unwrap().write(5);
/// Rc::get_mut_unchecked(&mut five).as_mut_ptr().write(5);
/// ///
/// five.assume_init() /// let five = unsafe { five.assume_init() };
/// };
/// ///
/// assert_eq!(*five, 5) /// assert_eq!(*five, 5)
/// ``` /// ```
@ -543,12 +541,10 @@ impl<T> Rc<T> {
/// ///
/// let mut five = Rc::<u32>::try_new_uninit()?; /// let mut five = Rc::<u32>::try_new_uninit()?;
/// ///
/// let five = unsafe { /// // Deferred initialization:
/// // Deferred initialization: /// Rc::get_mut(&mut five).unwrap().write(5);
/// Rc::get_mut_unchecked(&mut five).as_mut_ptr().write(5);
/// ///
/// five.assume_init() /// let five = unsafe { five.assume_init() };
/// };
/// ///
/// assert_eq!(*five, 5); /// assert_eq!(*five, 5);
/// # Ok::<(), std::alloc::AllocError>(()) /// # Ok::<(), std::alloc::AllocError>(())
@ -660,14 +656,13 @@ impl<T> Rc<[T]> {
/// ///
/// let mut values = Rc::<[u32]>::new_uninit_slice(3); /// let mut values = Rc::<[u32]>::new_uninit_slice(3);
/// ///
/// let values = unsafe { /// // Deferred initialization:
/// // Deferred initialization: /// let data = Rc::get_mut(&mut values).unwrap();
/// Rc::get_mut_unchecked(&mut values)[0].as_mut_ptr().write(1); /// data[0].write(1);
/// Rc::get_mut_unchecked(&mut values)[1].as_mut_ptr().write(2); /// data[1].write(2);
/// Rc::get_mut_unchecked(&mut values)[2].as_mut_ptr().write(3); /// data[2].write(3);
/// ///
/// values.assume_init() /// let values = unsafe { values.assume_init() };
/// };
/// ///
/// assert_eq!(*values, [1, 2, 3]) /// assert_eq!(*values, [1, 2, 3])
/// ``` /// ```
@ -738,12 +733,10 @@ impl<T> Rc<mem::MaybeUninit<T>> {
/// ///
/// let mut five = Rc::<u32>::new_uninit(); /// let mut five = Rc::<u32>::new_uninit();
/// ///
/// let five = unsafe { /// // Deferred initialization:
/// // Deferred initialization: /// Rc::get_mut(&mut five).unwrap().write(5);
/// Rc::get_mut_unchecked(&mut five).as_mut_ptr().write(5);
/// ///
/// five.assume_init() /// let five = unsafe { five.assume_init() };
/// };
/// ///
/// assert_eq!(*five, 5) /// assert_eq!(*five, 5)
/// ``` /// ```
@ -777,14 +770,13 @@ impl<T> Rc<[mem::MaybeUninit<T>]> {
/// ///
/// let mut values = Rc::<[u32]>::new_uninit_slice(3); /// let mut values = Rc::<[u32]>::new_uninit_slice(3);
/// ///
/// let values = unsafe { /// // Deferred initialization:
/// // Deferred initialization: /// let data = Rc::get_mut(&mut values).unwrap();
/// Rc::get_mut_unchecked(&mut values)[0].as_mut_ptr().write(1); /// data[0].write(1);
/// Rc::get_mut_unchecked(&mut values)[1].as_mut_ptr().write(2); /// data[1].write(2);
/// Rc::get_mut_unchecked(&mut values)[2].as_mut_ptr().write(3); /// data[2].write(3);
/// ///
/// values.assume_init() /// let values = unsafe { values.assume_init() };
/// };
/// ///
/// assert_eq!(*values, [1, 2, 3]) /// assert_eq!(*values, [1, 2, 3])
/// ``` /// ```

View file

@ -437,12 +437,10 @@ impl<T> Arc<T> {
/// ///
/// let mut five = Arc::<u32>::new_uninit(); /// let mut five = Arc::<u32>::new_uninit();
/// ///
/// let five = unsafe { /// // Deferred initialization:
/// // Deferred initialization: /// Arc::get_mut(&mut five).unwrap().write(5);
/// Arc::get_mut_unchecked(&mut five).as_mut_ptr().write(5);
/// ///
/// five.assume_init() /// let five = unsafe { five.assume_init() };
/// };
/// ///
/// assert_eq!(*five, 5) /// assert_eq!(*five, 5)
/// ``` /// ```
@ -545,12 +543,10 @@ impl<T> Arc<T> {
/// ///
/// let mut five = Arc::<u32>::try_new_uninit()?; /// let mut five = Arc::<u32>::try_new_uninit()?;
/// ///
/// let five = unsafe { /// // Deferred initialization:
/// // Deferred initialization: /// Arc::get_mut(&mut five).unwrap().write(5);
/// Arc::get_mut_unchecked(&mut five).as_mut_ptr().write(5);
/// ///
/// five.assume_init() /// let five = unsafe { five.assume_init() };
/// };
/// ///
/// assert_eq!(*five, 5); /// assert_eq!(*five, 5);
/// # Ok::<(), std::alloc::AllocError>(()) /// # Ok::<(), std::alloc::AllocError>(())
@ -652,14 +648,13 @@ impl<T> Arc<[T]> {
/// ///
/// let mut values = Arc::<[u32]>::new_uninit_slice(3); /// let mut values = Arc::<[u32]>::new_uninit_slice(3);
/// ///
/// let values = unsafe { /// // Deferred initialization:
/// // Deferred initialization: /// let data = Arc::get_mut(&mut values).unwrap();
/// Arc::get_mut_unchecked(&mut values)[0].as_mut_ptr().write(1); /// data[0].write(1);
/// Arc::get_mut_unchecked(&mut values)[1].as_mut_ptr().write(2); /// data[1].write(2);
/// Arc::get_mut_unchecked(&mut values)[2].as_mut_ptr().write(3); /// data[2].write(3);
/// ///
/// values.assume_init() /// let values = unsafe { values.assume_init() };
/// };
/// ///
/// assert_eq!(*values, [1, 2, 3]) /// assert_eq!(*values, [1, 2, 3])
/// ``` /// ```
@ -730,12 +725,10 @@ impl<T> Arc<mem::MaybeUninit<T>> {
/// ///
/// let mut five = Arc::<u32>::new_uninit(); /// let mut five = Arc::<u32>::new_uninit();
/// ///
/// let five = unsafe { /// // Deferred initialization:
/// // Deferred initialization: /// Arc::get_mut(&mut five).unwrap().write(5);
/// Arc::get_mut_unchecked(&mut five).as_mut_ptr().write(5);
/// ///
/// five.assume_init() /// let five = unsafe { five.assume_init() };
/// };
/// ///
/// assert_eq!(*five, 5) /// assert_eq!(*five, 5)
/// ``` /// ```
@ -770,14 +763,13 @@ impl<T> Arc<[mem::MaybeUninit<T>]> {
/// ///
/// let mut values = Arc::<[u32]>::new_uninit_slice(3); /// let mut values = Arc::<[u32]>::new_uninit_slice(3);
/// ///
/// let values = unsafe { /// // Deferred initialization:
/// // Deferred initialization: /// let data = Arc::get_mut(&mut values).unwrap();
/// Arc::get_mut_unchecked(&mut values)[0].as_mut_ptr().write(1); /// data[0].write(1);
/// Arc::get_mut_unchecked(&mut values)[1].as_mut_ptr().write(2); /// data[1].write(2);
/// Arc::get_mut_unchecked(&mut values)[2].as_mut_ptr().write(3); /// data[2].write(3);
/// ///
/// values.assume_init() /// let values = unsafe { values.assume_init() };
/// };
/// ///
/// assert_eq!(*values, [1, 2, 3]) /// assert_eq!(*values, [1, 2, 3])
/// ``` /// ```