From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Mon, 5 Jul 2021 20:46:02 +0000 (-0700) Subject: bpo-43453: Update and re-add example to typing runtime_checkable (GH-27013) X-Git-Tag: v3.10.0b4~11 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=846cc4d28025ac4319069ec3c6db9526c75efd40;p=thirdparty%2FPython%2Fcpython.git bpo-43453: Update and re-add example to typing runtime_checkable (GH-27013) Co-authored-by: Ken Jin <28750310+Fidget-Spinner@users.noreply.github.com> (cherry picked from commit 17f94e28882e1e2b331ace93f42e8615383dee59) Co-authored-by: andrei kulakov --- 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