Closed
Description
Bug report
Bug description:
when running agen.aclose().close()
it should throw GeneratorExit into the coroutine and raise RuntimeError from .close()
:
import types
@types.coroutine
def _async_yield(v):
return (yield v)
async def agenfn():
try:
yield 1
finally:
try:
await _async_yield(2)
except GeneratorExit:
print("generator exit")
await _async_yield(3)
agen = agenfn()
try:
anext(agen).send(None)
except StopIteration as e:
print(e.value)
try:
agen.aclose().close()
except RuntimeError:
print("good")
else:
print("bad")
prints:
1
bad
Exception ignored in: <async_generator object agenfn at 0x7e0c43b09620>
RuntimeError: async generator ignored GeneratorExit
CPython versions tested on:
3.11, 3.12, 3.13, CPython main branch
Operating systems tested on:
Linux