mirror of
https://github.com/python/cpython.git
synced 2025-08-15 14:20:55 +00:00
bpo-38006: Avoid closure in weakref.WeakValueDictionary (GH-15641)
weakref.WeakValueDictionary defines a local remove() function used as
callback for weak references. This function was created with a
closure. Modify the implementation to avoid the closure.
(cherry picked from commit a2af05a0d3
)
Co-authored-by: Victor Stinner <vstinner@redhat.com>
This commit is contained in:
parent
b6ef8f2beb
commit
78d15faf6c
3 changed files with 10 additions and 2 deletions
|
@ -1785,6 +1785,11 @@ class MappingTestCase(TestBase):
|
|||
# copying should not result in a crash.
|
||||
self.check_threaded_weak_dict_copy(weakref.WeakValueDictionary, True)
|
||||
|
||||
@support.cpython_only
|
||||
def test_remove_closure(self):
|
||||
d = weakref.WeakValueDictionary()
|
||||
self.assertIsNone(d._remove.__closure__)
|
||||
|
||||
|
||||
from test import mapping_tests
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue