[3.13] gh-101100: Fix sphinx warnings in Doc/library/functools.rst (GH-136424) (GH-136554)
Some checks are pending
Tests / Windows MSI (push) Blocked by required conditions
Tests / (push) Blocked by required conditions
Tests / Change detection (push) Waiting to run
Tests / Docs (push) Blocked by required conditions
Tests / Check if the ABI has changed (push) Blocked by required conditions
Tests / Check if Autoconf files are up to date (push) Blocked by required conditions
Tests / Check if generated files are up to date (push) Blocked by required conditions
Tests / Ubuntu SSL tests with OpenSSL (push) Blocked by required conditions
Tests / WASI (push) Blocked by required conditions
Tests / Hypothesis tests on Ubuntu (push) Blocked by required conditions
Tests / Address sanitizer (push) Blocked by required conditions
Tests / CIFuzz (push) Blocked by required conditions
Tests / All required checks pass (push) Blocked by required conditions
Lint / lint (push) Waiting to run

Add index entries and anchors for cache_info, cache_clear and register.
(cherry picked from commit 252e2f710e)

Co-authored-by: Weilin Du <108666168+LamentXU123@users.noreply.github.com>
This commit is contained in:
Serhiy Storchaka 2025-07-11 20:13:07 +03:00 committed by GitHub
parent f7f1448ffe
commit 01710af49d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 21 additions and 13 deletions

View file

@ -199,12 +199,18 @@ The :mod:`functools` module defines the following functions:
and *typed*. This is for information purposes only. Mutating the values
has no effect.
.. method:: lru_cache.cache_info()
:no-typesetting:
To help measure the effectiveness of the cache and tune the *maxsize*
parameter, the wrapped function is instrumented with a :func:`cache_info`
parameter, the wrapped function is instrumented with a :func:`!cache_info`
function that returns a :term:`named tuple` showing *hits*, *misses*,
*maxsize* and *currsize*.
The decorator also provides a :func:`cache_clear` function for clearing or
.. method:: lru_cache.cache_clear()
:no-typesetting:
The decorator also provides a :func:`!cache_clear` function for clearing or
invalidating the cache.
The original underlying function is accessible through the
@ -284,9 +290,9 @@ The :mod:`functools` module defines the following functions:
class decorator supplies the rest. This simplifies the effort involved
in specifying all of the possible rich comparison operations:
The class must define one of :meth:`__lt__`, :meth:`__le__`,
:meth:`__gt__`, or :meth:`__ge__`.
In addition, the class should supply an :meth:`__eq__` method.
The class must define one of :meth:`~object.__lt__`, :meth:`~object.__le__`,
:meth:`~object.__gt__`, or :meth:`~object.__ge__`.
In addition, the class should supply an :meth:`~object.__eq__` method.
For example::
@ -369,7 +375,7 @@ The :mod:`functools` module defines the following functions:
like normal functions, are handled as descriptors).
When *func* is a descriptor (such as a normal Python function,
:func:`classmethod`, :func:`staticmethod`, :func:`abstractmethod` or
:func:`classmethod`, :func:`staticmethod`, :func:`~abc.abstractmethod` or
another instance of :class:`partialmethod`), calls to ``__get__`` are
delegated to the underlying descriptor, and an appropriate
:ref:`partial object<partial-objects>` returned as the result.
@ -447,7 +453,10 @@ The :mod:`functools` module defines the following functions:
... print("Let me just say,", end=" ")
... print(arg)
To add overloaded implementations to the function, use the :func:`register`
.. method:: singledispatch.register()
:no-typesetting:
To add overloaded implementations to the function, use the :func:`!register`
attribute of the generic function, which can be used as a decorator. For
functions annotated with types, the decorator will infer the type of the
first argument automatically::
@ -513,14 +522,14 @@ The :mod:`functools` module defines the following functions:
runtime impact.
To enable registering :term:`lambdas<lambda>` and pre-existing functions,
the :func:`register` attribute can also be used in a functional form::
the :func:`~singledispatch.register` attribute can also be used in a functional form::
>>> def nothing(arg, verbose=False):
... print("Nothing.")
...
>>> fun.register(type(None), nothing)
The :func:`register` attribute returns the undecorated function. This
The :func:`~singledispatch.register` attribute returns the undecorated function. This
enables decorator stacking, :mod:`pickling<pickle>`, and the creation
of unit tests for each variant independently::
@ -598,10 +607,10 @@ The :mod:`functools` module defines the following functions:
.. versionadded:: 3.4
.. versionchanged:: 3.7
The :func:`register` attribute now supports using type annotations.
The :func:`~singledispatch.register` attribute now supports using type annotations.
.. versionchanged:: 3.11
The :func:`register` attribute now supports :data:`types.UnionType`
The :func:`~singledispatch.register` attribute now supports :data:`types.UnionType`
and :data:`typing.Union` as type annotations.
@ -731,7 +740,7 @@ The :mod:`functools` module defines the following functions:
'Docstring'
Without the use of this decorator factory, the name of the example function
would have been ``'wrapper'``, and the docstring of the original :func:`example`
would have been ``'wrapper'``, and the docstring of the original :func:`!example`
would have been lost.