summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTakeshi KOMIYA <i.tkomiya@gmail.com>2021-08-29 15:40:49 +0900
committerTakeshi KOMIYA <i.tkomiya@gmail.com>2021-08-29 16:02:35 +0900
commita1bb4a81ced6f39504cd409e5d7305d35ed0ddb1 (patch)
tree53ddf3dd7ce9ebf27674b1a0a98864afc1c31088
parent9f46b1fa6712ce748899a5ab5a20e532c8976352 (diff)
downloadsphinx-git-4.1.x.tar.gz
Fix #9589: autodoc: typing.Annotated has wrongly been rendered4.1.x
At the HEAD of 3.10, the implementation of `typing.Annotated` has been changed to have __qualname__.
-rw-r--r--CHANGES4
-rw-r--r--sphinx/util/typing.py2
2 files changed, 4 insertions, 2 deletions
diff --git a/CHANGES b/CHANGES
index 68de5bb9f..300baa69b 100644
--- a/CHANGES
+++ b/CHANGES
@@ -18,8 +18,8 @@ Bugs fixed
* #9504: autodoc: generate incorrect reference to the parent class if the target
class inherites the class having ``_name`` attribute
-* #9537: autodoc: Some objects under ``typing`` module are not displayed well
- with the HEAD of 3.10
+* #9537, #9589: autodoc: Some objects under ``typing`` module are not displayed
+ well with the HEAD of 3.10
* #9512: sphinx-build: crashed with the HEAD of Python 3.10
Testing
diff --git a/sphinx/util/typing.py b/sphinx/util/typing.py
index df5277ae7..35f808211 100644
--- a/sphinx/util/typing.py
+++ b/sphinx/util/typing.py
@@ -306,6 +306,8 @@ def stringify(annotation: Any) -> str:
return 'None'
elif annotation in INVALID_BUILTIN_CLASSES:
return INVALID_BUILTIN_CLASSES[annotation]
+ elif str(annotation).startswith('typing.Annotated'): # for py310+
+ pass
elif (getattr(annotation, '__module__', None) == 'builtins' and
getattr(annotation, '__qualname__', None)):
return annotation.__qualname__