See #138596
It looks like Rust 2024 regressed in expressivity. The exact original behavior of the pin!() macro cannot be expressed in Rust 2024.
As a temporary workaround for pin!() itself, #138717 adds #[rustc_macro_edition_2021].
Both #138622 (comment) and #138717 mention super let as the proper solution.
One could argue that pin!() cannot be expressed in any Rust edition, because it relies on an unstable public (hidden) field and #[allow_internal_unstable]. This problem is also solved by super let.
See #138596
It looks like Rust 2024 regressed in expressivity. The exact original behavior of the
pin!()macro cannot be expressed in Rust 2024.As a temporary workaround for
pin!()itself, #138717 adds#[rustc_macro_edition_2021].Both #138622 (comment) and #138717 mention
super letas the proper solution.One could argue that
pin!()cannot be expressed in any Rust edition, because it relies on an unstable public (hidden) field and#[allow_internal_unstable]. This problem is also solved bysuper let.