On Fri, 4 Jul 2025 02:44:57 +0200 Danilo Krummrich <dakr@xxxxxxxxxx> wrote: > On Tue, Jul 01, 2025 at 11:12:50PM +0900, FUJITA Tomonori wrote: >> +// SAFETY: >> +// * `DRIVER_DATA_OFFSET` is the offset to the `driver_data` field. > > Here and for a few other occurances, this doesn't need to be a list, since it's > just a single item. Indeed, fixed all the places. >> +/// Extension trait for [`RawDeviceId`] for devices that embed an index or context value. >> +/// >> +/// This is typically used when the device ID struct includes a field like `driver_data` >> +/// that is used to store a pointer-sized value (e.g., an index or context pointer). >> +/// >> +/// # Safety >> +/// >> +/// Implementers must ensure that: >> +/// - `DRIVER_DATA_OFFSET` is the correct offset (in bytes) to the context/data field (e.g., the >> +/// `driver_data` field) within the raw device ID structure. This field must be correctly sized >> +/// to hold a `usize`. >> +/// >> +/// Ideally, the data should ideally be added during `Self` to `RawType` conversion, > > Remove one of the duplicate "ideally". Oops, removed. >> +/// but there's currently no way to do it when using traits in const. >> +/// >> +/// - The `index` method must return the value stored at the location specified >> +/// by `DRIVER_DATA_OFFSET`, assuming `self` is layout-compatible with `RawType`. > > I think technically this safety requirement isn't needed. Ah, you're right. I'll remove it. > With this: > > Acked-by: Danilo Krummrich <dakr@xxxxxxxxxx> Thanks a lot!