New submission from Allan Feldman <[email protected]>:
This code behaves differently when PYTHONASYNCIODEBUG=1
import asyncio
import inspect
@asyncio.coroutine
def foo():
yield from asyncio.sleep(0)
print("isgeneratorfunction:", inspect.isgeneratorfunction(foo))
PYTHONASYNCIODEBUG:
isgeneratorfunction: False
non-debug mode:
isgeneratorfunction: True
When in debug mode, the `asyncio.coroutine` decorator returns a function that
is not a generator function
(https://github.com/python/cpython/blob/bd4a3f21454a6012f4353e2255837561fc9f0e6a/Lib/asyncio/coroutines.py#L144)
The result is that introspection of functions is changed when
PYTHONASYNCIODEBUG is enabled.
----------
components: asyncio
messages: 372706
nosy: a-feld, asvetlov, yselivanov
priority: normal
severity: normal
status: open
title: asyncio.coroutine decorator returns a non-generator function when using
PYTHONASYNCIODEBUG
type: behavior
versions: Python 3.10, Python 3.5, Python 3.6, Python 3.7, Python 3.8, Python
3.9
_______________________________________
Python tracker <[email protected]>
<https://bugs.python.org/issue41174>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com