Oh boy, the pickle as it is is always going to be horribly broken anyway: si4 = unpickle_newobj(pg_Partition_class, ()) unpickle_build(si4, {'_hash':11648069979105038r, '_list':[]})
It looks like it's putting a cache dictionary on the Partition_class object that has a hash value in it! That means that whenever the implementation of the hash on Partition changes, these pickles would be dangerously out-of-date. This is probably happening all over the place. We're fooling ourselves with the current pickle jar. We're not checking at all whether pickles continue to function from one version to the next. The reconstruction of the pickle seems to be broken before #15575 already, by the way. I'm getting: sage: load('_class__sage_combinat_sf_kschur_kSchurFunctions_t__.sobj') <class 'sage.combinat.sf.kschur.kSchurFunctions_t'> sage: ks3 = kSchurFunctions(QQ, 3); ks3 k-Schur Functions at level 3 over Univariate Polynomial Ring in t over Rational Field (I'm pretty sure that the pickle is supposed to create the same thing as the second command. As you can see, it prints very differently) I think we have bigger problems than worrying about deprecated SchurFunctions unpickling. The entire approach of pickling in sage seems to be fundamentally flawed and will always only "sort of" work. -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/groups/opt_out.