Skip to content

Both the name of and the docs for MaybeUninit::uninit_array() make what it actually does somewhat unclear #66845

Closed
@slightlyoutofphase

Description

@slightlyoutofphase

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!)

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-arrayArea: `[T; N]`A-docsArea: Documentation for any part of the project, including the compiler, standard library, and toolsC-enhancementCategory: An issue proposing an enhancement or a PR with one.T-libs-apiRelevant to the library API team, which will review and decide on the PR/issue.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions