Pierre Glaser <pierregla...@msn.com> added the comment:

I added a PR with a small patch to document this behavior and reconcile 
_pickle.c and pickle.py

Some explanations on why I am pushing this forward:
 
Pickling instances of classes/subclasses with slots is done natively for pickle 
protocol >= 2. Mentioning this behavior in the docs should *not* make the user 
worry about implementing custom __getstate__ methods just to preserve slots.

Here is the reason why I think this functionality (allowing state and 
slotstate) is worth documenting: pickle gives us a lot of flexibility for 
reducing thanks to the dispatch_table. But unpickling is rather rigid: if no 
__setstate__ exists, we have to deal with the default state updating procedure 
present in load_build. Might as well document all of it ;)

----------

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

Reply via email to