about summary refs log tree commit diff
diff options
context:
space:
mode:
authorCoffeeBlend <jonasboettiger@icloud.com>2021-01-01 22:12:49 +0100
committerCoffeeBlend <jonasboettiger@icloud.com>2021-01-01 22:12:49 +0100
commit0ff1e6c697f711aa25b8fa2c0cc43bf2ad84ff52 (patch)
treeb1ec5521b68bc26eecb8b7119bcdd440eba11fef
parent826bc3648af1596413de0e7dcfe5f32665619608 (diff)
downloadrust-0ff1e6c697f711aa25b8fa2c0cc43bf2ad84ff52.tar.gz
rust-0ff1e6c697f711aa25b8fa2c0cc43bf2ad84ff52.zip
Add test for MaybeUninit::array_assume_init
-rw-r--r--library/core/tests/lib.rs2
-rw-r--r--library/core/tests/mem.rs16
2 files changed, 18 insertions, 0 deletions
diff --git a/library/core/tests/lib.rs b/library/core/tests/lib.rs
index e01aaa4cbf1..bc737cd1927 100644
--- a/library/core/tests/lib.rs
+++ b/library/core/tests/lib.rs
@@ -36,6 +36,8 @@
 #![feature(raw)]
 #![feature(sort_internals)]
 #![feature(slice_partition_at_index)]
+#![feature(maybe_uninit_uninit_array)]
+#![feature(maybe_uninit_array_assume_init)]
 #![feature(maybe_uninit_extra)]
 #![feature(maybe_uninit_write_slice)]
 #![feature(min_specialization)]
diff --git a/library/core/tests/mem.rs b/library/core/tests/mem.rs
index 79ca2bba403..547f6a2c78c 100644
--- a/library/core/tests/mem.rs
+++ b/library/core/tests/mem.rs
@@ -141,6 +141,22 @@ fn assume_init_good() {
 }
 
 #[test]
+fn uninit_array_assume_init() {
+    let mut array: [MaybeUninit<i16>; 5] = MaybeUninit::uninit_array();
+    array[0].write(3);
+    array[1].write(1);
+    array[2].write(4);
+    array[3].write(1);
+    array[4].write(5);
+
+    let array = unsafe {
+        MaybeUninit::array_assume_init(array)
+    };
+    
+    assert_eq!(array, [3, 1, 4, 1, 5]);
+}
+
+#[test]
 fn uninit_write_slice() {
     let mut dst = [MaybeUninit::new(255); 64];
     let src = [0; 64];