>
> On Thu, 21 Apr 2022 at 02:45, malmiteria <martin.mi...@ensc.fr> wrote:
> > 4) Lib refactoring are breaking changes
> > A Lib author refactoring his code by extracting a class as a parent
> class of multiple of the class provided is introducing a breaking change.
>
<snip>

> > After refactoring, the MRO is now N1, N2, GP. Which do behave
> differently, in general.
>

Sure -- but there's nothing special or difficult here -- refactoring can
create breaking changes. I believe it was part of Hettinger's thesis in
"Super Considered Super" that the use of super() is part of the API of a
class hierarchy. Indeed, the MRO of a class hierarchy is part of the API.
If you change the MRO, it is a potentially breaking change, just as if a
method is added or removed, or renamed, or ...

Nothing to see here -- this is all deliberate, and useful.

-CHB

-- 
Christopher Barker, PhD (Chris)

Python Language Consulting
  - Teaching
  - Scientific Software Development
  - Desktop GUI and Web Development
  - wxPython, numpy, scipy, Cython
_______________________________________________
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/TLMQKK4OAPALUZJHZVJI7BLZZ4PQ7QVF/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to