From d0b85d7efee1e9252a19567580710ea99434fa5c Mon Sep 17 00:00:00 2001 From: Jelle Zijlstra Date: Thu, 11 Jun 2020 00:10:52 -0700 Subject: [PATCH] remove _types (#4220) --- stdlib/2/fcntl.pyi | 5 ++--- stdlib/2and3/_types.pyi | 10 ---------- stdlib/2and3/_typeshed/__init__.pyi | 9 ++++++++- stdlib/2and3/asyncore.pyi | 2 +- stdlib/2and3/select.pyi | 2 +- stdlib/2and3/termios.pyi | 6 ++---- stdlib/3/asyncio/base_events.pyi | 2 +- stdlib/3/asyncio/events.pyi | 2 +- stdlib/3/faulthandler.pyi | 4 +--- stdlib/3/fcntl.pyi | 2 +- stdlib/3/selectors.pyi | 5 +---- tests/stubtest_whitelists/py3_common.txt | 1 - 12 files changed, 19 insertions(+), 31 deletions(-) delete mode 100644 stdlib/2and3/_types.pyi diff --git a/stdlib/2/fcntl.pyi b/stdlib/2/fcntl.pyi index 04086be62..a8f054cc8 100644 --- a/stdlib/2/fcntl.pyi +++ b/stdlib/2/fcntl.pyi @@ -1,6 +1,5 @@ -from typing import Any, Union, IO -import io -from _types import FileDescriptorLike +from typing import Any, Union +from _typeshed import FileDescriptorLike FASYNC: int FD_CLOEXEC: int diff --git a/stdlib/2and3/_types.pyi b/stdlib/2and3/_types.pyi deleted file mode 100644 index 493979e09..000000000 --- a/stdlib/2and3/_types.pyi +++ /dev/null @@ -1,10 +0,0 @@ -# These types are for typeshed-only objects that don't exist at runtime - -from typing import type_check_only, Protocol, Union - -@type_check_only -class HasFileno(Protocol): - def fileno(self) -> int: ... - -FileDescriptor = int -FileDescriptorLike = Union[int, HasFileno] diff --git a/stdlib/2and3/_typeshed/__init__.pyi b/stdlib/2and3/_typeshed/__init__.pyi index 6329f90ae..431d79557 100644 --- a/stdlib/2and3/_typeshed/__init__.pyi +++ b/stdlib/2and3/_typeshed/__init__.pyi @@ -13,7 +13,7 @@ # is not used, types from this module must be quoted. import sys -from typing import Text, Union +from typing import Protocol, Text, Union, type_check_only from typing_extensions import Literal # StrPath and AnyPath can be used in places where a @@ -51,3 +51,10 @@ OpenBinaryModeReading = Literal[ 'rbU', 'rUb', 'Urb', 'brU', 'bUr', 'Ubr', ] OpenBinaryMode = Union[OpenBinaryModeUpdating, OpenBinaryModeReading, OpenBinaryModeWriting] + +@type_check_only +class HasFileno(Protocol): + def fileno(self) -> int: ... + +FileDescriptor = int +FileDescriptorLike = Union[int, HasFileno] diff --git a/stdlib/2and3/asyncore.pyi b/stdlib/2and3/asyncore.pyi index 3045e6f19..742ac77e2 100644 --- a/stdlib/2and3/asyncore.pyi +++ b/stdlib/2and3/asyncore.pyi @@ -3,7 +3,7 @@ from typing import Tuple, Union, Any, Dict, overload import sys from socket import SocketType from typing import Optional -from _types import FileDescriptorLike +from _typeshed import FileDescriptorLike # cyclic dependence with asynchat _maptype = Dict[int, Any] diff --git a/stdlib/2and3/select.pyi b/stdlib/2and3/select.pyi index 555816723..697e867b4 100644 --- a/stdlib/2and3/select.pyi +++ b/stdlib/2and3/select.pyi @@ -1,7 +1,7 @@ import sys from typing import Any, Iterable, List, Optional, Tuple, Type from types import TracebackType -from _types import FileDescriptorLike +from _typeshed import FileDescriptorLike if sys.platform != "win32": diff --git a/stdlib/2and3/termios.pyi b/stdlib/2and3/termios.pyi index 3e7d3f096..9c8a9553e 100644 --- a/stdlib/2and3/termios.pyi +++ b/stdlib/2and3/termios.pyi @@ -1,7 +1,5 @@ -# Stubs for termios - -from typing import IO, List, Union -from _types import FileDescriptorLike +from typing import List, Union +from _typeshed import FileDescriptorLike _Attr = List[Union[int, List[bytes]]] diff --git a/stdlib/3/asyncio/base_events.pyi b/stdlib/3/asyncio/base_events.pyi index fcf675355..0be834bab 100644 --- a/stdlib/3/asyncio/base_events.pyi +++ b/stdlib/3/asyncio/base_events.pyi @@ -9,7 +9,7 @@ from asyncio.events import AbstractEventLoop, AbstractServer, Handle, TimerHandl from asyncio.protocols import BaseProtocol from asyncio.tasks import Task from asyncio.transports import BaseTransport -from _types import FileDescriptorLike +from _typeshed import FileDescriptorLike if sys.version_info >= (3, 7): from contextvars import Context diff --git a/stdlib/3/asyncio/events.pyi b/stdlib/3/asyncio/events.pyi index f65822178..cceb38872 100644 --- a/stdlib/3/asyncio/events.pyi +++ b/stdlib/3/asyncio/events.pyi @@ -11,7 +11,7 @@ from asyncio.unix_events import AbstractChildWatcher if sys.version_info >= (3, 7): from contextvars import Context -from _types import FileDescriptorLike +from _typeshed import FileDescriptorLike _T = TypeVar('_T') _Context = Dict[str, Any] diff --git a/stdlib/3/faulthandler.pyi b/stdlib/3/faulthandler.pyi index afd739462..ffecf3d5d 100644 --- a/stdlib/3/faulthandler.pyi +++ b/stdlib/3/faulthandler.pyi @@ -1,7 +1,5 @@ -import io import sys -from typing import Union, Protocol -from _types import FileDescriptorLike +from _typeshed import FileDescriptorLike def cancel_dump_traceback_later() -> None: ... def disable() -> None: ... diff --git a/stdlib/3/fcntl.pyi b/stdlib/3/fcntl.pyi index b35bf5212..cfb13ed9c 100644 --- a/stdlib/3/fcntl.pyi +++ b/stdlib/3/fcntl.pyi @@ -1,7 +1,7 @@ from array import array from typing import Any, Union, overload -from _types import FileDescriptorLike from typing_extensions import Literal +from _typeshed import FileDescriptorLike FASYNC: int FD_CLOEXEC: int diff --git a/stdlib/3/selectors.pyi b/stdlib/3/selectors.pyi index 765f47163..9f55e853f 100644 --- a/stdlib/3/selectors.pyi +++ b/stdlib/3/selectors.pyi @@ -1,10 +1,7 @@ -# Stubs for selector -# See https://docs.python.org/3/library/selectors.html - import sys from abc import ABCMeta, abstractmethod from typing import Any, List, Mapping, NamedTuple, Optional, Tuple -from _types import FileDescriptor, FileDescriptorLike +from _typeshed import FileDescriptor, FileDescriptorLike _EventMask = int diff --git a/tests/stubtest_whitelists/py3_common.txt b/tests/stubtest_whitelists/py3_common.txt index 3d07c05c3..c9e12ac74 100644 --- a/tests/stubtest_whitelists/py3_common.txt +++ b/tests/stubtest_whitelists/py3_common.txt @@ -4,7 +4,6 @@ _dummy_threading _importlib_modulespec _operator.methodcaller _threading_local.local.__new__ -_types _typeshed.* # Utility types for typeshed, doesn't exist at runtime _weakref.CallableProxyType.__getattr__ _weakref.ProxyType.__getattr__