]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.12] gh-108000: Test that `lambda` also has `__type_params__` (GH-108002) (#108019)
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Thu, 17 Aug 2023 10:51:07 +0000 (03:51 -0700)
committerGitHub <noreply@github.com>
Thu, 17 Aug 2023 10:51:07 +0000 (12:51 +0200)
gh-108000: Test that `lambda` also has `__type_params__` (GH-108002)
(cherry picked from commit a8d440b3837273926af5ce996162b019290ddad5)

Co-authored-by: Nikita Sobolev <mail@sobolevn.me>
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