From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Sun, 28 Oct 2018 13:52:27 +0000 (-0700) Subject: Fix mistakes on function coroutines related definitions (GH-9871) X-Git-Tag: v3.7.2rc1~216 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=50e04cc273e11eb9cba54767cd5bffac3751fa66;p=thirdparty%2FPython%2Fcpython.git Fix mistakes on function coroutines related definitions (GH-9871) Fix a bug I introduced in GH-9864 by which coroutines are treated as synonymous of function coroutines. Also, fix the same mistake (coroutines == function coroutines) already present in other parts of the reference. I'm very sorry for the hassle. (cherry picked from commit 95f68b10d5c9852ef4dcf5b9f2ae15fdf74e8f1c) Co-authored-by: Andrés Delfino --- diff --git a/Doc/reference/compound_stmts.rst b/Doc/reference/compound_stmts.rst index 812a7de483c6..2ebb613c195d 100644 --- a/Doc/reference/compound_stmts.rst +++ b/Doc/reference/compound_stmts.rst @@ -736,16 +736,16 @@ Coroutine function definition keyword: await Execution of Python coroutines can be suspended and resumed at many points -(see :term:`coroutine`). In the body of a coroutine, any ``await`` and +(see :term:`coroutine`). Inside the body of a coroutine function, ``await`` and ``async`` identifiers become reserved keywords; :keyword:`await` expressions, :keyword:`async for` and :keyword:`async with` can only be used in -coroutine bodies. +coroutine function bodies. Functions defined with ``async def`` syntax are always coroutine functions, even if they do not contain ``await`` or ``async`` keywords. -It is a :exc:`SyntaxError` to use ``yield from`` expressions in -``async def`` coroutines. +It is a :exc:`SyntaxError` to use a ``yield from`` expression inside the body +of a coroutine function. An example of a coroutine function:: @@ -794,8 +794,8 @@ Is semantically equivalent to:: See also :meth:`__aiter__` and :meth:`__anext__` for details. -It is a :exc:`SyntaxError` to use an ``async for`` statement outside of a -coroutine. +It is a :exc:`SyntaxError` to use an ``async for`` statement outside the +body of a coroutine function. .. index:: statement: async with @@ -832,8 +832,8 @@ Is semantically equivalent to:: See also :meth:`__aenter__` and :meth:`__aexit__` for details. -It is a :exc:`SyntaxError` to use an ``async with`` statement outside of a -coroutine. +It is a :exc:`SyntaxError` to use an ``async with`` statement outside the +body of a coroutine function. .. seealso::