From 0ff1e6c697f711aa25b8fa2c0cc43bf2ad84ff52 Mon Sep 17 00:00:00 2001 From: CoffeeBlend Date: Fri, 1 Jan 2021 22:12:49 +0100 Subject: [PATCH] Add test for MaybeUninit::array_assume_init --- library/core/tests/lib.rs | 2 ++ library/core/tests/mem.rs | 16 ++++++++++++++++ 2 files changed, 18 insertions(+) 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 @@ -140,6 +140,22 @@ fn assume_init_good() { assert!(TRUE); } +#[test] +fn uninit_array_assume_init() { + let mut array: [MaybeUninit; 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];