
On Thu, 14 Apr 2022 at 08:47, Greg Ewing <greg.ewing@canterbury.ac.nz> wrote:
On 13/04/22 8:29 am, Steven D'Aprano wrote:
When multiple parent provide candidate to a method resolution, raise an error.
Then you aren't doing full MI any more,
That sounds like a "true Scotsman" argument. Who defines what "full MI" means?
I've come to accept that the term "Multiple Inheritance" has multiple meanings, all slightly different. They are related only in the sense that there are, in some way, multiple parent classes. The actual semantics vary from language to language in fairly vast ways (and sometimes multiple within the language - your example showed C++ with virtual subclassing, but if you remove the "virtual" keywords, it'll behave differently). While that doesn't mean different languages can't learn from each other, it most certainly does confuse the discussions. ChrisA