diff --git a/test_typing_inspect.py b/test_typing_inspect.py index e6bc246..96b6fa6 100644 --- a/test_typing_inspect.py +++ b/test_typing_inspect.py @@ -306,7 +306,8 @@ 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) + # Cannot use assertEqual on Py3.5.2. + self.assertIs(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 dfee326..49785d0 100644 --- a/typing_inspect.py +++ b/typing_inspect.py @@ -63,10 +63,10 @@ WITH_FINAL = False try: # python 3.6 - from typing_extensions import Literal, _Literal + from typing_extensions import Literal except ImportError: # python 2.7 try: - from typing import _Literal + from typing import Literal except ImportError: WITH_LITERAL = False @@ -212,7 +212,7 @@ def is_literal_type(tp): if NEW_TYPING: return (tp is Literal or isinstance(tp, typingGenericAlias) and tp.__origin__ is Literal) - return WITH_LITERAL and type(tp) is _Literal + return WITH_LITERAL and type(tp) is type(Literal) def is_typevar(tp):