[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