• Fred Drake's avatar
    Make weak references subclassable: · 0a4dd390
    Fred Drake yazdı
    - weakref.ref and weakref.ReferenceType will become aliases for each
      other
    
    - weakref.ref will be a modern, new-style class with proper __new__
      and __init__ methods
    
    - weakref.WeakValueDictionary will have a lighter memory footprint,
      using a new weakref.ref subclass to associate the key with the
      value, allowing us to have only a single object of overhead for each
      dictionary entry (currently, there are 3 objects of overhead per
      entry: a weakref to the value, a weakref to the dictionary, and a
      function object used as a weakref callback; the weakref to the
      dictionary could be avoided without this change)
    
    - a new macro, PyWeakref_CheckRefExact(), will be added
    
    - PyWeakref_CheckRef() will check for subclasses of weakref.ref
    
    This closes SF patch #983019.
    0a4dd390
libweakref.tex 13.9 KB