diff options
author | Alex Waygood <Alex.Waygood@Gmail.com> | 2023-04-11 10:25:45 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-11 10:25:45 (GMT) |
commit | e071f00aaefae9eccf787d5c50396c26c8616483 (patch) | |
tree | 00c4903c298b9a6b55864cfa56a8e34b52936eaa | |
parent | 21bea68e2e97369d808db7d053d4b51b3bc761b9 (diff) | |
download | cpython-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.rst | 4 | ||||
-rw-r--r-- | Doc/reference/datamodel.rst | 15 |
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 |