diff --git a/sphinx/util/typing.py b/sphinx/util/typing.py index 4e1b184e0..5c72d6f32 100644 --- a/sphinx/util/typing.py +++ b/sphinx/util/typing.py @@ -310,6 +310,8 @@ def stringify(annotation: Any) -> str: return INVALID_BUILTIN_CLASSES[annotation] elif (getattr(annotation, '__module__', None) == 'builtins' and hasattr(annotation, '__qualname__')): + if hasattr(annotation, '__args__'): # PEP 585 generic + return repr(annotation) return annotation.__qualname__ elif annotation is Ellipsis: return '...'