From ed74ca5ca8d60d16f53aaa615012fb3c5ea26d35 Mon Sep 17 00:00:00 2001 From: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com> Date: Sun, 10 Nov 2024 02:48:33 +0200 Subject: [PATCH] Postpone `module.__loader__` deprecation to Python 3.16 (#126482) (cherry picked from commit 450db61a78989c5a1f1106be01e071798c783cf9) --- Doc/deprecations/pending-removal-in-3.14.rst | 7 ----- Doc/deprecations/pending-removal-in-3.16.rst | 30 ++++++++++++++------ Doc/reference/datamodel.rst | 4 +-- 3 files changed, 24 insertions(+), 17 deletions(-) diff --git a/Doc/deprecations/pending-removal-in-3.14.rst b/Doc/deprecations/pending-removal-in-3.14.rst index 5c07c1122fa615..15606f61cf8b0c 100644 --- a/Doc/deprecations/pending-removal-in-3.14.rst +++ b/Doc/deprecations/pending-removal-in-3.14.rst @@ -1,13 +1,6 @@ Pending Removal in Python 3.14 ------------------------------ -* The import system: - - * Setting :attr:`~module.__loader__` on a module while - failing to set :attr:`__spec__.loader ` - is deprecated. In Python 3.14, :attr:`!__loader__` will cease to be set or - taken into consideration by the import system or the standard library. - * :mod:`argparse`: The *type*, *choices*, and *metavar* parameters of :class:`!argparse.BooleanOptionalAction` are deprecated and will be removed in 3.14. diff --git a/Doc/deprecations/pending-removal-in-3.16.rst b/Doc/deprecations/pending-removal-in-3.16.rst index 446cc63cb34ff9..6f6954b783a1ae 100644 --- a/Doc/deprecations/pending-removal-in-3.16.rst +++ b/Doc/deprecations/pending-removal-in-3.16.rst @@ -1,14 +1,12 @@ -Pending Removal in Python 3.16 +Pending removal in Python 3.16 ------------------------------ -* :mod:`builtins`: +* The import system: - * Bitwise inversion on boolean types, ``~True`` or ``~False`` - has been deprecated since Python 3.12, - as it produces surprising and unintuitive results (``-2`` and ``-1``). - Use ``not x`` instead for the logical negation of a Boolean. - In the rare case that you need the bitwise inversion of - the underlying integer, convert to ``int`` explicitly (``~int(x)``). + * Setting :attr:`~module.__loader__` on a module while + failing to set :attr:`__spec__.loader ` + is deprecated. In Python 3.16, :attr:`!__loader__` will cease to be set or + taken into consideration by the import system or the standard library. * :mod:`array`: @@ -18,6 +16,22 @@ Pending Removal in Python 3.16 Use the ``'w'`` format code (:c:type:`Py_UCS4`) for Unicode characters instead. +* :mod:`asyncio`: + + * :func:`!asyncio.iscoroutinefunction` is deprecated + and will be removed in Python 3.16, + use :func:`inspect.iscoroutinefunction` instead. + (Contributed by Jiahao Li and Kumar Aditya in :gh:`122875`.) + +* :mod:`builtins`: + + * Bitwise inversion on boolean types, ``~True`` or ``~False`` + has been deprecated since Python 3.12, + as it produces surprising and unintuitive results (``-2`` and ``-1``). + Use ``not x`` instead for the logical negation of a Boolean. + In the rare case that you need the bitwise inversion of + the underlying integer, convert to ``int`` explicitly (``~int(x)``). + * :mod:`shutil`: * The :class:`!ExecError` exception diff --git a/Doc/reference/datamodel.rst b/Doc/reference/datamodel.rst index ec338e75aaae7c..819126dab70e9b 100644 --- a/Doc/reference/datamodel.rst +++ b/Doc/reference/datamodel.rst @@ -1013,9 +1013,9 @@ this approach. using the :class:`types.ModuleType` constructor. Previously the attribute was optional. - .. deprecated-removed:: 3.12 3.14 + .. deprecated-removed:: 3.12 3.16 Setting :attr:`!__loader__` on a module while failing to set - :attr:`!__spec__.loader` is deprecated. In Python 3.14, + :attr:`!__spec__.loader` is deprecated. In Python 3.16, :attr:`!__loader__` will cease to be set or taken into consideration by the import system or the standard library.