Skip to content

Commit 0ff1e6c

Browse files
committed
Add test for MaybeUninit::array_assume_init
1 parent 826bc36 commit 0ff1e6c

File tree

2 files changed

+18
-0
lines changed

2 files changed

+18
-0
lines changed

library/core/tests/lib.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,8 @@
3636
#![feature(raw)]
3737
#![feature(sort_internals)]
3838
#![feature(slice_partition_at_index)]
39+
#![feature(maybe_uninit_uninit_array)]
40+
#![feature(maybe_uninit_array_assume_init)]
3941
#![feature(maybe_uninit_extra)]
4042
#![feature(maybe_uninit_write_slice)]
4143
#![feature(min_specialization)]

library/core/tests/mem.rs

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,22 @@ fn assume_init_good() {
140140
assert!(TRUE);
141141
}
142142

143+
#[test]
144+
fn uninit_array_assume_init() {
145+
let mut array: [MaybeUninit<i16>; 5] = MaybeUninit::uninit_array();
146+
array[0].write(3);
147+
array[1].write(1);
148+
array[2].write(4);
149+
array[3].write(1);
150+
array[4].write(5);
151+
152+
let array = unsafe {
153+
MaybeUninit::array_assume_init(array)
154+
};
155+
156+
assert_eq!(array, [3, 1, 4, 1, 5]);
157+
}
158+
143159
#[test]
144160
fn uninit_write_slice() {
145161
let mut dst = [MaybeUninit::new(255); 64];

0 commit comments

Comments
 (0)