From 0fdd4b5bcfb706a3dcec7f1acedefecc5729eb5c Mon Sep 17 00:00:00 2001 From: Rune Tynan Date: Sat, 30 May 2020 20:52:48 -0400 Subject: [PATCH 1/2] Improve TypeVar stub --- stdlib/2/typing.pyi | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/stdlib/2/typing.pyi b/stdlib/2/typing.pyi index e43495d7ee4f..55b91845e0a7 100644 --- a/stdlib/2/typing.pyi +++ b/stdlib/2/typing.pyi @@ -9,7 +9,15 @@ import collections # Needed by aliases like DefaultDict, see mypy issue 2986 overload = object() Any = object() -TypeVar = object() + +class TypeVar: + __name__: str + __bound__: Optional[Type[Any]] + __constraints__: Tuple[Type[Any], ...] + __covariant__: bool + __contravariant__: bool + def __init__(self, name: str, *constraints: Type[Any], bound: Optional[Type[Any]] = ..., covariant: bool = ..., contravariant: bool = ...) -> None: ... + _promote = object() class _SpecialForm(object): From a26cab84f300f6d55883a3405a68c09774155e9b Mon Sep 17 00:00:00 2001 From: Rune Tynan Date: Sat, 30 May 2020 20:53:07 -0400 Subject: [PATCH 2/2] Copy it over to 3, whoops --- stdlib/3/typing.pyi | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/stdlib/3/typing.pyi b/stdlib/3/typing.pyi index 046d0cf42a17..7fe15b9ff841 100644 --- a/stdlib/3/typing.pyi +++ b/stdlib/3/typing.pyi @@ -10,7 +10,15 @@ import collections # Needed by aliases like DefaultDict, see mypy issue 2986 overload = object() Any = object() -TypeVar = object() + +class TypeVar: + __name__: str + __bound__: Optional[Type[Any]] + __constraints__: Tuple[Type[Any], ...] + __covariant__: bool + __contravariant__: bool + def __init__(self, name: str, *constraints: Type[Any], bound: Optional[Type[Any]] = ..., covariant: bool = ..., contravariant: bool = ...) -> None: ... + _promote = object() class _SpecialForm: