about summary refs log tree commit diff
path: root/library/core/src/array
diff options
context:
space:
mode:
authorltdk <usr@ltdk.xyz>2024-08-18 19:50:41 -0400
committerltdk <usr@ltdk.xyz>2025-01-11 23:57:00 -0500
commite37daf0c868efc016dd8039d59d53a03303c9c07 (patch)
treeee333b0724e17a36f94ea7047a5251a9bc20a957 /library/core/src/array
parent12445e0b2c532e389b8293924ed7c2b6fad5238f (diff)
downloadrust-e37daf0c868efc016dd8039d59d53a03303c9c07.tar.gz
rust-e37daf0c868efc016dd8039d59d53a03303c9c07.zip
Add inherent versions of MaybeUninit methods for slices
Diffstat (limited to 'library/core/src/array')
-rw-r--r--library/core/src/array/iter.rs8
-rw-r--r--library/core/src/array/mod.rs4
2 files changed, 5 insertions, 7 deletions
diff --git a/library/core/src/array/iter.rs b/library/core/src/array/iter.rs
index 9ce0eb61e08..1edade41597 100644
--- a/library/core/src/array/iter.rs
+++ b/library/core/src/array/iter.rs
@@ -214,7 +214,7 @@ impl<T, const N: usize> IntoIter<T, N> {
         // SAFETY: We know that all elements within `alive` are properly initialized.
         unsafe {
             let slice = self.data.get_unchecked(self.alive.clone());
-            MaybeUninit::slice_assume_init_ref(slice)
+            slice.assume_init_ref()
         }
     }
 
@@ -224,7 +224,7 @@ impl<T, const N: usize> IntoIter<T, N> {
         // SAFETY: We know that all elements within `alive` are properly initialized.
         unsafe {
             let slice = self.data.get_unchecked_mut(self.alive.clone());
-            MaybeUninit::slice_assume_init_mut(slice)
+            slice.assume_init_mut()
         }
     }
 }
@@ -285,7 +285,7 @@ impl<T, const N: usize> Iterator for IntoIter<T, N> {
         // SAFETY: These elements are currently initialized, so it's fine to drop them.
         unsafe {
             let slice = self.data.get_unchecked_mut(range_to_drop);
-            ptr::drop_in_place(MaybeUninit::slice_assume_init_mut(slice));
+            slice.assume_init_drop();
         }
 
         NonZero::new(remaining).map_or(Ok(()), Err)
@@ -340,7 +340,7 @@ impl<T, const N: usize> DoubleEndedIterator for IntoIter<T, N> {
         // SAFETY: These elements are currently initialized, so it's fine to drop them.
         unsafe {
             let slice = self.data.get_unchecked_mut(range_to_drop);
-            ptr::drop_in_place(MaybeUninit::slice_assume_init_mut(slice));
+            slice.assume_init_drop();
         }
 
         NonZero::new(remaining).map_or(Ok(()), Err)
diff --git a/library/core/src/array/mod.rs b/library/core/src/array/mod.rs
index 95c1eb460cd..2ae5ded1fd5 100644
--- a/library/core/src/array/mod.rs
+++ b/library/core/src/array/mod.rs
@@ -911,9 +911,7 @@ impl<T> Drop for Guard<'_, T> {
 
         // SAFETY: this slice will contain only initialized objects.
         unsafe {
-            crate::ptr::drop_in_place(MaybeUninit::slice_assume_init_mut(
-                self.array_mut.get_unchecked_mut(..self.initialized),
-            ));
+            self.array_mut.get_unchecked_mut(..self.initialized).assume_init_drop();
         }
     }
 }