]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-103373: `__mro_entries__` docs: improve cross references (#103398)
authorAlex Waygood <Alex.Waygood@Gmail.com>
Tue, 11 Apr 2023 10:25:45 +0000 (11:25 +0100)
committerGitHub <noreply@github.com>
Tue, 11 Apr 2023 10:25:45 +0000 (11:25 +0100)
Co-authored-by: C.A.M. Gerlach <CAM.Gerlach@Gerlach.CAM>
Doc/library/types.rst
Doc/reference/datamodel.rst

index 747ba58bb225d41536deb8441b0d8083cc3ca52d..27b9846325914d9f5c08fb998e0b8b89f5fee70d 100644 (file)
@@ -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
index ed9ebaba784bc25b9971c4c5e70330f053441ed3..9f91ade35e50dcb67ba5b9ab09c5af85553f6457 100644 (file)
@@ -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