
On Fri, 22 Apr 2022 at 15:47, Christopher Barker <pythonchb@gmail.com> wrote:
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 ...
So I may not have been told a refactoring like that shouldn't involve a new instance of overriding, but may I have essentially been told I shouldn't refactor at all if I didn't want to create breaking changes? I feel that's too much to be a kind alert since it seems just easy to avoid introducing a new instance of over-riding. (I understand super would require more care to be used in the refactoring, even though a little more, I think.) Best regards, Takuo Matsuoka