From 80d8dd5a88a787dbc05dfdd3eea8d7b6eeaa6c3e Mon Sep 17 00:00:00 2001 From: Ivan Levkivskyi Date: Sun, 26 May 2019 22:30:24 +0100 Subject: [PATCH] Add one more test for typing.Final --- Lib/test/test_typing.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Lib/test/test_typing.py b/Lib/test/test_typing.py index 088db9c012066d..46b7621182d6fd 100644 --- a/Lib/test/test_typing.py +++ b/Lib/test/test_typing.py @@ -1772,6 +1772,11 @@ def test_default_globals(self): hints = get_type_hints(ns['C'].foo) self.assertEqual(hints, {'a': ns['C'], 'return': ns['D']}) + def test_final_forward_ref(self): + self.assertEqual(gth(Loop, globals())['attr'], Final[Loop]) + self.assertNotEqual(gth(Loop, globals())['attr'], Final[int]) + self.assertNotEqual(gth(Loop, globals())['attr'], Final) + class OverloadTests(BaseTestCase): @@ -1858,6 +1863,9 @@ class CSub(B): class G(Generic[T]): lst: ClassVar[List[T]] = [] +class Loop: + attr: Final['Loop'] + class NoneAndForward: parent: 'NoneAndForward' meaning: None