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 pitrou, sbt
Date 2011-12-02.16:29:10
SpamBayes Score 1.1206314e-11
Marked as misclassified No
Message-id <1322843353.56.0.297081736881.issue13520@psf.upfronthosting.co.za>
In-reply-to
Content
The attached patch makes pickle use an object's __qualname__ attribute if __name__ does not work.

This makes nested classes, unbound instance methods and static methods picklable (assuming that __module__ and __qualname__ give the correct "address").


BTW, It would not be hard to make instance methods picklable (and, as a by-product, class methods) by giving instance methods a __reduce__ method equivalent to

  def __reduce__(self):
    return (getattr, (self.__self__, self.__name__))

Is there any reason not to make such a change?
History
Date User Action Args
2011-12-02 16:29:13sbtsetrecipients: + sbt, pitrou
2011-12-02 16:29:13sbtsetmessageid: <1322843353.56.0.297081736881.issue13520@psf.upfronthosting.co.za>
2011-12-02 16:29:12sbtlinkissue13520 messages
2011-12-02 16:29:12sbtcreate