New submission from Allan Feldman <allan.d.feld...@gmail.com>:
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 <rep...@bugs.python.org> <https://bugs.python.org/issue41174> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com