Tighten wait() return type using overloads (#5193)

Closes: #5095
This commit is contained in:
Cássio Botaro
2021-04-08 15:34:43 -03:00
committed by GitHub
parent 190e07236f
commit e2c4ffd9eb

View File

@@ -149,9 +149,16 @@ def gather(
def run_coroutine_threadsafe(coro: _FutureT[_T], loop: AbstractEventLoop) -> concurrent.futures.Future[_T]: ...
def shield(arg: _FutureT[_T], *, loop: Optional[AbstractEventLoop] = ...) -> Future[_T]: ...
def sleep(delay: float, result: _T = ..., *, loop: Optional[AbstractEventLoop] = ...) -> Future[_T]: ...
@overload
def wait(fs: Iterable[_FT], *, loop: Optional[AbstractEventLoop] = ..., timeout: Optional[float] = ..., return_when: str = ...) -> Future[Tuple[Set[_FT], Set[_FT]]]: ... # type: ignore
@overload
def wait(
fs: Iterable[_FutureT[_T]], *, loop: Optional[AbstractEventLoop] = ..., timeout: Optional[float] = ..., return_when: str = ...
) -> Future[Tuple[Set[Future[_T]], Set[Future[_T]]]]: ...
fs: Iterable[Awaitable[_T]],
*,
loop: Optional[AbstractEventLoop] = ...,
timeout: Optional[float] = ...,
return_when: str = ...,
) -> Future[Tuple[Set[Task[_T]], Set[Task[_T]]]]: ...
def wait_for(fut: _FutureT[_T], timeout: Optional[float], *, loop: Optional[AbstractEventLoop] = ...) -> Future[_T]: ...
class Task(Future[_T], Generic[_T]):