On Fri, Mar 07, 2025 at 04:58:49PM -0500, Tamir Duberstein wrote: > Implement `HasWork::work_container_of` in `impl_has_work!`, narrowing > the interface of `HasWork` and replacing pointer arithmetic with > `container_of!`. Remove the provided implementation of > `HasWork::get_work_offset` without replacement; an implementation is > already generated in `impl_has_work!`. Remove the `Self: Sized` bound on > `HasWork::work_container_of` which was apparently necessary to access > `OFFSET` as `OFFSET` no longer exists. > > A similar API change was discussed on the hrtimer series[1]. > > Link: https://lore.kernel.org/all/20250224-hrtimer-v3-v6-12-rc2-v9-1-5bd3bf0ce6cc@xxxxxxxxxx/ [1] > Signed-off-by: Tamir Duberstein <tamird@xxxxxxxxx> Overall looks good to me, but please CC the WORKQUEUE maintainers on the next version. Reviewed-by: Alice Ryhl <aliceryhl@xxxxxxxxxx> Rust Binder still builds with this change: Tested-by: Alice Ryhl <aliceryhl@xxxxxxxxxx> > - where > - Self: Sized, I did have trait object support in mind when I wrote these abstractions, but I don't actually need it and I don't think I actually got it working with trait objects. Alice