Skip to content

Commit b4db948

Browse files
authored
gh-132604: Track deprecation related to runtime-checkable protocols (3.20) (#154790)
* Track deprecation related to runtime-checkable protocols until 3.20 * Add deprecation note to 3.15 what's new
1 parent 66eb823 commit b4db948

2 files changed

Lines changed: 16 additions & 0 deletions

File tree

Doc/deprecations/pending-removal-in-3.20.rst

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,3 +53,12 @@ Pending removal in Python 3.20
5353

5454
* Creating instances of abstract AST nodes (such as :class:`ast.AST`
5555
or :class:`!ast.expr`) is deprecated and will raise an error in Python 3.20.
56+
57+
* :mod:`typing`:
58+
59+
* It is deprecated to call :func:`isinstance` and :func:`issubclass` checks on
60+
protocol classes that were not explicitly decorated with :func:`!runtime_checkable`
61+
but that inherit from a runtime-checkable protocol class.
62+
This will raise a :exc:`TypeError` in Python 3.20.
63+
64+
(Contributed by Bartosz Sławecki in :gh:`132604`.)

Doc/whatsnew/3.15.rst

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2317,6 +2317,13 @@ New deprecations
23172317
:func:`issubclass`, but warnings were not previously emitted if it was
23182318
merely imported or accessed from the :mod:`!typing` module.
23192319

2320+
* It is deprecated to call :func:`isinstance` and :func:`issubclass` checks on
2321+
protocol classes that were not explicitly decorated with :func:`!runtime_checkable`
2322+
but that inherit from a runtime-checkable protocol class.
2323+
This will raise a :exc:`TypeError` in Python 3.20.
2324+
2325+
(Contributed by Bartosz Sławecki in :gh:`132604`.)
2326+
23202327

23212328
* :mod:`webbrowser`:
23222329

0 commit comments

Comments
 (0)