On 02/18/2014 09:47 AM, Guido van Rossum wrote:
I'm confused. Hasn't this all been decided by the PEP long ago?
The PEP only mentions pickling briefly, as in "the normal rules apply". How pickling occurs is an implementation
detail, and it turns out that pickling by name is more robust.
Serhiy, as part of his argument for using the _name_ instead of the _value_ for pickling, brought up the point that
different systems could have different values for the same name. If true in practice (and I believe it is) this raises
the issue of aliases, which currently *cannot* be pickled by name because there is no distinct object for the alias. If
you ask for Color['alias_for_red'] you'll get Color.red instead.
Using identity comparison was part of the PEP.
I guess the question is which is more important? Identity comparison or this (probably) rare use-case? If we stick
with identity I'm not aware of any work-around for pickling enum members that are aliases on one system, but distinct on
another.
I've been talking about pickling specifically, but this applies to any
serialization method.
--
~Ethan~
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe:
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com