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.

Author vstinner
Recipients BTaskaya, asvetlov, jack1142, lukasz.langa, miss-islington, pablogsal, serhiy.storchaka, vstinner, yselivanov
Date 2020-04-22.16:34:51
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <>
> bpo-39562: Prevent collision of future and compiler flags (GH-19230)

I tested manually: this change fix my msg365311 reproducer. Thanks!

In Python 3.8, PyCF_ALLOW_TOP_LEVEL_AWAIT = CO_FUTURE_DIVISION = 0x2000. The commit 9052f7a41b90f2d34011c8da68f9a4facebc8a97 was backported to 3.8:

New changeset ec8a973f7cf080d9c0679f058b2371f0b7c7862c by Miss Islington (bot) in branch '3.8':
bpo-39562: Allow executing asynchronous comprehensions in the asyncio REPL (GH-18968)

And now 3.8 branch also has the bug: msg365311 reproducer fails as well in 3.8.

What should be done? Revert ec8a973f7cf080d9c0679f058b2371f0b7c7862c? Change constants value in Python 3.8.3? (backport 4454057269b995341b04d13f0bf97f96080f27d0 to 3.8)

IMHO reverting the commit ec8a973f7cf080d9c0679f058b2371f0b7c7862c (fix async comprehension in asyncio REPL) is the safest option.

First, I understood that the asyncio REPL was experimental in Python 3.8:

But it's not documented as provisional or experimental in What's New in Python 3.8:

But I'm also fine with backporting the fix 4454057269b995341b04d13f0bf97f96080f27d0 (change constants) to 3.8.
Date User Action Args
2020-04-22 16:34:52vstinnersetrecipients: + vstinner, asvetlov, lukasz.langa, serhiy.storchaka, yselivanov, pablogsal, miss-islington, BTaskaya, jack1142
2020-04-22 16:34:52vstinnersetmessageid: <>
2020-04-22 16:34:52vstinnerlinkissue39562 messages
2020-04-22 16:34:51vstinnercreate