From: Noah Wood <26890744+JohnnyHobo@users.noreply.github.com> Date: Mon, 8 Oct 2018 18:50:16 +0000 (-0400) Subject: bpo-34921: Allow escaped NoReturn in get_type_hints (GH-9750) X-Git-Tag: v3.8.0a1~813 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5eea0ad50c32d38909ff4e29309e2cc3c6ccb2c0;p=thirdparty%2FPython%2Fcpython.git bpo-34921: Allow escaped NoReturn in get_type_hints (GH-9750) --- diff --git a/Lib/typing.py b/Lib/typing.py index 445a42492b6b..cfcbb3b76328 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)):