mirror of
https://github.com/rust-lang/rust.git
synced 2025-02-22 20:03:37 +00:00
Fix assertion in MaybeUninit::array_assume_init()
for zero-length arrays
This commit is contained in:
parent
1483e67add
commit
f52066726d
@ -839,7 +839,7 @@ impl<T> MaybeUninit<T> {
|
||||
// * MaybeUnint does not drop, so there are no double-frees
|
||||
// And thus the conversion is safe
|
||||
unsafe {
|
||||
intrinsics::assert_inhabited::<T>();
|
||||
intrinsics::assert_inhabited::<[T; N]>();
|
||||
(&array as *const _ as *const [T; N]).read()
|
||||
}
|
||||
}
|
||||
|
@ -152,6 +152,8 @@ fn uninit_array_assume_init() {
|
||||
let array = unsafe { MaybeUninit::array_assume_init(array) };
|
||||
|
||||
assert_eq!(array, [3, 1, 4, 1, 5]);
|
||||
|
||||
let [] = unsafe { MaybeUninit::<!>::array_assume_init([]) };
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
Loading…
Reference in New Issue
Block a user