From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Tue, 3 May 2022 00:39:07 +0000 (-0700) Subject: gh-92106: Add test that subscription works on arbitrary TypedDicts (GH-92176) X-Git-Tag: v3.10.5~104 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=adc06cd2d727d580cfeda1fc29b419ecce379687;p=thirdparty%2FPython%2Fcpython.git gh-92106: Add test that subscription works on arbitrary TypedDicts (GH-92176) (cherry picked from commit 81fb3548be5a18bf40a6f4505a02cc7fb72c9c34) Co-authored-by: Serhiy Storchaka --- diff --git a/Lib/test/test_typing.py b/Lib/test/test_typing.py index 779e1758d51d..111a207dd10b 100644 --- a/Lib/test/test_typing.py +++ b/Lib/test/test_typing.py @@ -4485,6 +4485,19 @@ class TypedDictTests(BaseTestCase): {'a': typing.Optional[int], 'b': int} ) + def test_non_generic_subscript(self): + # For backward compatibility, subscription works + # on arbitrary TypedDict types. + class TD(TypedDict): + a: T + A = TD[int] + self.assertEqual(A.__origin__, TD) + self.assertEqual(A.__parameters__, ()) + self.assertEqual(A.__args__, (int,)) + a = A(a = 1) + self.assertIs(type(a), dict) + self.assertEqual(a, {'a': 1}) + class IOTests(BaseTestCase):