Skip to content

Conversation

@colesbury
Copy link
Contributor

@colesbury colesbury commented Jan 17, 2026

The assignment to generator_return_kind must be after any potentially escaping calls to ensure that it's not overwritten.

…n_kind

The assignment to generator_return_kind has to be after any potentially
escaping calls or it might be overwritten.
Comment on lines +2271 to +2279
class CallGeneratorOnDealloc:
def __del__(self):
def gen():
yield 1
next(gen())

async def coro():
obj = CallGeneratorOnDealloc()
return 42
Copy link
Member

Choose a reason for hiding this comment

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

A little bit smaller in size:

Suggested change
class CallGeneratorOnDealloc:
def __del__(self):
def gen():
yield 1
next(gen())
async def coro():
obj = CallGeneratorOnDealloc()
return 42
class CallGeneratorOnDealloc:
def __del__(self):
next(x for x in [42])
async def coro():
obj = CallGeneratorOnDealloc()

Copy link
Contributor

@kumaraditya303 kumaraditya303 left a comment

Choose a reason for hiding this comment

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

LGTM

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.

3 participants