Fix and improve `asyncio.run()` docs (GH-16403)
diff --git a/Doc/library/asyncio-task.rst b/Doc/library/asyncio-task.rst
index 9f55a35..155887a 100644
--- a/Doc/library/asyncio-task.rst
+++ b/Doc/library/asyncio-task.rst
@@ -212,6 +212,8 @@
.. function:: run(coro, \*, debug=False)
+ Execute the :term:`coroutine` *coro* and return the result.
+
This function runs the passed coroutine, taking care of
managing the asyncio event loop, *finalizing asynchronous
generators*, and closing the threadpool.
@@ -225,10 +227,6 @@
the end. It should be used as a main entry point for asyncio
programs, and should ideally only be called once.
- Return a result of *coro* execution, or raise a :exc:`RuntimeError`
- if ``asyncio.run()`` is called from a running event loop, or a
- :exc:`ValueError` if *coro* is not a courutine.
-
Example::
async def main():