Fix pickling
This fixes two issues. - First, __getinitargs__ does not actually get called for new-style classes. Whoops. Only __getstate__ and __setstate__ do. This introduces a version of these methods that relies on a new class attribute init_arg_names and the existing __getinitargs__ methods to provide pickling. - The default implementation of __getstate__ would pickle up the cached hash_value, which will likely be different in a new interpreter. Bad idea, fixed as above.
Loading
Please register or sign in to comment