diff --git a/CHANGES b/CHANGES index 8bfc3fb76..5edc80e38 100644 --- a/CHANGES +++ b/CHANGES @@ -18,6 +18,8 @@ Features added * #8818: autodoc: Super class having ``Any`` arguments causes nit-picky warning * #9095: autodoc: TypeError is raised on processing broken metaclass +* #9110: autodoc: metadata of GenericAlias is not rendered as a reference in + py37+ * #9098: html: copy-range protection for doctests doesn't work in Safari * #9103: LaTeX: imgconverter: conversion runs even if not needed * #8127: py domain: Ellipsis in info-field-list causes nit-picky warning diff --git a/sphinx/ext/autodoc/__init__.py b/sphinx/ext/autodoc/__init__.py index 5a0a8ca10..c92709deb 100644 --- a/sphinx/ext/autodoc/__init__.py +++ b/sphinx/ext/autodoc/__init__.py @@ -1767,8 +1767,7 @@ class GenericAliasMixin(DataDocumenterMixinBase): def update_content(self, more_content: StringList) -> None: if inspect.isgenericalias(self.object): - alias = stringify_typehint(self.object) - more_content.append(_('alias of %s') % alias, '') + more_content.append(_('alias of %s') % restify(self.object), '') more_content.append('', '') super().update_content(more_content) diff --git a/tests/test_ext_autodoc.py b/tests/test_ext_autodoc.py index ccdee6bb2..2becf5de2 100644 --- a/tests/test_ext_autodoc.py +++ b/tests/test_ext_autodoc.py @@ -1915,7 +1915,7 @@ def test_autodoc_GenericAlias(app): '', ' A list of int', '', - ' alias of List[int]', + ' alias of :class:`~typing.List`\\ [:class:`int`]', '', '', '.. py:data:: T', @@ -1923,7 +1923,7 @@ def test_autodoc_GenericAlias(app): '', ' A list of int', '', - ' alias of List[int]', + ' alias of :class:`~typing.List`\\ [:class:`int`]', '', ] diff --git a/tests/test_ext_autodoc_autoattribute.py b/tests/test_ext_autodoc_autoattribute.py index 48e897b2e..5e7220234 100644 --- a/tests/test_ext_autodoc_autoattribute.py +++ b/tests/test_ext_autodoc_autoattribute.py @@ -156,7 +156,7 @@ def test_autoattribute_GenericAlias(app): '', ' A list of int', '', - ' alias of List[int]', + ' alias of :class:`~typing.List`\\ [:class:`int`]', '', ] diff --git a/tests/test_ext_autodoc_autodata.py b/tests/test_ext_autodoc_autodata.py index 907d70aa1..d01e45fc1 100644 --- a/tests/test_ext_autodoc_autodata.py +++ b/tests/test_ext_autodoc_autodata.py @@ -96,7 +96,7 @@ def test_autodata_GenericAlias(app): '', ' A list of int', '', - ' alias of List[int]', + ' alias of :class:`~typing.List`\\ [:class:`int`]', '', ]