split MaybeUninit into several features, expand docs a bit #58468
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This splits the
maybe_uninit
feature gate into several:maybe_uninit
for what we will hopefully stabilize soon-ish.maybe_uninit_ref
for creating references intoMaybeUninit
, for which the rules are not yet clear.maybe_uninit_slice
for handling slices ofMaybeUninit
, which needs more API design work.maybe_uninit_array
for creating arrays ofMaybeUninit
using a macro (because we don't have Tracking issue for RFC 2203, "Constants in array repeat expressions" #49147 yet).Is that an okay thing to do? The goal is to help people avoid APIs we do not want to stabilize yet. I used this to make sure rustc itself does not use
get_ref
andget_mut
.I also extended the docs to advise against uninitialized integers -- again this is something for which the rules are still being discussed.