Re: [PATCH v4 4/5] rust: types: ForeignOwnable: Add type Target

From: Boqun Feng
Date: Thu Jun 26 2025 - 19:21:44 EST




On Thu, Jun 26, 2025, at 4:17 PM, Benno Lossin wrote:
> On Thu Jun 26, 2025 at 10:20 PM CEST, Boqun Feng wrote:
>> On Thu, Jun 26, 2025 at 10:00:42PM +0200, Danilo Krummrich wrote:
>>> diff --git a/rust/kernel/types.rs b/rust/kernel/types.rs
>>> index 3958a5f44d56..74c787b352a9 100644
>>> --- a/rust/kernel/types.rs
>>> +++ b/rust/kernel/types.rs
>>> @@ -27,6 +27,9 @@
>>> /// [`into_foreign`]: Self::into_foreign
>>> /// [`PointedTo`]: Self::PointedTo
>>> pub unsafe trait ForeignOwnable: Sized {
>>> + /// The payload type of the foreign-owned value.
>>> + type Target;
>>
>> I think `ForeignOwnable` also implies a `T` maybe get dropped via a
>> pointer from `into_foreign()`. Not sure it's worth mentioning though.
>
> What? How would that happen?
>

The owner of the pointer can do from_foreign() and eventually drop
the ForeignOwnable, hence dropping T.

Regards,
Boqun

> ---
> Cheers,
> Benno