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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Aug 15, 2024 at 02:34:50PM +0200, Alice Ryhl wrote:
> On Thu, Aug 15, 2024 at 2:33 PM Danilo Krummrich <dakr@xxxxxxxxxx> wrote:
> >
> > 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@xxxxxxxxxx> 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?
> 
> One option is `into_manually_drop`. This uses the convention of using
> the `into_*` prefix for conversions that take ownership of the
> original value.

The signature of the current `Box::manually_drop_contents` is the same as for
`Box::drop_contents`, namely
`fn manually_drop_contents(this: Self) -> Box<MaybeUninit<T>, A>`.

`into_manually_drop` seems misleading for for returning a
`Box<MaybeUninit<T>, A>`.

I still think `forget_contents` hits it quite well. Just as `drop_contents`
drops the value, `forget_contents` makes the `Box` forget the value.

> 
> Alice
> 




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux