Both the name of and the docs for MaybeUninit::uninit_array()
make what it actually does somewhat unclear
#66845
Labels
A-array
Area: [T; N]
A-docs
Area: documentation for any part of the project, including the compiler, standard library, and tools
C-enhancement
Category: An issue proposing an enhancement or a PR with one.
T-libs-api
Relevant to the library API team, which will review and decide on the PR/issue.
Basically, based on the name of the function, and also the part of the docs for it that says:
Create a new array of MaybeUninit<T> items, in an uninitialized state.
I initially had the impression that it internally amounted to:
MaybeUninit::<[MaybeUninit<T>; LEN]>::uninit()
and returned an uninitialized array of uninitialized MaybeUninits.
However, after looking at the source, I realized it actually amounts to:
MaybeUninit::<[MaybeUninit<T>; LEN]>::uninit().assume_init()
and returns an initialized array of uninitialized MaybeUninits (which is what I actually needed, so that's good at least!)
The text was updated successfully, but these errors were encountered: