Skip to content

Commit

Permalink
[3.13] Postpone module.__loader__ deprecation to Python 3.16 (GH-12…
Browse files Browse the repository at this point in the history
…6482) (#126638)

Postpone `module.__loader__` deprecation to Python 3.16 (#126482)

(cherry picked from commit 450db61)

Co-authored-by: Hugo van Kemenade <[email protected]>
  • Loading branch information
hauntsaninja and hugovk authored Nov 10, 2024
1 parent 4e036d3 commit fa3ee75
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 17 deletions.
7 changes: 0 additions & 7 deletions Doc/deprecations/pending-removal-in-3.14.rst
Original file line number Diff line number Diff line change
@@ -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 <importlib.machinery.ModuleSpec.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.
Expand Down
30 changes: 22 additions & 8 deletions Doc/deprecations/pending-removal-in-3.16.rst
Original file line number Diff line number Diff line change
@@ -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 <importlib.machinery.ModuleSpec.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`:

Expand All @@ -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
Expand Down
4 changes: 2 additions & 2 deletions Doc/reference/datamodel.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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.

Expand Down

0 comments on commit fa3ee75

Please sign in to comment.