From 6371eb648731276c337f3d38d1b52c172a86cf58 Mon Sep 17 00:00:00 2001 From: Antonio Valentino Date: Mon, 21 Dec 2020 16:21:49 +0100 Subject: [PATCH] Backport get_args implementation form Python v3.8 Fixes bpo-40398: typing.get_args() now always returns an empty tuple for special generic aliases. --- typing_extensions/src_py3/typing_extensions.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/typing_extensions/src_py3/typing_extensions.py b/typing_extensions/src_py3/typing_extensions.py index a6f4281b..97fa7dc3 100644 --- a/typing_extensions/src_py3/typing_extensions.py +++ b/typing_extensions/src_py3/typing_extensions.py @@ -2065,7 +2065,7 @@ def get_args(tp): """ if isinstance(tp, _AnnotatedAlias): return (tp.__origin__,) + tp.__metadata__ - if isinstance(tp, _GenericAlias): + if isinstance(tp, _GenericAlias) and not tp._special: res = tp.__args__ if get_origin(tp) is collections.abc.Callable and res[0] is not Ellipsis: res = (list(res[:-1]), res[-1])