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
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)