Skip to content

Implement pin!() using super let#139114

Merged
bors merged 4 commits intorust-lang:masterfrom
m-ou-se:super-let-pin
Apr 19, 2025
Merged

Implement pin!() using super let#139114
bors merged 4 commits intorust-lang:masterfrom
m-ou-se:super-let-pin

Conversation

@m-ou-se
Copy link
Copy Markdown
Member

@m-ou-se m-ou-se commented Mar 29, 2025

Tracking issue for super let: #139076

This uses super let to implement pin!().

This means we can remove the hack we had to put in to fix #138596.

It also means we can remove the original hack to make pin!() work, which used a questionable public-but-unstable field rather than a proper private field.

While super let is still unstable and subject to change, it seems safe to assume that future Rust will always have a way to express pin!() in a compatible way, considering pin!() is already stable.

It'd help the experiment to have pin!() use super let, so we can get some more experience with it.

Loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CI-spurious-fail-msvc CI spurious failure: target env msvc merged-by-bors This PR was explicitly merged by bors. S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

pin macro no longer lifetime extends argument

8 participants