From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Thu, 29 Feb 2024 09:54:48 +0000 (+0100) Subject: [3.11] gh-115937: Remove implementation details from inspect.signature() docs (GH... X-Git-Tag: v3.11.9~128 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=6e328371c56c7752932a503291020653421e0485;p=thirdparty%2FPython%2Fcpython.git [3.11] gh-115937: Remove implementation details from inspect.signature() docs (GH-116086) (#116107) gh-115937: Remove implementation details from inspect.signature() docs (GH-116086) (cherry picked from commit fb2e17b642fc3089e4f98e4bf6b09dd362e6b27d) Co-authored-by: Erlend E. Aasland Co-authored-by: Carol Willing Co-authored-by: Gregory P. Smith Co-authored-by: Jelle Zijlstra --- diff --git a/Doc/library/inspect.rst b/Doc/library/inspect.rst index 2ddd5beebd94..9048e6a405cd 100644 --- a/Doc/library/inspect.rst +++ b/Doc/library/inspect.rst @@ -634,9 +634,6 @@ function. Accepts a wide range of Python callables, from plain functions and classes to :func:`functools.partial` objects. - If the passed object has a ``__signature__`` attribute, this function - returns it without further computations. - For objects defined in modules using stringized annotations (``from __future__ import annotations``), :func:`signature` will attempt to automatically un-stringize the annotations using @@ -671,6 +668,13 @@ function. Python. For example, in CPython, some built-in functions defined in C provide no metadata about their arguments. + .. impl-detail:: + + If the passed object has a :attr:`!__signature__` attribute, + we may use it to create the signature. + The exact semantics are an implementation detail and are subject to + unannounced changes. Consult the source code for current semantics. + .. class:: Signature(parameters=None, *, return_annotation=Signature.empty)