On Wed, 12 Aug 2015 at 07:25 Adi Roiban <[email protected]> wrote:

> On 12 August 2015 at 01:24, Glyph <[email protected]> wrote:
>
> > We discovered this because this change breaks
> > https://github.com/twisted/axiom, and probably it breaks other packages
> as
> > well, since lots of things inherit from Service.  So please remain
> diligent
> > about looking for this in future changes.  Now that it's been changed,
> > reverting it in 15.4 would be another incompatible change, so we probably
> > won't do that, but please keep an eye out in the future.
>
> I assume that this is the error in axiom:
> https://github.com/twisted/axiom/issues/44
>
> In axiom a class was defined as
>
> class _SiteScheduler(object, Service, SchedulerMixin)
>
> Is this a common practice?
> Why do you want to have multiple inheritance and put object as the
> first inherited class and not the last one?
>
>
>From the perspective of Twisted development, why does it matter?

Changing a class from old style to new style changes the method resolution
order, which is going to break lots of code in ways that we can't
anticipate. We can't find every subclass and judge whether their usage
makes sense. We can only stick to our compatibility policy
<https://twistedmatrix.com/trac/wiki/CompatibilityPolicy>, which empowers
users to decide when & how they change their weird code.

jml
_______________________________________________
Twisted-Python mailing list
[email protected]
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python

Reply via email to