Description
I'm filing this issue to get some testing of the offset_of
macro, whose implementation has recently been merged in #106934 .
There is already widespread use of the offset_of
macro in the ecosystem through an implementation supporting stable via the memoffset
crate, whose version 0.9.0 supports the unstable_offset_of
feature due to Gilnaa/memoffset#72. So for a lot of the users, testing out is as simple as updating memoffset
and running the tests with the unstable_offset_of
feature enabled. Thankfully, for testing one doesn't have to add that feature to Cargo.toml, creating a requirement on nightly, one can just add --features memoffset/unstable_offset_of
and it will work.
The biggest reverse dependencies of memoffset
are:
- crossbeam-epoch: PR
- nix: PR
- rustix: PR
- pyo3: PR comment
- wayland-sys: PR
- wasmtime-runtime: PR comment
- wasmer-types/wasmer-vm
- field-offset: PR comment
- rowan: PR
- glium: PR comment
- intrusive-collections: PR
- imgui: PR
- egui-glow: PR
- virtio-queue: comment
- arcstr: PR
- ggez
It would be good to go through this list, and:
- update the
memoffset
crate to 0.9.0, ideally filing a PR (but not enablingunstable_offset_of
in Cargo.toml unless the project already requires nightly!) - run
cargo +nightly test --features memoffset/unstable_offset_of
orcargo +nightly run --features memoffset/unstable_offset_of
etc, trying out the feature and seeing if something is broken, ideally also the--all
parameter if it's a workspace - tell here about the experience
In addition of that, it is useful to get feedback from any project that uses the memoffset
crate indirectly as a transitive dependency. For that, one also has to wait for the upgrade to 0.9.0 to go through the dependency chain and then one can add a direct (unused) dependency on memoffset
to enable the feature, and test it out.
For example, field-offset has a large number of reverse dependencies that one could go through also. I have made a PR for rustc in #112298.
cc #106655 tracking issue