Fix #9756: autodoc: Crashed if classmethod does not have __func__ attribute

This commit is contained in:
Takeshi KOMIYA
2021-10-23 02:14:57 +09:00
parent 6472fb9224
commit ced8895b12
2 changed files with 2 additions and 1 deletions

View File

@@ -60,6 +60,7 @@ Bugs fixed
* #9657: autodoc: The base class for a subclass of mocked object is incorrect
* #9607: autodoc: Incorrect base class detection for the subclasses of the
generic class
* #9756: autodoc: Crashed if classmethod does not have __func__ attribute
* #9630: autosummary: Failed to build summary table if :confval:`primary_domain`
is not 'py'
* #9670: html: Fix download file with special characters

View File

@@ -865,7 +865,7 @@ def getdoc(obj: Any, attrgetter: Callable = safe_getattr,
if cls and name and isclassmethod(obj, cls, name):
for basecls in getmro(cls):
meth = basecls.__dict__.get(name)
if meth:
if meth and hasattr(meth, '__func__'):
return getdoc(meth.__func__)
doc = attrgetter(obj, '__doc__', None)