From 120da1565849af12ecf237e38aa7973956ec6672 Mon Sep 17 00:00:00 2001 From: Noah Wood Date: Sun, 7 Oct 2018 14:08:49 -0400 Subject: [PATCH 1/2] Fixed issue 34921: No return not allowed by get_type_hints; line 133 Lib/typing.py --- Lib/typing.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Lib/typing.py b/Lib/typing.py index 445a42492b6bcb..7c6cd370aa4a80 100644 --- a/Lib/typing.py +++ b/Lib/typing.py @@ -130,7 +130,7 @@ def _type_check(arg, msg, is_argument=True): if (isinstance(arg, _GenericAlias) and arg.__origin__ in invalid_generic_forms): raise TypeError(f"{arg} is not valid as type argument") - if (isinstance(arg, _SpecialForm) and arg is not Any or + if (isinstance(arg, _SpecialForm) and arg not in [Any, NoReturn] or arg in (Generic, _Protocol)): raise TypeError(f"Plain {arg} is not valid as type argument") if isinstance(arg, (type, TypeVar, ForwardRef)): From 6246b550c09e9960969f193fa336363d090f57b2 Mon Sep 17 00:00:00 2001 From: Noah Wood Date: Mon, 8 Oct 2018 00:10:22 -0400 Subject: [PATCH 2/2] Changed list[Any, NoReturn] in line 133 to tuple (Any, NoReturn) --- Lib/typing.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Lib/typing.py b/Lib/typing.py index 7c6cd370aa4a80..cfcbb3b7632842 100644 --- a/Lib/typing.py +++ b/Lib/typing.py @@ -130,7 +130,7 @@ def _type_check(arg, msg, is_argument=True): if (isinstance(arg, _GenericAlias) and arg.__origin__ in invalid_generic_forms): raise TypeError(f"{arg} is not valid as type argument") - if (isinstance(arg, _SpecialForm) and arg not in [Any, NoReturn] or + if (isinstance(arg, _SpecialForm) and arg not in (Any, NoReturn) or arg in (Generic, _Protocol)): raise TypeError(f"Plain {arg} is not valid as type argument") if isinstance(arg, (type, TypeVar, ForwardRef)):