bpo-42990: Add __builtins__ attribute to functions (GH-24559)
Expose the new PyFunctionObject.func_builtins member in Python as a
new __builtins__ attribute on functions.
Document also the behavior change in What's New in Python 3.10.
diff --git a/Lib/test/test_collections.py b/Lib/test/test_collections.py
index befb7ab..54a4cbe 100644
--- a/Lib/test/test_collections.py
+++ b/Lib/test/test_collections.py
@@ -682,9 +682,10 @@ class NewPoint(tuple):
self.assertEqual(np.y, 2)
def test_new_builtins_issue_43102(self):
- self.assertEqual(
- namedtuple('C', ()).__new__.__globals__['__builtins__'],
- {})
+ obj = namedtuple('C', ())
+ new_func = obj.__new__
+ self.assertEqual(new_func.__globals__['__builtins__'], {})
+ self.assertEqual(new_func.__builtins__, {})
################################################################################