This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author sbt
Recipients docs@python, pitrou, sbt
Date 2012-07-21.09:41:56
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1342863718.26.0.49587627068.issue15412@psf.upfronthosting.co.za>
In-reply-to
Content
In the documentation on weakrefs there is the following quote

    Note: Weak references to an object are cleared before the object’s
    __del__() is called, to ensure that the weak reference callback 
    (if any) finds the object still alive.

But I think the weakref is always dead by the time the callback is invoked.  The first paragraph from the documentation for weakref.ref(object[, callback]) contains the following:

    If callback is provided and not None, and the returned weakref 
    object is still alive, the callback will be called when the object 
    is about to be finalized; the weak reference object will be passed 
    as the only parameter to the callback; **the referent will no longer 
    be available**.

Which does prompt a question: what use is there for the weakref argument to the callback if it already dead?

(Compare http://bugs.python.org/issue14933)
History
Date User Action Args
2012-07-21 09:41:58sbtsetrecipients: + sbt, pitrou, docs@python
2012-07-21 09:41:58sbtsetmessageid: <1342863718.26.0.49587627068.issue15412@psf.upfronthosting.co.za>
2012-07-21 09:41:57sbtlinkissue15412 messages
2012-07-21 09:41:56sbtcreate