On Fri Jun 27, 2025 at 1:21 AM CEST, Boqun Feng wrote: > 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. I'm confused, you said `into_foreign` above. I don't think any sensible ForeignOwnable implementation will drop a T in any of its functions. --- Cheers, Benno