Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Subpart11 for async drop (major5) - shims codegen #129747

Draft
wants to merge 11 commits into
base: master
Choose a base branch
from

Conversation

azhogin
Copy link
Contributor

@azhogin azhogin commented Aug 29, 2024

This is subpart 11 PR of #123948, just for review purposes.

Shims for:

  • AsyncDropGlueCtorShim : async_drop_in_place<T>(dropee) -> async_drop_in_place<T>(dropee)::{{closure0}}
  • AsyncDropGlue: async_drop_in_place<T>(dropee)::{{closure0}} for non-coroutine dropee types. When we need to generate drop glue (ladder) using drop elaboration and then StateTransform it into coroutine poll function.
  • FutureDropPoll: async_drop_in_place<T>(dropee)::{{closure0}} for coroutine dropee types. When we need to proxy call already generated coroutine_drop_async (produced in StateTransform pass of the coroutine T).

Review only last commit, based on previous PR #129746.

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. 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. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver) labels Aug 29, 2024
@azhogin azhogin mentioned this pull request Aug 29, 2024
@workingjubilee
Copy link
Member

@azhogin I don't think you've made your code easier to review at all.

Comment on lines +363 to +369
/// Allows implementing `AsyncDrop`.
(incomplete, async_drop, "CURRENT_RUSTC_VERSION", Some(126482)),
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unstable library items do not get compiler feature gates.

Suggested change
/// Allows implementing `AsyncDrop`.
(incomplete, async_drop, "CURRENT_RUSTC_VERSION", Some(126482)),

@azhogin azhogin force-pushed the azhogin/async-drop-subpart11-shims-codegen branch from 4d2435f to 33841e6 Compare August 30, 2024 13:21
@azhogin
Copy link
Contributor Author

azhogin commented Aug 30, 2024

@azhogin I don't think you've made your code easier to review at all.

Maybe, you are looking at "File changed" with all changes altogether, not just last commit in "Commits"?
In this specific last commit (33841e6) there is only shim codegen changes.

@azhogin azhogin force-pushed the azhogin/async-drop-subpart11-shims-codegen branch from 33841e6 to 327f30e Compare September 8, 2024 21:08
@azhogin azhogin force-pushed the azhogin/async-drop-subpart11-shims-codegen branch from 327f30e to 1e84499 Compare September 8, 2024 23:03
@bors
Copy link
Contributor

bors commented Sep 9, 2024

☔ The latest upstream changes (presumably #130165) made this pull request unmergeable. Please resolve the merge conflicts.

@davidtwco
Copy link
Member

r? @nikomatsakis is going to look into this

@rustbot rustbot assigned nikomatsakis and unassigned davidtwco Oct 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. 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. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants