[3.11] gh-102500: Remove mention of bytes shorthand (#104281) (#104288)
gh-102500: Remove mention of bytes shorthand (#104281)
The bytes shorthand was removed in PEP 688:
https://peps.python.org/pep-0688/#no-special-meaning-for-bytes
The reference to collections.abc.ByteString is also removed, since that object is deprecated (#91896) and has different semantics (#102092)
Although PEP 688 is new in Python 3.12, type checkers are expected to implement the new semantics for type annotations even if users are using an older version of Python, so this docs PR is backported to Python 3.11.
Co-authored-by: Shantanu <12621235+hauntsaninja@users.noreply.github.com>
diff --git a/Doc/library/typing.rst b/Doc/library/typing.rst
index 00d74f7..de716b3 100644
--- a/Doc/library/typing.rst
+++ b/Doc/library/typing.rst
@@ -2090,17 +2090,11 @@
.. class:: ByteString(Sequence[int])
- A generic version of :class:`collections.abc.ByteString`.
-
This type represents the types :class:`bytes`, :class:`bytearray`,
and :class:`memoryview` of byte sequences.
- As a shorthand for this type, :class:`bytes` can be used to
- annotate arguments of any of the types mentioned above.
-
- .. deprecated:: 3.9
- :class:`collections.abc.ByteString` now supports subscripting (``[]``).
- See :pep:`585` and :ref:`types-genericalias`.
+ .. deprecated-removed:: 3.9 3.14
+ Prefer :class:`collections.abc.Buffer`, or a union like ``bytes | bytearray | memoryview``.
.. class:: Collection(Sized, Iterable[T_co], Container[T_co])
@@ -2892,5 +2886,7 @@
| ``typing`` versions of standard | 3.9 | Undecided | :pep:`585` |
| collections | | | |
+----------------------------------+---------------+-------------------+----------------+
+| ``typing.ByteString`` | 3.9 | 3.14 | :gh:`91896` |
++----------------------------------+---------------+-------------------+----------------+
| ``typing.Text`` | 3.11 | Undecided | :gh:`92332` |
+----------------------------------+---------------+-------------------+----------------+