diff options
| author | Miguel Ojeda <ojeda@kernel.org> | 2026-10-12 20:56:40 +0200 |
|---|---|---|
| committer | Miguel Ojeda <ojeda@kernel.org> | 2026-10-12 21:21:52 +0200 |
| commit | 969a0af79da8ab33f2887376cb69ace62a9285b0 (patch) | |
| tree | c31998b2785350d5b61e22a9d2a1b45763fdbef6 /scripts/Makefile.thinlto | |
| parent | 5c94956f2bfb87025c1eaded6c51d5841d38d333 (diff) | |
| parent | b7218f1996f8491dbe28632b70f444cb73f554df (diff) | |
| download | linux-969a0af79da8ab33f2887376cb69ace62a9285b0.tar.gz linux-969a0af79da8ab33f2887376cb69ace62a9285b0.zip | |
Merge tag 'pin-init-v7.4' of https://github.com/Rust-for-Linux/linux into rust-next
Pull pin-init updates from Gary Guo:
"User visible changes:
- Support tuple structs.
- Allow safe creation of self references.
- Vastly improve diagnostics for common misuse scenarios.
Other changes:
- Use 'mixed_site' hygiene consistently."
Extra context from Gary's pull request:
"This is a cycle packed with feature updates. Two of the most anticipated
features, tuple struct support and safe self reference creation, has been
included in this pull request.
Safe self reference is a big one and is pushed a bit late in the cycle. The
initial plan was to include a minimum subset for this cycle because I was
worried about potential soundness issues; however during Plumbers it was agreed
that the features should be upstreamed at once. This is because the initial
users (Nova, JobQueue) would all need the advanced features, so it is better to
ensure that the feature get put into use for real, and it can iterate with
users, rather than being fully designed on paper. The existing safety checks
are already very comprehensive, and Benno and I are confident that if new ones
are discovered, it wouldn't affect the overall design.
That said, the the usage of the advanced features (invariance, existential
lifetime) shall be limited to the pre-agreed users only, so even in case where
the feature needs to be reworked, the blast radius is limited.
Another theme in this cycle is to improve the developer experience when things
are used wrongly. A lot of work has been done to use proper spans from
user-provided tokens so error message point to things that cause them. Many
common misuse scenarios also gain additional custom diagnostics."
* tag 'pin-init-v7.4' of https://github.com/Rust-for-Linux/linux: (50 commits)
rust: pin-init: internal: suppress `explicit_outlives_requirements`
rust: pin-init: internal: pin_data: support existential lifetimes
rust: pin-init: internal: pin_data: support shared projection
rust: pin-init: internal: pin_data: perform AST lifetime replacement if possible
rust: pin-init: internal: pin_data: complete invariant borrow support
rust: pin-init: internal: pin_data: make field lifetime invariance imply type invariance
rust: pin-init: internal: pin_data: parse explicit `#[uses]` annotation
rust: pin-init: internal: pin_data: support mutable borrows
rust: pin-init: internal: pin_data: parse explicit `#[borrowed]` annotation
rust: pin-init: internal: pin_data: allow lifetime to be shortened per field drop order
rust: pin-init: internal: pin_data: enable self-referential support
rust: pin-init: internal: pin_data: add `with_project` method
rust: pin-init: internal: pin_data: project self-referential fields
rust: pin-init: internal: pin_data: implement initialization of borrowed structs
rust: pin-init: internal: pin_data: check covariance of self-referential fields
rust: pin-init: internal: pin_data: self-referential drop order checks
rust: pin-init: internal: pin_data: teach drop check about generics that cannot dangle
rust: pin-init: internal: pin_data: pin borrowed fields with wrapper
rust: pin-init: internal: pin_data: rewrite fields that borrow others
rust: pin-init: internal: pin_data: infer self-referential struct
...
Diffstat (limited to 'scripts/Makefile.thinlto')
0 files changed, 0 insertions, 0 deletions
