[3.12] gh-108000: Test that lambda also has __type_params__ (GH-108002) (#108019)

gh-108000: Test that `lambda` also has `__type_params__` (GH-108002)
(cherry picked from commit a8d440b383)

Co-authored-by: Nikita Sobolev <mail@sobolevn.me>
This commit is contained in:
Miss Islington (bot) 2023-08-17 03:51:07 -07:00 committed by GitHub
parent 2576303007
commit e0244e85d0
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View 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