Message108957
Ellipsis and NotImplemented are different from None because they are not pickleable themselves. The None situation is more similar to that of say module level functions:
>>> def f(): pass
...
>>> dumps(f) # works
b'\x80\x03c__main__\nf\nq\x00.'
>>> dumps(type(f)) # does not work
Traceback (most recent call last):
..
_pickle.PicklingError: Can't pickle <class 'function'>: attribute lookup builtins.function failed
I think documentation at http://docs.python.org/dev/py3k/library/pickle.html#what-can-be-pickled-and-unpickled
Can be improved in two ways:
1. s/types/objects/ in "The following types can be pickled"
2. Add a note that "type(x) can be pickled" does not follow from "x can be pickled." The object type(x) must itself fall into one on the listed categories.
3. "built-in functions defined at the top level of a module" should probably be "built-in classes or functions defined at the top level of the builtins module"
4. "instances of such classes" should be "instances of picklable classes"
5. "__setstate__() is picklable" should be "output of __getstate__() is picklable" |
|
Date |
User |
Action |
Args |
2010-06-29 23:19:11 | belopolsky | set | recipients:
+ belopolsky, georg.brandl, ncoghlan, alexandre.vassalotti, hagen, july |
2010-06-29 23:19:11 | belopolsky | set | messageid: <1277853551.1.0.0171657175568.issue6477@psf.upfronthosting.co.za> |
2010-06-29 23:19:10 | belopolsky | link | issue6477 messages |
2010-06-29 23:19:09 | belopolsky | create | |
|