https://github.com/python/cpython/commit/c53284118d3cf20b7bc9d4d8595eb840ac25a83f
commit: c53284118d3cf20b7bc9d4d8595eb840ac25a83f
branch: 3.15
author: Miss Islington (bot) <[email protected]>
committer: hugovk <[email protected]>
date: 2026-07-29T15:17:00+03:00
summary:

[3.15] gh-132604: Track deprecation related to runtime-checkable protocols 
(3.20) (GH-154790) (#154809)

Co-authored-by: Bartosz Sławecki <[email protected]>

files:
M Doc/deprecations/pending-removal-in-3.20.rst
M Doc/whatsnew/3.15.rst

diff --git a/Doc/deprecations/pending-removal-in-3.20.rst 
b/Doc/deprecations/pending-removal-in-3.20.rst
index 011565dfbb090d4..d771764502c9103 100644
--- a/Doc/deprecations/pending-removal-in-3.20.rst
+++ b/Doc/deprecations/pending-removal-in-3.20.rst
@@ -53,3 +53,12 @@ Pending removal in Python 3.20
 
   * Creating instances of abstract AST nodes (such as :class:`ast.AST`
     or :class:`!ast.expr`) is deprecated and will raise an error in Python 
3.20.
+
+* :mod:`typing`:
+
+  * It is deprecated to call :func:`isinstance` and :func:`issubclass` checks 
on
+    protocol classes that were not explicitly decorated with 
:func:`!runtime_checkable`
+    but that inherit from a runtime-checkable protocol class.
+    This will raise a :exc:`TypeError` in Python 3.20.
+
+    (Contributed by Bartosz Sławecki in :gh:`132604`.)
diff --git a/Doc/whatsnew/3.15.rst b/Doc/whatsnew/3.15.rst
index cac230fa3c2d0b2..99cc1737232e289 100644
--- a/Doc/whatsnew/3.15.rst
+++ b/Doc/whatsnew/3.15.rst
@@ -2309,6 +2309,13 @@ New deprecations
     :func:`issubclass`, but warnings were not previously emitted if it was
     merely imported or accessed from the :mod:`!typing` module.
 
+  * It is deprecated to call :func:`isinstance` and :func:`issubclass` checks 
on
+    protocol classes that were not explicitly decorated with 
:func:`!runtime_checkable`
+    but that inherit from a runtime-checkable protocol class.
+    This will raise a :exc:`TypeError` in Python 3.20.
+
+    (Contributed by Bartosz Sławecki in :gh:`132604`.)
+
 
 * :mod:`webbrowser`:
 

_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3//lists/python-checkins.python.org
Member address: [email protected]

Reply via email to