Re: [PATCH v2 4/4] rust: devres: implement register_release()

From: Benno Lossin
Date: Sun Jun 22 2025 - 17:20:32 EST


On Sun Jun 22, 2025 at 11:12 PM CEST, Danilo Krummrich wrote:
> 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.

To me it makes perfect sense that it doesn't work, since `T: Release`,
but `&T: Release` is not satisfied.

Also a funny note: if you add the impl any number of `&` before the `T`
will implement `Release` :)

---
Cheers,
Benno