From: andrei kulakov Date: Mon, 5 Jul 2021 16:23:42 +0000 (-0400) Subject: bpo-43453: Update and re-add example to typing runtime_checkable (#27013) X-Git-Tag: v3.11.0a1~726 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=17f94e28882e1e2b331ace93f42e8615383dee59;p=thirdparty%2FPython%2Fcpython.git bpo-43453: Update and re-add example to typing runtime_checkable (#27013) Co-authored-by: Ken Jin <28750310+Fidget-Spinner@users.noreply.github.com> --- diff --git a/Doc/library/typing.rst b/Doc/library/typing.rst index e9980a7745d6..b1d67e46fbb5 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