From: Danny Yang Date: Mon, 1 Jul 2024 16:34:39 +0000 (-0400) Subject: gh-114104: clarify asynchronous comprehension docs to match runtime behavior (#121175) X-Git-Tag: v3.14.0a1~1267 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=91313afdb392d0d6105e9aaa57b5a50112b613e7;p=thirdparty%2FPython%2Fcpython.git gh-114104: clarify asynchronous comprehension docs to match runtime behavior (#121175) --- diff --git a/Doc/reference/expressions.rst b/Doc/reference/expressions.rst index 872773f4d282..95ece0e1608d 100644 --- a/Doc/reference/expressions.rst +++ b/Doc/reference/expressions.rst @@ -218,10 +218,12 @@ A comprehension in an :keyword:`!async def` function may consist of either a :keyword:`!for` or :keyword:`!async for` clause following the leading expression, may contain additional :keyword:`!for` or :keyword:`!async for` clauses, and may also use :keyword:`await` expressions. -If a comprehension contains either :keyword:`!async for` clauses or -:keyword:`!await` expressions or other asynchronous comprehensions it is called -an :dfn:`asynchronous comprehension`. An asynchronous comprehension may -suspend the execution of the coroutine function in which it appears. + +If a comprehension contains :keyword:`!async for` clauses, or if it contains +:keyword:`!await` expressions or other asynchronous comprehensions anywhere except +the iterable expression in the leftmost :keyword:`!for` clause, it is called an +:dfn:`asynchronous comprehension`. An asynchronous comprehension may suspend the +execution of the coroutine function in which it appears. See also :pep:`530`. .. versionadded:: 3.6