From 3854ac1be33acfee2c1fc8fcc2610ce37337cef0 Mon Sep 17 00:00:00 2001 From: florimondmanca Date: Sun, 19 Jun 2022 12:23:01 +0200 Subject: [PATCH 1/4] Tweak pre-3.8 iscoroutine stub --- stdlib/asyncio/coroutines.pyi | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/stdlib/asyncio/coroutines.pyi b/stdlib/asyncio/coroutines.pyi index 6d4d507c6a4c..630fb090e86d 100644 --- a/stdlib/asyncio/coroutines.pyi +++ b/stdlib/asyncio/coroutines.pyi @@ -1,7 +1,6 @@ import sys -import types from collections.abc import Coroutine -from typing import Any +from typing import Any, AwaitableGenerator from typing_extensions import TypeGuard if sys.version_info >= (3, 11): @@ -24,4 +23,4 @@ if sys.version_info >= (3, 8): def iscoroutine(obj: object) -> TypeGuard[Coroutine[Any, Any, Any]]: ... else: - def iscoroutine(obj: object) -> TypeGuard[types.GeneratorType[Any, Any, Any] | Coroutine[Any, Any, Any]]: ... + def iscoroutine(obj: object) -> TypeGuard[AwaitableGenerator[Any, Any, Any, Any] | Coroutine[Any, Any, Any]]: ... From 9eff23b285181aa0be49ccad436da13e5b57c1d2 Mon Sep 17 00:00:00 2001 From: florimondmanca Date: Tue, 28 Jun 2022 11:30:10 +0200 Subject: [PATCH 2/4] Apply feedback --- stdlib/asyncio/coroutines.pyi | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/stdlib/asyncio/coroutines.pyi b/stdlib/asyncio/coroutines.pyi index 630fb090e86d..41a1076b17f5 100644 --- a/stdlib/asyncio/coroutines.pyi +++ b/stdlib/asyncio/coroutines.pyi @@ -1,7 +1,7 @@ import sys from collections.abc import Coroutine -from typing import Any, AwaitableGenerator -from typing_extensions import TypeGuard +from typing import Any +from typing_extensions import Annotated, TypeGuard if sys.version_info >= (3, 11): __all__ = ("iscoroutinefunction", "iscoroutine") @@ -23,4 +23,4 @@ if sys.version_info >= (3, 8): def iscoroutine(obj: object) -> TypeGuard[Coroutine[Any, Any, Any]]: ... else: - def iscoroutine(obj: object) -> TypeGuard[AwaitableGenerator[Any, Any, Any, Any] | Coroutine[Any, Any, Any]]: ... + def iscoroutine(obj: object) -> Annotated[TypeGuard[Coroutine[Any, Any, Any]], "can actually be a generator-style coroutine"]: ... From 45b9821c733f823a70fd595427c323a45ba1b58d Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 28 Jun 2022 09:31:41 +0000 Subject: [PATCH 3/4] [pre-commit.ci] auto fixes from pre-commit.com hooks --- stdlib/asyncio/coroutines.pyi | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/stdlib/asyncio/coroutines.pyi b/stdlib/asyncio/coroutines.pyi index 41a1076b17f5..3ed30020eb46 100644 --- a/stdlib/asyncio/coroutines.pyi +++ b/stdlib/asyncio/coroutines.pyi @@ -23,4 +23,6 @@ if sys.version_info >= (3, 8): def iscoroutine(obj: object) -> TypeGuard[Coroutine[Any, Any, Any]]: ... else: - def iscoroutine(obj: object) -> Annotated[TypeGuard[Coroutine[Any, Any, Any]], "can actually be a generator-style coroutine"]: ... + def iscoroutine( + obj: object, + ) -> Annotated[TypeGuard[Coroutine[Any, Any, Any]], "can actually be a generator-style coroutine"]: ... From 1cfea7237932cd282b388bb5189f91134798361e Mon Sep 17 00:00:00 2001 From: florimondmanca Date: Wed, 6 Jul 2022 14:10:05 +0200 Subject: [PATCH 4/4] Move to comment --- stdlib/asyncio/coroutines.pyi | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/stdlib/asyncio/coroutines.pyi b/stdlib/asyncio/coroutines.pyi index 3ed30020eb46..5c640af5a1ca 100644 --- a/stdlib/asyncio/coroutines.pyi +++ b/stdlib/asyncio/coroutines.pyi @@ -1,7 +1,7 @@ import sys from collections.abc import Coroutine from typing import Any -from typing_extensions import Annotated, TypeGuard +from typing_extensions import TypeGuard if sys.version_info >= (3, 11): __all__ = ("iscoroutinefunction", "iscoroutine") @@ -19,10 +19,5 @@ if sys.version_info < (3, 11): def iscoroutinefunction(func: object) -> bool: ... -if sys.version_info >= (3, 8): - def iscoroutine(obj: object) -> TypeGuard[Coroutine[Any, Any, Any]]: ... - -else: - def iscoroutine( - obj: object, - ) -> Annotated[TypeGuard[Coroutine[Any, Any, Any]], "can actually be a generator-style coroutine"]: ... +# Can actually be a generator-style coroutine on Python 3.7 +def iscoroutine(obj: object) -> TypeGuard[Coroutine[Any, Any, Any]]: ...