@@ -437,12 +437,10 @@ impl<T> Arc<T> {
437
437
///
438
438
/// let mut five = Arc::<u32>::new_uninit();
439
439
///
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);
443
442
///
444
- /// five.assume_init()
445
- /// };
443
+ /// let five = unsafe { five.assume_init() };
446
444
///
447
445
/// assert_eq!(*five, 5)
448
446
/// ```
@@ -545,12 +543,10 @@ impl<T> Arc<T> {
545
543
///
546
544
/// let mut five = Arc::<u32>::try_new_uninit()?;
547
545
///
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);
551
548
///
552
- /// five.assume_init()
553
- /// };
549
+ /// let five = unsafe { five.assume_init() };
554
550
///
555
551
/// assert_eq!(*five, 5);
556
552
/// # Ok::<(), std::alloc::AllocError>(())
@@ -652,14 +648,13 @@ impl<T> Arc<[T]> {
652
648
///
653
649
/// let mut values = Arc::<[u32]>::new_uninit_slice(3);
654
650
///
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);
660
656
///
661
- /// values.assume_init()
662
- /// };
657
+ /// let values = unsafe { values.assume_init() };
663
658
///
664
659
/// assert_eq!(*values, [1, 2, 3])
665
660
/// ```
@@ -730,12 +725,10 @@ impl<T> Arc<mem::MaybeUninit<T>> {
730
725
///
731
726
/// let mut five = Arc::<u32>::new_uninit();
732
727
///
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);
736
730
///
737
- /// five.assume_init()
738
- /// };
731
+ /// let five = unsafe { five.assume_init() };
739
732
///
740
733
/// assert_eq!(*five, 5)
741
734
/// ```
@@ -770,14 +763,13 @@ impl<T> Arc<[mem::MaybeUninit<T>]> {
770
763
///
771
764
/// let mut values = Arc::<[u32]>::new_uninit_slice(3);
772
765
///
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);
778
771
///
779
- /// values.assume_init()
780
- /// };
772
+ /// let values = unsafe { values.assume_init() };
781
773
///
782
774
/// assert_eq!(*values, [1, 2, 3])
783
775
/// ```
0 commit comments