Attempt to clarify the ByteString situation (#9783)

See https://github.com/python/cpython/issues/102092

This makes the behaviour of typing.ByteString better match its
documentation.
This commit is contained in:
Shantanu
2023-05-27 21:37:38 -07:00
committed by GitHub
parent 82ea677495
commit d6a85e2c48
6 changed files with 11 additions and 4 deletions

View File

@@ -36,7 +36,6 @@ from typing import ( # noqa: Y022
IO,
Any,
BinaryIO,
ByteString,
ClassVar,
Generic,
Mapping,
@@ -592,7 +591,7 @@ class str(Sequence[str]):
def __rmul__(self, __value: SupportsIndex) -> str: ... # type: ignore[misc]
def __getnewargs__(self) -> tuple[str]: ...
class bytes(ByteString):
class bytes(Sequence[int]):
@overload
def __new__(cls, __o: Iterable[SupportsIndex] | SupportsIndex | SupportsBytes | ReadableBuffer) -> Self: ...
@overload
@@ -697,7 +696,7 @@ class bytes(ByteString):
def __buffer__(self, __flags: int) -> memoryview: ...
class bytearray(MutableSequence[int], ByteString):
class bytearray(MutableSequence[int]):
@overload
def __init__(self) -> None: ...
@overload

View File

@@ -771,7 +771,7 @@ class TextIO(IO[str]):
@abstractmethod
def __enter__(self) -> TextIO: ...
class ByteString(Sequence[int], metaclass=ABCMeta): ...
ByteString: typing_extensions.TypeAlias = bytes | bytearray | memoryview
# Functions