Skip to content

Conversation

@jcouv
Copy link
Member

@jcouv jcouv commented Nov 18, 2025

Relates to test plan #75960

@jcouv jcouv self-assigned this Nov 18, 2025
@jcouv jcouv force-pushed the async-iterator2 branch 4 times, most recently from 2765f0d to 8542bed Compare November 24, 2025 23:33
The `GetAsyncEnumerator` method either returns the current instance if it can be reused,
or creates a new instance of the state machine class.

Assuming that the unspeakble state machine class is named `Unspeakable`, `GetAsyncEnumerator` is emitted as:
Copy link
Member

Choose a reason for hiding this comment

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

Nit:

Suggested change
Assuming that the unspeakble state machine class is named `Unspeakable`, `GetAsyncEnumerator` is emitted as:
Assuming that the unspeakable state machine class is named `Unspeakable`, `GetAsyncEnumerator` is emitted as:


#### Lowering of `yield return`

`yield return` is disallowed in finally, in try with catch and in catch.
Copy link
Member

Choose a reason for hiding this comment

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

Unrelated to this PR, we were going to look at removing some of these restrictions, in particular for yields inside of a try with a catch, right?


## Open issues

Question: AsyncIteratorStateMachineAttribute, or IteratorStateMachineAttribute, or other attribute on kickoff method?
Copy link
Member

Choose a reason for hiding this comment

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

Why would this need to differ from what we do today?

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants