Fix #9110: autodoc: metadata of GenericAlias is not rendered as a reference in py37+

GenericAliasMixin should use `restify()` to render the metadata of
GenericAlias as py36 does.
This commit is contained in:
Takeshi KOMIYA 2021-04-18 14:54:54 +09:00
parent 9105635389
commit 58ec5c4089
5 changed files with 7 additions and 6 deletions

View File

@ -17,6 +17,8 @@ Features added
-------------- --------------
* #8818: autodoc: Super class having ``Any`` arguments causes nit-picky warning * #8818: autodoc: Super class having ``Any`` arguments causes nit-picky warning
* #9110: autodoc: metadata of GenericAlias is not rendered as a reference in
py37+
* #9103: LaTeX: imgconverter: conversion runs even if not needed * #9103: LaTeX: imgconverter: conversion runs even if not needed
* #8127: py domain: Ellipsis in info-field-list causes nit-picky warning * #8127: py domain: Ellipsis in info-field-list causes nit-picky warning
* #9023: More CSS classes on domain descriptions, see :ref:`nodes` for details. * #9023: More CSS classes on domain descriptions, see :ref:`nodes` for details.

View File

@ -1767,8 +1767,7 @@ class GenericAliasMixin(DataDocumenterMixinBase):
def update_content(self, more_content: StringList) -> None: def update_content(self, more_content: StringList) -> None:
if inspect.isgenericalias(self.object): if inspect.isgenericalias(self.object):
alias = stringify_typehint(self.object) more_content.append(_('alias of %s') % restify(self.object), '')
more_content.append(_('alias of %s') % alias, '')
more_content.append('', '') more_content.append('', '')
super().update_content(more_content) super().update_content(more_content)

View File

@ -1915,7 +1915,7 @@ def test_autodoc_GenericAlias(app):
'', '',
' A list of int', ' A list of int',
'', '',
' alias of List[int]', ' alias of :class:`~typing.List`\\ [:class:`int`]',
'', '',
'', '',
'.. py:data:: T', '.. py:data:: T',
@ -1923,7 +1923,7 @@ def test_autodoc_GenericAlias(app):
'', '',
' A list of int', ' A list of int',
'', '',
' alias of List[int]', ' alias of :class:`~typing.List`\\ [:class:`int`]',
'', '',
] ]

View File

@ -156,7 +156,7 @@ def test_autoattribute_GenericAlias(app):
'', '',
' A list of int', ' A list of int',
'', '',
' alias of List[int]', ' alias of :class:`~typing.List`\\ [:class:`int`]',
'', '',
] ]

View File

@ -96,7 +96,7 @@ def test_autodata_GenericAlias(app):
'', '',
' A list of int', ' A list of int',
'', '',
' alias of List[int]', ' alias of :class:`~typing.List`\\ [:class:`int`]',
'', '',
] ]