Merge pull request #5345 from tk0miya/fix_autodoc_fox_py351

autodoc: Fix typing.get_type_hints() raises AttributeError for partial objects
This commit is contained in:
Takeshi KOMIYA 2018-08-25 10:57:00 +09:00 committed by GitHub
commit 6e8113da36
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -360,8 +360,13 @@ class Signature(object):
try:
self.annotations = typing.get_type_hints(subject) # type: ignore
except Exception as exc:
logger.warning('Invalid type annotation found on %r. Ingored: %r', subject, exc)
self.annotations = {}
if (3, 5, 0) <= sys.version_info < (3, 5, 3) and isinstance(exc, AttributeError):
# python 3.5.2 raises ValueError for partial objects.
self.annotations = {}
else:
logger.warning('Invalid type annotation found on %r. Ingored: %r',
subject, exc)
self.annotations = {}
if bound_method:
# client gives a hint that the subject is a bound method