Remove non-focused memory leaks in `core` doctests for Miri. · model-checking/verify-rust-std@3a0fe26

@@ -274,6 +274,8 @@ impl<T> MaybeUninit<T> {

274274

/// use std::mem::MaybeUninit;

275275

///

276276

/// let v: MaybeUninit<Vec<u8>> = MaybeUninit::new(vec![42]);

277+

/// # // Prevent leaks for Miri

278+

/// # unsafe { let _ = MaybeUninit::assume_init(v); }

277279

/// ```

278280

///

279281

/// [`assume_init`]: MaybeUninit::assume_init

@@ -506,6 +508,8 @@ impl<T> MaybeUninit<T> {

506508

/// // Create a reference into the `MaybeUninit<T>`. This is okay because we initialized it.

507509

/// let x_vec = unsafe { &*x.as_ptr() };

508510

/// assert_eq!(x_vec.len(), 3);

511+

/// # // Prevent leaks for Miri

512+

/// # unsafe { MaybeUninit::assume_init_drop(&mut x); }

509513

/// ```

510514

///

511515

/// *Incorrect* usage of this method:

@@ -545,6 +549,8 @@ impl<T> MaybeUninit<T> {

545549

/// let x_vec = unsafe { &mut *x.as_mut_ptr() };

546550

/// x_vec.push(3);

547551

/// assert_eq!(x_vec.len(), 4);

552+

/// # // Prevent leaks for Miri

553+

/// # unsafe { MaybeUninit::assume_init_drop(&mut x); }

548554

/// ```

549555

///

550556

/// *Incorrect* usage of this method:

@@ -746,6 +752,8 @@ impl<T> MaybeUninit<T> {

746752

/// use std::mem::MaybeUninit;

747753

///

748754

/// let mut x = MaybeUninit::<Vec<u32>>::uninit();

755+

/// # let mut x_mu = x;

756+

/// # let mut x = &mut x_mu;

749757

/// // Initialize `x`:

750758

/// x.write(vec![1, 2, 3]);

751759

/// // Now that our `MaybeUninit<_>` is known to be initialized, it is okay to

@@ -755,6 +763,8 @@ impl<T> MaybeUninit<T> {

755763

/// x.assume_init_ref()

756764

/// };

757765

/// assert_eq!(x, &vec![1, 2, 3]);

766+

/// # // Prevent leaks for Miri

767+

/// # unsafe { MaybeUninit::assume_init_drop(&mut x_mu); }

758768

/// ```

759769

///

760770

/// ### *Incorrect* usages of this method:

@@ -1088,6 +1098,8 @@ impl<T> MaybeUninit<T> {

10881098

/// let init = MaybeUninit::clone_from_slice(&mut dst, &src);

10891099

///

10901100

/// assert_eq!(init, src);

1101+

/// # // Prevent leaks for Miri

1102+

/// # unsafe { std::ptr::drop_in_place(init); }

10911103

/// ```

10921104

///

10931105

/// ```