[Python-checkins] bpo-43453: Update and re-add example to typing runtime_checkable (#27013)

gvanrossum webhook-mailer at python.org
Mon Jul 5 12:23:50 EDT 2021


https://github.com/python/cpython/commit/17f94e28882e1e2b331ace93f42e8615383dee59
commit: 17f94e28882e1e2b331ace93f42e8615383dee59
branch: main
author: andrei kulakov <andrei.avk at gmail.com>
committer: gvanrossum <gvanrossum at gmail.com>
date: 2021-07-05T09:23:42-07:00
summary:

bpo-43453: Update and re-add example to typing runtime_checkable (#27013)

Co-authored-by: Ken Jin <28750310+Fidget-Spinner at users.noreply.github.com>

files:
M Doc/library/typing.rst

diff --git a/Doc/library/typing.rst b/Doc/library/typing.rst
index e9980a7745d69..b1d67e46fbb5d 100644
--- a/Doc/library/typing.rst
+++ b/Doc/library/typing.rst
@@ -1232,8 +1232,13 @@ These are not used in annotations. They are building blocks for creating generic
 
    .. note::
 
-        :func:`runtime_checkable` will check only the presence of the required methods,
-        not their type signatures.
+        :func:`runtime_checkable` will check only the presence of the required
+        methods, not their type signatures. For example, :class:`ssl.SSLObject`
+        is a class, therefore it passes an :func:`issubclass`
+        check against :data:`Callable`.  However, the
+        :meth:`ssl.SSLObject.__init__` method exists only to raise a
+        :exc:`TypeError` with a more informative message, therefore making
+        it impossible to call (instantiate) :class:`ssl.SSLObject`.
 
    .. versionadded:: 3.8
 



More information about the Python-checkins mailing list