<p dir="ltr"><br>
On 8 Jun 2014 05:26, "Neil Girdhar" <<a href="mailto:mistersheik@gmail.com">mistersheik@gmail.com</a>> wrote:<br>
><br>
> In cooperative inheritance, the general pattern is to call super and do whatever is particular to your class around that. I needed to inherit from the mixin I displayed at the top of this message in order to provide a default setstate and getstate as these are not present in object. Intuitively, I think that it would be better for these to exist on object. I don't think I should have to provide these methods using a mixin.</p>
<p dir="ltr">You haven't explained why you're trying to do cooperative multiple inheritance without a common base class to define the rules for your type system. Leaving that element out of a cooperative multiple inheritance design is generally a really bad idea.</p>
<p dir="ltr">>It's not a big deal, but I think it's a small wrinkle in Python not to have default implementations of these methods given that that default behavior is being done anyway. Are there any drawbacks to providing these default methods?</p>
<p dir="ltr">Yes - increased complexity in the language core. Currently, pickling is completely independent of the language core, so implementations can reuse the same pickling library (although they may want to write an accelerated version eventually).</p>
<p dir="ltr">Cheers,<br>
Nick.<br>
</p>