[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