]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-108000: Test that `lambda` also has `__type_params__` (#108002)
authorNikita Sobolev <mail@sobolevn.me>
Wed, 16 Aug 2023 13:22:18 +0000 (16:22 +0300)
committerGitHub <noreply@github.com>
Wed, 16 Aug 2023 13:22:18 +0000 (06:22 -0700)
Lib/test/test_funcattrs.py

index e08d72877d8aef334a029953fd1f93ddfc5812bf..35b473d5e9a0b4aac99d0072bbbd23434e277734 100644 (file)
@@ -194,16 +194,19 @@ class FunctionPropertiesTest(FuncAttrsTest):
     def test___type_params__(self):
         def generic[T](): pass
         def not_generic(): pass
+        lambda_ = lambda: ...
         T, = generic.__type_params__
         self.assertIsInstance(T, typing.TypeVar)
         self.assertEqual(generic.__type_params__, (T,))
-        self.assertEqual(not_generic.__type_params__, ())
-        with self.assertRaises(TypeError):
-            del not_generic.__type_params__
-        with self.assertRaises(TypeError):
-            not_generic.__type_params__ = 42
-        not_generic.__type_params__ = (T,)
-        self.assertEqual(not_generic.__type_params__, (T,))
+        for func in (not_generic, lambda_):
+            with self.subTest(func=func):
+                self.assertEqual(func.__type_params__, ())
+                with self.assertRaises(TypeError):
+                    del func.__type_params__
+                with self.assertRaises(TypeError):
+                    func.__type_params__ = 42
+                func.__type_params__ = (T,)
+                self.assertEqual(func.__type_params__, (T,))
 
     def test___code__(self):
         num_one, num_two = 7, 8