Re: [PATCH v3 0/2] rust: pin-init: fix incorrect accessor reference lifetime
From: Miguel Ojeda
Date: Thu Apr 30 2026 - 16:44:58 EST
On Mon, Apr 27, 2026 at 5:43 PM Gary Guo <gary@xxxxxxxxxxx> wrote:
>
> When a field has been initialized, `init!`/`pin_init!` create a reference
> or pinned reference to the field so it can be accessed later during the
> initialization of other fields. However, the reference it created is
> incorrectly `&'static` rather than just the scope of the initializer.
>
> This means that you can do
>
> init!(Foo {
> a: 1,
> _: {
> let b: &'static u32 = a;
> }
> })
>
> which is unsound.
>
> This series fix the issue. Details can be found in the second patch.
Applied to `rust-fixes` (originally, half a day ago) -- thanks!
There are a couple typos in the contents of #2, but I didn't change
them since I imagine you may want to do that upstream (relinguished,
transfer -> transfers). I only fixed a couple nits in the commit
messages since I assume that has no impact on your processes:
[ Reworded for missing word. - Miguel ]
[ Reworded for typo. - Miguel ]
Cheers,
Miguel