contextlib2/dev/py3_10_contextlib_pyi_to_contextlib2_pyi.patch
Thomas Grainger c907a9975e
widen _SupportsAclose
Fixes #39
2021-06-29 09:55:17 +01:00

61 lines
2.2 KiB
Diff

--- ../contextlib.pyi 2021-06-29 09:51:57.388558713 +0100
+++ contextlib2/__init__.pyi 2021-06-29 09:51:51.688457760 +0100
@@ -1,3 +1,6 @@
+# Type hints copied from the typeshed project under the Apache License 2.0
+# https://github.com/python/typeshed/blob/64c85cdd449ccaff90b546676220c9ecfa6e697f/LICENSE
+
import sys
from types import TracebackType
from typing import (
@@ -16,8 +19,14 @@
)
from typing_extensions import ParamSpec, Protocol
+# contextlib2 API adaptation notes:
+# * the various 'if True:' guards replace sys.version checks in the original
+# typeshed file (those APIs are available on all supported versions)
+# * deliberately omitted APIs are listed in `dev/mypy.allowlist`
+# (e.g. deprecated experimental APIs that never graduated to the stdlib)
+
AbstractContextManager = ContextManager
-if sys.version_info >= (3, 7):
+if True:
AbstractAsyncContextManager = AsyncContextManager
_T = TypeVar("_T")
@@ -35,7 +44,7 @@
# type ignore to deal with incomplete ParamSpec support in mypy
def contextmanager(func: Callable[_P, Iterator[_T]]) -> Callable[_P, _GeneratorContextManager[_T]]: ... # type: ignore
-if sys.version_info >= (3, 7):
+if True:
def asynccontextmanager(func: Callable[_P, AsyncIterator[_T]]) -> Callable[_P, AsyncContextManager[_T]]: ... # type: ignore
class _SupportsClose(Protocol):
@@ -46,7 +55,7 @@
class closing(ContextManager[_SupportsCloseT]):
def __init__(self, thing: _SupportsCloseT) -> None: ...
-if sys.version_info >= (3, 10):
+if True:
class _SupportsAclose(Protocol):
def aclose(self) -> Awaitable[object]: ...
_SupportsAcloseT = TypeVar("_SupportsAcloseT", bound=_SupportsAclose)
@@ -88,7 +97,7 @@
__traceback: Optional[TracebackType],
) -> bool: ...
-if sys.version_info >= (3, 7):
+if True:
_S = TypeVar("_S", bound=AsyncExitStack)
_ExitCoroFunc = Callable[[Optional[Type[BaseException]], Optional[BaseException], Optional[TracebackType]], Awaitable[bool]]
@@ -112,7 +121,7 @@
__traceback: Optional[TracebackType],
) -> Awaitable[bool]: ...
-if sys.version_info >= (3, 7):
+if True:
class nullcontext(AbstractContextManager[_T]):
enter_result: _T
@overload