[Python-Dev] [Python-3000] inst_persistent_id (original) (raw)

Jim Fulton jim at zope.com
Sun Jan 20 22:10:24 CET 2008


I took Python-3000 out of the cc list as I originally just wanted to
make them aware of this issue.

On Jan 14, 2008, at 12:59 PM, Armin Rigo wrote:

Hi,

On Sat, Jan 12, 2008 at 07:33:38PM -0500, Alexandre Vassalotti wrote: Well, in Python 3K, instpersistentid() won't be usable, since PyInstanceType was removed. Looking at the code, instpersistentid() is just a confusing name. It has got nothing to do with PyInstanceType; it's called for any object type that cPickle.c doesn't know how to handle.

It has to do with instances in a more general sense.

In fact, it seems that cPickle.c never calls instpersistentid() for objects of type PyInstanceType...

Hm, good point.

At the time, all I cared about were ExtensionClass instances, which
were akin to modern-day new-style instances.

It doesn't make sense to not call this function for classic instances.

This optimization is fairly useful. I propose to update the logic to
call this function for classic instances too. I'm also open to
renaming it if that would make people happier. :)

Thoughts?

Jim

-- Jim Fulton Zope Corporation



More information about the Python-Dev mailing list