From fa2ccd4c3000a0e2a80b6b63d159ceff44d911d2 Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Mon, 6 Sep 2021 00:24:53 +0200 Subject: [PATCH] Make `get_origin(Literal[...]) == Literal`. --- test_typing_inspect.py | 1 + typing_inspect.py | 2 ++ 2 files changed, 3 insertions(+) diff --git a/test_typing_inspect.py b/test_typing_inspect.py index 7e9d432..e6bc246 100644 --- a/test_typing_inspect.py +++ b/test_typing_inspect.py @@ -306,6 +306,7 @@ def test_origin(self): self.assertEqual(get_origin(ClassVar[int]), None) self.assertEqual(get_origin(Generic), Generic) self.assertEqual(get_origin(Generic[T]), Generic) + self.assertEqual(get_origin(Literal[42]), Literal) if PY39: self.assertEqual(get_origin(list[int]), list) if GENERIC_TUPLE_PARAMETRIZABLE: diff --git a/typing_inspect.py b/typing_inspect.py index 4c765e3..5eb5838 100644 --- a/typing_inspect.py +++ b/typing_inspect.py @@ -313,6 +313,8 @@ def get_origin(tp): return Union if is_tuple_type(tp): return Tuple + if is_literal_type(tp): + return Literal if NEW_TYPING else _Literal return None