Fix autodoc misdetect typing with py3.6

This commit is contained in:
Takeshi KOMIYA 2016-09-29 11:39:26 +09:00
parent 83d6ec11ce
commit 9118fa38a1

View File

@ -261,6 +261,8 @@ def format_annotation(annotation):
Displaying complex types from ``typing`` relies on its private API.
"""
if typing and isinstance(annotation, typing.TypeVar):
return annotation.__name__
if not isinstance(annotation, type):
return repr(annotation)
@ -270,9 +272,7 @@ def format_annotation(annotation):
if annotation.__module__ == 'builtins':
return annotation.__qualname__
elif typing:
if isinstance(annotation, typing.TypeVar):
return annotation.__name__
elif hasattr(typing, 'GenericMeta') and \
if hasattr(typing, 'GenericMeta') and \
isinstance(annotation, typing.GenericMeta):
# In Python 3.5.2+, all arguments are stored in __args__,
# whereas __parameters__ only contains generic parameters.