[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <aFhxtv5tOavHP0N-@pollux>
Date: Sun, 22 Jun 2025 23:12:22 +0200
From: Danilo Krummrich <dakr@...nel.org>
To: Benno Lossin <lossin@...nel.org>
Cc: gregkh@...uxfoundation.org, rafael@...nel.org, ojeda@...nel.org,
alex.gaynor@...il.com, boqun.feng@...il.com, gary@...yguo.net,
bjorn3_gh@...tonmail.com, a.hindborg@...nel.org,
aliceryhl@...gle.com, tmgross@...ch.edu, david.m.ertman@...el.com,
ira.weiny@...el.com, leon@...nel.org, kwilczynski@...nel.org,
bhelgaas@...gle.com, rust-for-linux@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-pci@...r.kernel.org
Subject: Re: [PATCH v2 4/4] rust: devres: implement register_release()
On Sun, Jun 22, 2025 at 10:47:55PM +0200, Benno Lossin wrote:
> On Sun Jun 22, 2025 at 6:40 PM CEST, Danilo Krummrich wrote:
> > +impl<T: Release> Release for crate::sync::ArcBorrow<'_, T> {
> > + fn release(&self) {
> > + self.deref().release();
> > + }
> > +}
> > +
> > +impl<T: Release> Release for Pin<&'_ T> {
>
> You don't need the `'_` here.
>
> > + fn release(&self) {
> > + self.deref().release();
> > + }
> > +}
>
> I still think we're missing a `impl<T: Release> Release for &T`.
Yeah, I really thought the compile can figure this one out.
> And maybe a closure design is better, depending on how much code is
> usually run in `release`, if it's a lot, then we should use the trait
> design. If it's only 1-5 lines, then a closure would also be fine. I
> don't have a strong preference, but if it's mostly one liners, then
> closures would be better.
It should usually be rather short, so probably makes sense.
> If you keep the trait design & we resolve the `&T: Release` question:
>
> Reviewed-by: Benno Lossin <lossin@...nel.org>
>
> ---
> Cheers,
> Benno
Powered by blists - more mailing lists