From 39b17945c05406ff6256aae6a0fe2530a3cc4e85 Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Sun, 13 Dec 2020 11:18:48 -0800 Subject: [PATCH 1/3] Add PEP 612 support to typing_extensions stub --- third_party/2and3/typing_extensions.pyi | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/third_party/2and3/typing_extensions.pyi b/third_party/2and3/typing_extensions.pyi index 3566669eb33c..2df6b24f3613 100644 --- a/third_party/2and3/typing_extensions.pyi +++ b/third_party/2and3/typing_extensions.pyi @@ -103,3 +103,12 @@ class TypeAlias: ... class SupportsIndex(Protocol, metaclass=abc.ABCMeta): @abc.abstractmethod def __index__(self) -> int: ... + +# PEP 612 support for Python < 3.9 +if sys.version_info >= (3, 10): + from typing import ParamSpec, Concatenate +else: + class ParamSpec: + __name__: str + def __init__(self, name: str) -> None: ... + Concatenate: _SpecialForm = ... From a8b0d5a5308800b0ded1119262b5f83b8635ae1d Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Sun, 13 Dec 2020 11:27:03 -0800 Subject: [PATCH 2/3] Fix imports --- third_party/2and3/typing_extensions.pyi | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/third_party/2and3/typing_extensions.pyi b/third_party/2and3/typing_extensions.pyi index 2df6b24f3613..da1fc067474c 100644 --- a/third_party/2and3/typing_extensions.pyi +++ b/third_party/2and3/typing_extensions.pyi @@ -106,7 +106,10 @@ class SupportsIndex(Protocol, metaclass=abc.ABCMeta): # PEP 612 support for Python < 3.9 if sys.version_info >= (3, 10): - from typing import ParamSpec, Concatenate + from typing import ( + Concatenate as Concatenate, + ParamSpec as ParamSpec, + ) else: class ParamSpec: __name__: str From d239bd2d437f1cc1a2e8d3a179091f172cfcf21c Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Sun, 13 Dec 2020 11:29:42 -0800 Subject: [PATCH 3/3] Shorten import --- third_party/2and3/typing_extensions.pyi | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/third_party/2and3/typing_extensions.pyi b/third_party/2and3/typing_extensions.pyi index da1fc067474c..aec0f9440a8c 100644 --- a/third_party/2and3/typing_extensions.pyi +++ b/third_party/2and3/typing_extensions.pyi @@ -106,10 +106,7 @@ class SupportsIndex(Protocol, metaclass=abc.ABCMeta): # PEP 612 support for Python < 3.9 if sys.version_info >= (3, 10): - from typing import ( - Concatenate as Concatenate, - ParamSpec as ParamSpec, - ) + from typing import Concatenate as Concatenate, ParamSpec as ParamSpec else: class ParamSpec: __name__: str