New submission from sbt <shibt...@gmail.com>:

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?

----------
files: pickle_qualname.patch
keywords: patch
messages: 148759
nosy: pitrou, sbt
priority: normal
severity: normal
status: open
title: Patch to make pickle aware of __qualname__
versions: Python 3.3
Added file: http://bugs.python.org/file23836/pickle_qualname.patch

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue13520>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to