From 35828cfb459f8bd132f986dd9fcdaa11b428fa36 Mon Sep 17 00:00:00 2001 From: Nikita Sobolev Date: Thu, 27 Jan 2022 23:15:41 +0300 Subject: [PATCH 1/2] Make `asyncio.isfuture` a `TypeGuard` --- stdlib/asyncio/base_futures.pyi | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/stdlib/asyncio/base_futures.pyi b/stdlib/asyncio/base_futures.pyi index 72ba6163e9d3..efe3e9bba892 100644 --- a/stdlib/asyncio/base_futures.pyi +++ b/stdlib/asyncio/base_futures.pyi @@ -1,6 +1,6 @@ import sys from typing import Any, Callable, Sequence -from typing_extensions import Literal +from typing_extensions import Literal, TypeGuard if sys.version_info >= (3, 7): from contextvars import Context @@ -11,7 +11,7 @@ _PENDING: Literal["PENDING"] # undocumented _CANCELLED: Literal["CANCELLED"] # undocumented _FINISHED: Literal["FINISHED"] # undocumented -def isfuture(obj: object) -> bool: ... +def isfuture(obj: object) -> TypeGuard[futures.Future]: ... if sys.version_info >= (3, 7): def _format_callbacks(cb: Sequence[tuple[Callable[[futures.Future[Any]], None], Context]]) -> str: ... # undocumented From 9533ce168b2109f11f98fe6c0d4d6e54cef06144 Mon Sep 17 00:00:00 2001 From: Nikita Sobolev Date: Fri, 28 Jan 2022 13:53:31 +0300 Subject: [PATCH 2/2] Update base_futures.pyi --- stdlib/asyncio/base_futures.pyi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stdlib/asyncio/base_futures.pyi b/stdlib/asyncio/base_futures.pyi index efe3e9bba892..45828af99897 100644 --- a/stdlib/asyncio/base_futures.pyi +++ b/stdlib/asyncio/base_futures.pyi @@ -11,7 +11,7 @@ _PENDING: Literal["PENDING"] # undocumented _CANCELLED: Literal["CANCELLED"] # undocumented _FINISHED: Literal["FINISHED"] # undocumented -def isfuture(obj: object) -> TypeGuard[futures.Future]: ... +def isfuture(obj: object) -> TypeGuard[futures.Future[Any]]: ... if sys.version_info >= (3, 7): def _format_callbacks(cb: Sequence[tuple[Callable[[futures.Future[Any]], None], Context]]) -> str: ... # undocumented