about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--library/core/tests/slice.rs8
1 files changed, 8 insertions, 0 deletions
diff --git a/library/core/tests/slice.rs b/library/core/tests/slice.rs
index 43e2af3eb18..c591dd3e1a6 100644
--- a/library/core/tests/slice.rs
+++ b/library/core/tests/slice.rs
@@ -1,5 +1,6 @@
 use core::cell::Cell;
 use core::cmp::Ordering;
+use core::mem::MaybeUninit;
 use core::result::Result::{Err, Ok};
 
 #[test]
@@ -2144,3 +2145,10 @@ fn test_slice_run_destructors() {
 
     assert_eq!(x.get(), 1);
 }
+
+#[test]
+fn test_slice_fill_with_uninit() {
+    // This should not UB. See #87891
+    let mut a = [MaybeUninit::<u8>::uninit(); 10];
+    a.fill(MaybeUninit::uninit());
+}