@@ -317,7 +317,7 @@ impl<T> MaybeUninit<T> {
317
317
pub fn write ( & mut self , val : T ) -> & mut T {
318
318
unsafe {
319
319
self . value = ManuallyDrop :: new ( val) ;
320
- self . get_mut ( )
320
+ self . assume_init_mut ( )
321
321
}
322
322
}
323
323
@@ -536,7 +536,7 @@ impl<T> MaybeUninit<T> {
536
536
/// // create a shared reference to it:
537
537
/// let x: &Vec<u32> = unsafe {
538
538
/// // Safety: `x` has been initialized.
539
- /// x.get_ref ()
539
+ /// x.assume_init_ref ()
540
540
/// };
541
541
/// assert_eq!(x, &vec![1, 2, 3]);
542
542
/// ```
@@ -548,7 +548,7 @@ impl<T> MaybeUninit<T> {
548
548
/// use std::mem::MaybeUninit;
549
549
///
550
550
/// let x = MaybeUninit::<Vec<u32>>::uninit();
551
- /// let x_vec: &Vec<u32> = unsafe { x.get_ref () };
551
+ /// let x_vec: &Vec<u32> = unsafe { x.assume_init_ref () };
552
552
/// // We have created a reference to an uninitialized vector! This is undefined behavior.
553
553
/// ```
554
554
///
@@ -559,14 +559,14 @@ impl<T> MaybeUninit<T> {
559
559
/// let b = MaybeUninit::<Cell<bool>>::uninit();
560
560
/// // Initialize the `MaybeUninit` using `Cell::set`:
561
561
/// unsafe {
562
- /// b.get_ref ().set(true);
563
- /// // ^^^^^^^^^^^
562
+ /// b.assume_init_ref ().set(true);
563
+ /// // ^^^^^^^^^^^^^^^^^^^
564
564
/// // Reference to an uninitialized `Cell<bool>`: UB!
565
565
/// }
566
566
/// ```
567
567
#[ unstable( feature = "maybe_uninit_ref" , issue = "63568" ) ]
568
568
#[ inline( always) ]
569
- pub unsafe fn get_ref ( & self ) -> & T {
569
+ pub unsafe fn assume_init_ref ( & self ) -> & T {
570
570
intrinsics:: panic_if_uninhabited :: < T > ( ) ;
571
571
& * self . value
572
572
}
@@ -581,7 +581,7 @@ impl<T> MaybeUninit<T> {
581
581
///
582
582
/// Calling this when the content is not yet fully initialized causes undefined
583
583
/// behavior: it is up to the caller to guarantee that the `MaybeUninit<T>` really
584
- /// is in an initialized state. For instance, `.get_mut ()` cannot be used to
584
+ /// is in an initialized state. For instance, `.assume_init_mut ()` cannot be used to
585
585
/// initialize a `MaybeUninit`.
586
586
///
587
587
/// # Examples
@@ -609,7 +609,7 @@ impl<T> MaybeUninit<T> {
609
609
/// // the `&mut MaybeUninit<[u8; 2048]>` to a `&mut [u8; 2048]`:
610
610
/// let buf: &mut [u8; 2048] = unsafe {
611
611
/// // Safety: `buf` has been initialized.
612
- /// buf.get_mut ()
612
+ /// buf.assume_init_mut ()
613
613
/// };
614
614
///
615
615
/// // Now we can use `buf` as a normal slice:
@@ -622,15 +622,15 @@ impl<T> MaybeUninit<T> {
622
622
///
623
623
/// ### *Incorrect* usages of this method:
624
624
///
625
- /// You cannot use `.get_mut ()` to initialize a value:
625
+ /// You cannot use `.assume_init_mut ()` to initialize a value:
626
626
///
627
627
/// ```rust,no_run
628
628
/// #![feature(maybe_uninit_ref)]
629
629
/// use std::mem::MaybeUninit;
630
630
///
631
631
/// let mut b = MaybeUninit::<bool>::uninit();
632
632
/// unsafe {
633
- /// *b.get_mut () = true;
633
+ /// *b.assume_init_mut () = true;
634
634
/// // We have created a (mutable) reference to an uninitialized `bool`!
635
635
/// // This is undefined behavior.
636
636
/// }
@@ -647,8 +647,8 @@ impl<T> MaybeUninit<T> {
647
647
/// fn read_chunk (reader: &'_ mut dyn io::Read) -> io::Result<[u8; 64]>
648
648
/// {
649
649
/// let mut buffer = MaybeUninit::<[u8; 64]>::uninit();
650
- /// reader.read_exact(unsafe { buffer.get_mut () })?;
651
- /// // ^^^^^^^^^^^^^^^^
650
+ /// reader.read_exact(unsafe { buffer.assume_init_mut () })?;
651
+ /// // ^^^^^^^^^^^^^^^^^^^^^^^^
652
652
/// // (mutable) reference to uninitialized memory!
653
653
/// // This is undefined behavior.
654
654
/// Ok(unsafe { buffer.assume_init() })
@@ -668,12 +668,12 @@ impl<T> MaybeUninit<T> {
668
668
///
669
669
/// let foo: Foo = unsafe {
670
670
/// let mut foo = MaybeUninit::<Foo>::uninit();
671
- /// ptr::write(&mut foo.get_mut ().a as *mut u32, 1337);
672
- /// // ^^^^^^^^^^^^^
671
+ /// ptr::write(&mut foo.assume_init_mut ().a as *mut u32, 1337);
672
+ /// // ^^^^^^^^^^^^^^^^^^^^^
673
673
/// // (mutable) reference to uninitialized memory!
674
674
/// // This is undefined behavior.
675
- /// ptr::write(&mut foo.get_mut ().b as *mut u8, 42);
676
- /// // ^^^^^^^^^^^^^
675
+ /// ptr::write(&mut foo.assume_init_mut ().b as *mut u8, 42);
676
+ /// // ^^^^^^^^^^^^^^^^^^^^^
677
677
/// // (mutable) reference to uninitialized memory!
678
678
/// // This is undefined behavior.
679
679
/// foo.assume_init()
@@ -684,7 +684,7 @@ impl<T> MaybeUninit<T> {
684
684
// a final decision about the rules before stabilization.
685
685
#[ unstable( feature = "maybe_uninit_ref" , issue = "63568" ) ]
686
686
#[ inline( always) ]
687
- pub unsafe fn get_mut ( & mut self ) -> & mut T {
687
+ pub unsafe fn assume_init_mut ( & mut self ) -> & mut T {
688
688
intrinsics:: panic_if_uninhabited :: < T > ( ) ;
689
689
& mut * self . value
690
690
}
0 commit comments