diff options
author | Jakub Stasiak <jakub@stasiak.at> | 2020-11-02 10:56:35 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-11-02 10:56:35 (GMT) |
commit | 3d86d090dcbbdfdd3e5a5951cab30612d6131222 (patch) | |
tree | 3d67c14e2bf6ece554376a454fe7dde3b7fd01b9 /Lib/asyncio/tasks.py | |
parent | 6e8dcdaaa49d4313bf9fab9f9923ca5828fbb10e (diff) | |
download | cpython-3d86d090dcbbdfdd3e5a5951cab30612d6131222.zip cpython-3d86d090dcbbdfdd3e5a5951cab30612d6131222.tar.gz cpython-3d86d090dcbbdfdd3e5a5951cab30612d6131222.tar.bz2 |
bpo-42230: Improve asyncio documentation regarding accepting sets vs iterables (GH-23073)
People call wait() and as_completed() with various non-set iterables,
a list should be the most common but there are others as well[1].
Considering typeshed also documents wait()[2] and as_completed()[3]
as accepting arbitrary iterables I think it's a good idea to document
the status quo better.
[1] https://github.com/aio-libs/aiokafka/pull/672
[2] https://github.com/python/typeshed/blob/620989bac572f30349b95590ebe81a73ce0fe862/stdlib/3/asyncio/tasks.pyi#L161
[3] https://github.com/python/typeshed/blob/620989bac572f30349b95590ebe81a73ce0fe862/stdlib/3/asyncio/tasks.pyi#L40
Diffstat (limited to 'Lib/asyncio/tasks.py')
-rw-r--r-- | Lib/asyncio/tasks.py | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/Lib/asyncio/tasks.py b/Lib/asyncio/tasks.py index 8b05434..ad31f5d 100644 --- a/Lib/asyncio/tasks.py +++ b/Lib/asyncio/tasks.py @@ -373,7 +373,7 @@ ALL_COMPLETED = concurrent.futures.ALL_COMPLETED async def wait(fs, *, loop=None, timeout=None, return_when=ALL_COMPLETED): """Wait for the Futures and coroutines given by fs to complete. - The sequence futures must not be empty. + The fs iterable must not be empty. Coroutines will be wrapped in Tasks. @@ -573,7 +573,7 @@ def as_completed(fs, *, loop=None, timeout=None): Note: The futures 'f' are not necessarily members of fs. """ if futures.isfuture(fs) or coroutines.iscoroutine(fs): - raise TypeError(f"expect a list of futures, not {type(fs).__name__}") + raise TypeError(f"expect an iterable of futures, not {type(fs).__name__}") from .queues import Queue # Import here to avoid circular import problem. done = Queue(loop=loop) |