summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTakeshi KOMIYA <i.tkomiya@gmail.com>2021-04-20 01:44:21 +0900
committerGitHub <noreply@github.com>2021-04-20 01:44:21 +0900
commit98004403c036a70ff295af5af7d9467ceade5451 (patch)
tree8846102ed481e96c47bae3879b38925dfc13075c
parentab75cc74cfd7496958a15ca074adb9489edd8a89 (diff)
parent70e2def0c44d5143d1f32db227623ff7cbbbd33d (diff)
downloadsphinx-git-98004403c036a70ff295af5af7d9467ceade5451.tar.gz
Merge pull request #9111 from tk0miya/9110_restify_GenericAlias
Fix #9110: autodoc: metadata of GenericAlias is not rendered as a reference in py37+
-rw-r--r--CHANGES2
-rw-r--r--sphinx/ext/autodoc/__init__.py3
-rw-r--r--tests/test_ext_autodoc.py4
-rw-r--r--tests/test_ext_autodoc_autoattribute.py2
-rw-r--r--tests/test_ext_autodoc_autodata.py2
5 files changed, 7 insertions, 6 deletions
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`]',
'',
]