summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlex Waygood <Alex.Waygood@Gmail.com>2023-04-11 10:25:45 (GMT)
committerGitHub <noreply@github.com>2023-04-11 10:25:45 (GMT)
commite071f00aaefae9eccf787d5c50396c26c8616483 (patch)
tree00c4903c298b9a6b55864cfa56a8e34b52936eaa
parent21bea68e2e97369d808db7d053d4b51b3bc761b9 (diff)
downloadcpython-e071f00aaefae9eccf787d5c50396c26c8616483.zip
cpython-e071f00aaefae9eccf787d5c50396c26c8616483.tar.gz
cpython-e071f00aaefae9eccf787d5c50396c26c8616483.tar.bz2
gh-103373: `__mro_entries__` docs: improve cross references (#103398)
Co-authored-by: C.A.M. Gerlach <CAM.Gerlach@Gerlach.CAM>
-rw-r--r--Doc/library/types.rst4
-rw-r--r--Doc/reference/datamodel.rst15
2 files changed, 12 insertions, 7 deletions
diff --git a/Doc/library/types.rst b/Doc/library/types.rst
index 747ba58..27b9846 100644
--- a/Doc/library/types.rst
+++ b/Doc/library/types.rst
@@ -75,9 +75,9 @@ Dynamic Type Creation
This function looks for items in *bases* that are not instances of
:class:`type`, and returns a tuple where each such object that has
- an ``__mro_entries__`` method is replaced with an unpacked result of
+ an :meth:`~object.__mro_entries__` method is replaced with an unpacked result of
calling this method. If a *bases* item is an instance of :class:`type`,
- or it doesn't have an ``__mro_entries__`` method, then it is included in
+ or it doesn't have an :meth:`!__mro_entries__` method, then it is included in
the return tuple unchanged.
.. versionadded:: 3.7
diff --git a/Doc/reference/datamodel.rst b/Doc/reference/datamodel.rst
index ed9ebab..9f91ade 100644
--- a/Doc/reference/datamodel.rst
+++ b/Doc/reference/datamodel.rst
@@ -2089,16 +2089,21 @@ Resolving MRO entries
.. method:: object.__mro_entries__(self, bases)
If a base that appears in a class definition is not an instance of
- :class:`type`, then an ``__mro_entries__`` method is searched on the base.
- If an ``__mro_entries__`` method is found, the base is substituted with the
- result of a call to ``__mro_entries__`` when creating the class.
- The method is called with the original bases tuple, and must return a tuple
+ :class:`type`, then an :meth:`!__mro_entries__` method is searched on the base.
+ If an :meth:`!__mro_entries__` method is found, the base is substituted with the
+ result of a call to :meth:`!__mro_entries__` when creating the class.
+ The method is called with the original bases tuple
+ passed to the *bases* parameter, and must return a tuple
of classes that will be used instead of the base. The returned tuple may be
empty: in these cases, the original base is ignored.
.. seealso::
- :pep:`560` - Core support for typing module and generic types
+ :func:`types.resolve_bases`
+ Dynamically resolve bases that are not instances of :class:`type`.
+
+ :pep:`560`
+ Core support for typing module and generic types.
Determining the appropriate metaclass