[Python-checkins] python/dist/src/Misc NEWS,1.1019,1.1020

fdrake at users.sourceforge.net fdrake at users.sourceforge.net
Fri Jul 2 14:57:46 EDT 2004

Update of /cvsroot/python/python/dist/src/Misc
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8493/Misc

Modified Files:
Log Message:
Make weak references subclassable:

- weakref.ref and weakref.ReferenceType will become aliases for each

- 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.

Index: NEWS
RCS file: /cvsroot/python/python/dist/src/Misc/NEWS,v
retrieving revision 1.1019
retrieving revision 1.1020
diff -C2 -d -r1.1019 -r1.1020
*** NEWS	2 Jul 2004 08:56:20 -0000	1.1019
--- NEWS	2 Jul 2004 18:57:42 -0000	1.1020
*** 13,16 ****
--- 13,21 ----
+ - weakref.ref is now the type object also known as
+   weakref.ReferenceType; it can be subclassed like any other new-style
+   class.  There's less per-entry overhead in WeakValueDictionary
+   objects now (one object instead of three).
  - Bug #951851: Python crashed when reading import table of certain
    Windows DLLs.

More information about the Python-checkins mailing list