@@ -437,12 +437,10 @@ impl<T> Arc<T> {
437437 ///
438438 /// let mut five = Arc::<u32>::new_uninit();
439439 ///
440- /// let five = unsafe {
441- /// // Deferred initialization:
442- /// Arc::get_mut_unchecked(&mut five).as_mut_ptr().write(5);
440+ /// // Deferred initialization:
441+ /// Arc::get_mut(&mut five).unwrap().write(5);
443442 ///
444- /// five.assume_init()
445- /// };
443+ /// let five = unsafe { five.assume_init() };
446444 ///
447445 /// assert_eq!(*five, 5)
448446 /// ```
@@ -545,12 +543,10 @@ impl<T> Arc<T> {
545543 ///
546544 /// let mut five = Arc::<u32>::try_new_uninit()?;
547545 ///
548- /// let five = unsafe {
549- /// // Deferred initialization:
550- /// Arc::get_mut_unchecked(&mut five).as_mut_ptr().write(5);
546+ /// // Deferred initialization:
547+ /// Arc::get_mut(&mut five).unwrap().write(5);
551548 ///
552- /// five.assume_init()
553- /// };
549+ /// let five = unsafe { five.assume_init() };
554550 ///
555551 /// assert_eq!(*five, 5);
556552 /// # Ok::<(), std::alloc::AllocError>(())
@@ -652,14 +648,13 @@ impl<T> Arc<[T]> {
652648 ///
653649 /// let mut values = Arc::<[u32]>::new_uninit_slice(3);
654650 ///
655- /// let values = unsafe {
656- /// // Deferred initialization:
657- /// Arc::get_mut_unchecked(&mut values) [0].as_mut_ptr() .write(1);
658- /// Arc::get_mut_unchecked(&mut values) [1].as_mut_ptr() .write(2);
659- /// Arc::get_mut_unchecked(&mut values) [2].as_mut_ptr() .write(3);
651+ /// // Deferred initialization:
652+ /// let data = Arc::get_mut(&mut values).unwrap();
653+ /// data [0].write(1);
654+ /// data [1].write(2);
655+ /// data [2].write(3);
660656 ///
661- /// values.assume_init()
662- /// };
657+ /// let values = unsafe { values.assume_init() };
663658 ///
664659 /// assert_eq!(*values, [1, 2, 3])
665660 /// ```
@@ -730,12 +725,10 @@ impl<T> Arc<mem::MaybeUninit<T>> {
730725 ///
731726 /// let mut five = Arc::<u32>::new_uninit();
732727 ///
733- /// let five = unsafe {
734- /// // Deferred initialization:
735- /// Arc::get_mut_unchecked(&mut five).as_mut_ptr().write(5);
728+ /// // Deferred initialization:
729+ /// Arc::get_mut(&mut five).unwrap().write(5);
736730 ///
737- /// five.assume_init()
738- /// };
731+ /// let five = unsafe { five.assume_init() };
739732 ///
740733 /// assert_eq!(*five, 5)
741734 /// ```
@@ -770,14 +763,13 @@ impl<T> Arc<[mem::MaybeUninit<T>]> {
770763 ///
771764 /// let mut values = Arc::<[u32]>::new_uninit_slice(3);
772765 ///
773- /// let values = unsafe {
774- /// // Deferred initialization:
775- /// Arc::get_mut_unchecked(&mut values) [0].as_mut_ptr() .write(1);
776- /// Arc::get_mut_unchecked(&mut values) [1].as_mut_ptr() .write(2);
777- /// Arc::get_mut_unchecked(&mut values) [2].as_mut_ptr() .write(3);
766+ /// // Deferred initialization:
767+ /// let data = Arc::get_mut(&mut values).unwrap();
768+ /// data [0].write(1);
769+ /// data [1].write(2);
770+ /// data [2].write(3);
778771 ///
779- /// values.assume_init()
780- /// };
772+ /// let values = unsafe { values.assume_init() };
781773 ///
782774 /// assert_eq!(*values, [1, 2, 3])
783775 /// ```
0 commit comments