Skip to content

Commit c532841

Browse files
[3.15] gh-132604: Track deprecation related to runtime-checkable protocols (3.20) (GH-154790) (#154809)
Co-authored-by: Bartosz Sławecki <bartosz@ilikepython.com>
1 parent 02c08e6 commit c532841

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
@@ -2309,6 +2309,13 @@ New deprecations
23092309
:func:`issubclass`, but warnings were not previously emitted if it was
23102310
merely imported or accessed from the :mod:`!typing` module.
23112311

2312+
* It is deprecated to call :func:`isinstance` and :func:`issubclass` checks on
2313+
protocol classes that were not explicitly decorated with :func:`!runtime_checkable`
2314+
but that inherit from a runtime-checkable protocol class.
2315+
This will raise a :exc:`TypeError` in Python 3.20.
2316+
2317+
(Contributed by Bartosz Sławecki in :gh:`132604`.)
2318+
23122319

23132320
* :mod:`webbrowser`:
23142321

0 commit comments

Comments
 (0)