Messages in this thread | | | Date | Wed, 01 Mar 2023 18:23:14 +0100 | Subject | Re: [PATCH 2/2] rust: sync: arc: Add UniqueArc<MaybeUninit<T>::assume_init() | From | "Vincenzo Palazzo" <> |
| |
> We can already create `UniqueArc<MaybeUninit<T>>` instances with > `UniqueArc::try_new_uninit()` and write to them with `write()`. Add > the missing unsafe `assume_init()` function to promote it to > `UniqueArc<T>`, so users can do piece-wise initialization of the > contents instead of doing it all at once as long as they keep the > invariants (the same requirements as `MaybeUninit::assume_init()`). > > This mirrors the std `Arc::assume_init()` function. In the kernel, > since we have `UniqueArc`, arguably this only belongs there since most > use cases will initialize it immediately after creating it, before > demoting it to `Arc` to share it. > > Signed-off-by: Asahi Lina <lina@asahilina.net> > ---
Reviewed-by: Vincenzo Palazzo <vincenzopalazzodev@gmail.com>
| |