Skip to content

[stable/20250601] Coro: Add a function attribute for resume from call async functlets #11012

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

Conversation

nate-chandler
Copy link

This change adds a function attribute async_ret for any funclet generated from a async function marked with async_entry that models a return from an async function.

We recognize these continuations by a __swift_async_resume_project_context projection function argument to the suspend function.

rdar://134460666

@nate-chandler nate-chandler changed the title Coro: Add a function attribute for resume from call async functlets [stable/20250601] Coro: Add a function attribute for resume from call async functlets Jul 16, 2025
This change adds a function attribute `async_ret` for any funclet
generated from a async function marked with `async_entry` that models a
return from an async function.

We recognize these continuations by a `__swift_async_resume_project_context`
projection function argument to the suspend function.

rdar://134460666
@nate-chandler nate-chandler force-pushed the cherrypick/stable/20250601/async_call_ret_metadata branch from 5b0d1f4 to 579b768 Compare July 16, 2025 23:08
@nate-chandler
Copy link
Author

@swift-ci please test

@nate-chandler
Copy link
Author

@swift-ci please test llvm

@AnthonyLatsis
Copy link

Test runs are looking good.

@AnthonyLatsis AnthonyLatsis merged commit fe040e5 into swiftlang:stable/20250601 Jul 17, 2025
2 of 5 checks passed
@nate-chandler nate-chandler deleted the cherrypick/stable/20250601/async_call_ret_metadata branch July 17, 2025 15:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants