On Fri Aug 1, 2025 at 10:21 AM CEST, Danilo Krummrich wrote: > On Thu Jul 31, 2025 at 8:54 PM CEST, Benno Lossin wrote: >> On Thu Jul 31, 2025 at 5:48 PM CEST, Danilo Krummrich wrote: >>> #[repr(C)] >>> -#[pin_data] >>> pub struct Device<T: drm::Driver> { >>> dev: Opaque<bindings::drm_device>, >>> - #[pin] >>> data: T::Data, >> >> Looking at this code again, I also noticed that it was wrong before this >> patch: `Device<T>` implemented `Unpin` if `T::Data` did which is most >> likely wrong (or is `drm_device` not address sensitive?). > > It is, but as mentioned above a drm::Device only ever exists as > ARef<drm::Device>.
Yeah the `Unpin` thing isn't a problem for `ARef`, but we are theoretically allowed to implement moving out of an `ARef` (given that it is unique) when the type is `Unpin`. Thanks for confirming. --- Cheers, Benno