diff options
-rw-r--r-- | CHANGES | 2 | ||||
-rw-r--r-- | sphinx/ext/autodoc/__init__.py | 6 |
2 files changed, 7 insertions, 1 deletions
@@ -17,6 +17,8 @@ Bugs fixed ---------- * #8164: autodoc: Classes that inherit mocked class are not documented +* #8616: autodoc: AttributeError is raised on non-class object is passed to + autoclass directive Testing -------- diff --git a/sphinx/ext/autodoc/__init__.py b/sphinx/ext/autodoc/__init__.py index a1c642703..7578ebab4 100644 --- a/sphinx/ext/autodoc/__init__.py +++ b/sphinx/ext/autodoc/__init__.py @@ -1662,7 +1662,11 @@ class ClassDocumenter(DocstringSignatureMixin, ModuleLevelDocumenter): # type: def add_content(self, more_content: Optional[StringList], no_docstring: bool = False ) -> None: if self.doc_as_attr: - more_content = StringList([_('alias of %s') % restify(self.object)], source='') + try: + more_content = StringList([_('alias of %s') % restify(self.object)], source='') + except AttributeError: + pass # Invalid class object is passed. + super().add_content(more_content, no_docstring=True) else: super().add_content(more_content) |