This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Title: asyncio.coroutine decorator returns a non-generator function when using PYTHONASYNCIODEBUG
Type: behavior Stage: resolved
Components: asyncio Versions: Python 3.10, Python 3.9, Python 3.8, Python 3.7, Python 3.6, Python 3.5
Status: closed Resolution: wont fix
Dependencies: Superseder:
Assigned To: Nosy List: a-feld, asvetlov, iritkatriel, yselivanov
Priority: normal Keywords:

Created on 2020-06-30 17:14 by a-feld, last changed 2022-04-11 14:59 by admin. This issue is now closed.

Messages (3)
msg372706 - (view) Author: Allan Feldman (a-feld) * Date: 2020-06-30 17:14
This code behaves differently when PYTHONASYNCIODEBUG=1

import asyncio
import inspect

def foo():
    yield from asyncio.sleep(0)

print("isgeneratorfunction:", inspect.isgeneratorfunction(foo))

isgeneratorfunction: False

non-debug mode:
isgeneratorfunction: True

When in debug mode, the `asyncio.coroutine` decorator returns a function that is not a generator function (

The result is that introspection of functions is changed when PYTHONASYNCIODEBUG is enabled.
msg407868 - (view) Author: Irit Katriel (iritkatriel) * (Python committer) Date: 2021-12-06 22:07
asyncio.coroutine was removed in 3.11, and I don't think this will be changed in stable versions. I will close this issue unless I am corrected.
msg407899 - (view) Author: Andrew Svetlov (asvetlov) * (Python committer) Date: 2021-12-07 08:20
Agree, thanks!
Date User Action Args
2022-04-11 14:59:33adminsetgithub: 85346
2021-12-07 08:27:33iritkatrielsetstatus: open -> closed
stage: resolved
2021-12-07 08:20:16asvetlovsetstatus: pending -> open

messages: + msg407899
2021-12-06 22:07:52iritkatrielsetstatus: open -> pending

nosy: + iritkatriel
messages: + msg407868

resolution: wont fix
2020-06-30 17:14:21a-feldcreate