> And, on top of that, the actual change needed to switch from today's
solution to adoption is extremly simple.
> replace
> ```
> class A(B,C): ...
> ```
> with
> ```
> class A(B(C)): ...
> ```
> That's it.

`class A(B(C))` is already a valid Python syntax (for example you could use
`class A(namedtuple(...))`), your change to add a specific meaning to this
syntax would break existing code.

Le mar. 12 avr. 2022 à 23:22, Eric V. Smith <e...@trueblade.com> a écrit :

> On 4/12/2022 12:57 PM, malmiteria wrote:
> > So the amount of actual breakings left shouldn't be enough to justify
> denying this feature IMO. Again, we'll have a clearer view on that once we
> get experimental data.
> > What's to look for is usage of super in MI cases, since each super call
> in MI today should be replaced by one super call per parent, in my proposal.
> > If this turns out to be an issue, we can try to imagine solution for it.
> Maybe a solution such as : super calls implicitely run a super call to each
> parent when there's multiple parent, and super isn't given arguments. This
> i think would behave strictly as today's super + MRO, except for cases
> where one class appears multiple time in an inheritance tree.
> > The last breaking change would be that scenario, class appearing
> multiple time in an inheritance tree.
> > And we're getting on even rarer occasions here, but again, we can think
> of solutions here.
>
> I have code in a non-public repository that your proposed change will
> break. I'm sure I'm not the only one. It is not realistic to implement a
> change like this that will break code and then say "there's a workaround
> that you'll need to implement". Especially for library code that needs
> to run across multiple python versions.
>
> > As much as i understand we don't want breaking change, i don't think it
> is *that* strong an argument, in this case.
> > And, on its own, breaking changes aren't a strict veto, there's been
> some, and there's gonna be more.
>
> As a long-time core developer, I can assure you that this is one of
> those cases where a breaking change will not be allowed. I'm trying to
> save you some time here, but if you're committed to continuing this,
> then you can't say you weren't warned when it's ultimately rejected. My
> suggestion is to rework your proposal to not break any existing code.
> It's a constraint we've all had to live with at one time or another, as
> much as we don't like it.
>
> Eric
>
> _______________________________________________
> Python-ideas mailing list -- python-ideas@python.org
> To unsubscribe send an email to python-ideas-le...@python.org
> https://mail.python.org/mailman3/lists/python-ideas.python.org/
> Message archived at
> https://mail.python.org/archives/list/python-ideas@python.org/message/KWXDZBGZBX3LLCP3FQ33T27YUXDKXXL5/
> Code of Conduct: http://python.org/psf/codeofconduct/
>


-- 
Antoine Rozo
_______________________________________________
Python-ideas mailing list -- python-ideas@python.org
To unsubscribe send an email to python-ideas-le...@python.org
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at 
https://mail.python.org/archives/list/python-ideas@python.org/message/XWL6V6ACH4M2OZTDBVZ5TY777IFB5I75/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to