
malmiteria writes:
You'd need to return A.bar in C bar methods to get more symmetry, but what if you wanted foo to visit the inheritance tree in this order?
I don't want that, however. Please give up this notion that you can tell anybody else what they might want. You need to show how that alternative mro is useful, and for some purpose other than arguing against the current design of super. I wrote a lot more, but I need to cool down before sending it, if at all. But here's the general problem with all of your "what ifs": Multiple inheritance is not a general specific, it does not solve all problems. "Some people, when faced with a problem, immediately think: 'I know, I'll use multiple inheritance!' Now they have multiple problems." If multiple inheritance causes you problems, maybe it's absolutely the wrong design pattern for your program. So *you* need to show us examples of real code for real problems[1] where there's a clear use for multiple inheritance (or at least an API which documents that one right way to use it is multiple inheritance) and still super() with the C3 mro messes you up. Footnotes: [1] They don't have to be big problems or proprietary code; computing Fibonacci sequences will do, if you can find a way to make MI relevant to that task.