[Python-checkins] bpo-34921: Allow escaped NoReturn in get_type_hints (GH-9750) (GH-10772)
Ivan Levkivskyi
webhook-mailer at python.org
Wed Nov 28 12:22:14 EST 2018
https://github.com/python/cpython/commit/f71a5922916abd6cc7bf7d99ed4715b6e96e5981
commit: f71a5922916abd6cc7bf7d99ed4715b6e96e5981
branch: 3.7
author: Ismo Toijala <ismo.toijala at gmail.com>
committer: Ivan Levkivskyi <levkivskyi at gmail.com>
date: 2018-11-28T17:22:09Z
summary:
bpo-34921: Allow escaped NoReturn in get_type_hints (GH-9750) (GH-10772)
files:
M Lib/typing.py
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)):
More information about the Python-checkins
mailing list