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 <adelfino@gmail.com>
diff --git a/Doc/reference/compound_stmts.rst b/Doc/reference/compound_stmts.rst
index 812a7de..2ebb613 100644
--- a/Doc/reference/compound_stmts.rst
+++ b/Doc/reference/compound_stmts.rst
@@ -736,16 +736,16 @@
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 @@
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 @@
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::