Re: [PATCH v5 00/26] Generic `Allocator` support for Rust

Danilo Krummrich
2024-08-15T12:33:30Z

On Thu, Aug 15, 2024 at 11:20:32AM +0200, Alice Ryhl wrote:
> On Thu, Aug 15, 2024 at 4:52 AM Danilo Krummrich <dakr@kernel.org> wrote:
> >
> > On Wed, Aug 14, 2024 at 12:32:15PM -0700, Boqun Feng wrote:
> > > Hi Danilo,
> > >
> > > I'm trying to put your series on rust-dev, but I hit a few conflicts due
> > > to the conflict with `Box::drop_contents`, which has been in rust-dev
> > > for a while. And the conflict is not that trivial for me to resolve.
> > > So just a head-up, that's a requirement for me to put it on rust-dev for
> > > more tests from my end ;-)
> >
> > I rebased everything and you can fetch them from [1].
> >
> > I resolved the following conflicts:
> >
> > - for `Box`, implement
> > - `drop_contents`
> > - `manually_drop_contents` [2]
>
> Not sure I like this name. It sounds like something that runs the
> destructor, but it does the exact opposite.

I thought it kinda makes sense, since it's analogous to `ManuallyDrop::new`.

What about `Box::forget_contents` instead?

>
> > - ``move_out` [2]
> > - `BorrowedMut` for `ForeignOwnable` for `Box<T, A>` and `Pin<Box<T, A>>`
> > - `InPlaceWrite` and updated `InPlaceInit`
> > - for `RBTreeNode`, make use of `Box::move_out` to replace the original
> > implementation partially moving out of `Box`
> >
> > @Alice: Please have a look at the changes for `RBTreeNode`. Maybe it's also
> > worth having them in a separate patch.
>
> RBTree changes LGTM.
>
> Alice
>