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 pablogsal
Recipients asvetlov, pablogsal, yselivanov
Date 2018-04-24.11:05:41
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1524567941.57.0.682650639539.issue33346@psf.upfronthosting.co.za>
In-reply-to
Content
Given this async function:

async def elements(n):
    yield n
    yield n*2
    yield n*3
    yield n*4

This definition is considered invalid:

async def test():
    return { n: [x async for x in elements(n)] for n in range(3)}

SyntaxError: asynchronous comprehension outside of an asynchronous function

The reason (I suspect) is because the dict comprehension is not an async context (it would be if range was an async iterable and we use `async for n in range(3)`). 

Is this expected behaviour or something it needs to change?
History
Date User Action Args
2018-04-24 11:05:41pablogsalsetrecipients: + pablogsal, asvetlov, yselivanov
2018-04-24 11:05:41pablogsalsetmessageid: <1524567941.57.0.682650639539.issue33346@psf.upfronthosting.co.za>
2018-04-24 11:05:41pablogsallinkissue33346 messages
2018-04-24 11:05:41pablogsalcreate