• Guido van Rossum's avatar
    save(): Fix for SF bug #494904: Cannot pickle a class with a · 950dce6f
    Guido van Rossum authored
    metaclass, reported by Dan Parisien.
    
    Objects that are instances of custom metaclasses, i.e. whose ob_type
    is a subclass of PyType_Type, should be pickled the same as new-style
    classes (objects whose ob_type is PyType_Type).  This can't be done
    through the existing dispatch switches, and the __reduce__ trick
    doesn't work for these, since it finds the unbound __reduce__ for
    instances of the class (inherited from PyBaseObject_Type).  So check
    explicitly using PyType_IsSubtype().
    950dce6f
cPickle.c 110 KB