* [GIT PULL] pin-init changes for v7.2-rc1
@ 2026-06-02 16:39 Gary Guo
0 siblings, 0 replies; only message in thread
From: Gary Guo @ 2026-06-02 16:39 UTC (permalink / raw)
To: Miguel Ojeda, Boqun Feng, Gary Guo, Björn Roy Baron,
Benno Lossin, Andreas Hindborg, Alice Ryhl, Trevor Gross,
Danilo Krummrich
Cc: rust-for-linux
Hi Miguel,
There is more developments this cycle than the last one, with a mix of
improvements and cleanups. No breaking changes to users expected.
Tuple structs did not make it this cycle, I hope it'll finally land the next
one. I have also been working on getting pin-init to support self-referential
types, which I plan to send next cycle (although unsure it can land in the next
one).
The refactoring commits have been in linux-next for a while. There a few
patches taken later in the cycle, and they have all been in linux-next since
2026-06-01. Feel free to wait for a few more rounds before pulling if you see
fit.
Best,
Gary
The following changes since commit 5d6919055dec134de3c40167a490f33c74c12581:
Linux 7.1-rc3 (2026-05-10 14:08:09 -0700)
are available in the Git repository at:
https://github.com/Rust-for-Linux/linux.git tags/pin-init-v7.2
for you to fetch changes up to d2f309227952e73966682f348161094e40eb6440:
rust: pin_init: internal: use `loop {}` to produce never value (2026-05-29 21:58:36 +0100)
----------------------------------------------------------------
pin-init changes for v7.2
User visible changes:
- `non_snake_case` warnings will no longer be generated for identifiers that
are syntactically just users of a field name. This would allow all
`#[allow(non_snake_case)]` in nova-core to be removed, which I will send to
nova tree next cycle.
- Non-cfg attributes are now properly filtered out in derived structs. This
improves pin-init compatibility with other derive macros.
- Projection types have their where clause properly inserted now.
Other changes:
- MSRV is bumped to 1.82 and associated cleanups.
- There is an overhaul on how init slots are projected. The new approach is
easier to justify with safety comments.
- More functions are marked as inline, which should help mitigate super-long
symbol name issue due to lack of inlining.
- Various small code quality cleanups.
----------------------------------------------------------------
Alistair Francis (1):
rust: pin-init: examples: mark as `#[inline]` all `From::from()`s for `Error`
Benno Lossin (1):
rust: pin-init: internal: adjust license identifier of `zeroable.rs`
Gary Guo (17):
rust: pin-init: bump minimum Rust version to 1.82
rust: pin-init: internal: remove redundant `#[pin]` filtering
rust: pin-init: fix badge URL in README
rust: pin-init: cleanup workaround for old Rust compiler
rust: pin-init: internal: turn `PhantomPinned` error into warnings
rust: pin-init: internal: remove `collect_tuple` polyfill after MSRV bump
rust: pin-init: examples: fix `useless_borrows_in_formatting` clippy warning
rust: pin-init: internal: pin_data: use closure for `handle_field`
rust: pin-init: internal: add `PhantomInvariant` and `PhantomInvariantLifetime`
rust: pin-init: internal: init: handle code blocks early
rust: pin-init: internal: use marker on drop guard type for pinned fields
rust: pin-init: internal: make `make_closure` inherent methods
rust: pin-init: internal: project slots instead of references
rust: pin-init: internal: project using full slot
rust: pin-init: move `InitClosure` out from `__internal`
rust: pin-init: remove `E` from `InitClosure`
rust: pin_init: internal: use `loop {}` to produce never value
Martin Kletzander (1):
rust: pin-init: internal: pin_data: filter non-`#[cfg]` attr in generated code
Mirko Adzic (2):
rust: pin-init: internal: suppress `non_snake_case` lint in `#[pin_data]`
rust: pin-init: internal: suppress `non_snake_case` lint in `[pin_]init!`
Mohamad Alsadhan (4):
rust: pin-init: cleanup `Zeroable` and `ZeroableOptions`
rust: pin-init: extend `impl_zeroable_option` macro to handle generics
rust: pin-init: internal: add missing where clause to projection types
rust: pin-init: internal: pin_data: add struct to record field info
Xiaobo Liu (1):
rust: pin-init: docs: fix typos in MaybeZeroable documentation
rust/pin-init/README.md | 2 +-
rust/pin-init/examples/big_struct_in_place.rs | 3 -
rust/pin-init/examples/error.rs | 2 +
rust/pin-init/examples/linked_list.rs | 2 -
rust/pin-init/examples/mutex.rs | 4 +-
rust/pin-init/examples/pthread_mutex.rs | 4 +-
rust/pin-init/examples/static_init.rs | 4 +-
rust/pin-init/internal/src/diagnostics.rs | 14 ++
rust/pin-init/internal/src/init.rs | 169 +++++++---------
rust/pin-init/internal/src/lib.rs | 1 -
rust/pin-init/internal/src/pin_data.rs | 268 ++++++++++++--------------
rust/pin-init/internal/src/zeroable.rs | 2 +-
rust/pin-init/src/__internal.rs | 231 +++++++++++++++-------
rust/pin-init/src/lib.rs | 137 +++++++------
14 files changed, 439 insertions(+), 404 deletions(-)
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2026-06-02 16:40 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-06-02 16:39 [GIT PULL] pin-init changes for v7.2-rc1 Gary Guo
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox