• Tim Peters's avatar
    SF 742860: WeakKeyDictionary __delitem__ uses iterkeys · 886128f4
    Tim Peters yazdı
    Someone review this, please!  Final releases are getting close, Fred
    (the weakref guy) won't be around until Tuesday, and the pre-patch
    code can indeed raise spurious RuntimeErrors in the presence of
    threads or mutating comparison functions.
    
    See the bug report for my confusions:  I can't see any reason for why
    __delitem__ iterated over the keys.  The new one-liner implementation
    is much faster, can't raise RuntimeError, and should be better-behaved
    in all respects wrt threads.
    
    New tests test_weak_keyed_bad_delitem and
    test_weak_keyed_cascading_deletes fail before this patch.
    
    Bugfix candidate for 2.2.3 too, if someone else agrees with this patch.
    886128f4
To find the state of this project's repository at the time of any of these versions, check out the tags.
NEWS 138 KB