Multiple subtyping with alias this and nested classes

Max Samukha spambox at d-coding.com
Sun Oct 4 01:00:16 PDT 2009


On Sat, 03 Oct 2009 16:30:11 -0600, Rainer Deyke <rainerd at eldwood.com>
wrote:

>Max Samukha wrote:
>> The above sucks because we can't specify which nameCollision gets
>> implemented by which mixin. In current D, nameCollision of both
>> interfaces is implemented by Flipper.
>
>I don't think that being able to define multiple separate functions with
>the same name and the same signature is a necessary feature of multiple
>inheritance, or even a particularly well thought-out one.

It is not always a question of choice. For example, when you are not
the designer of base types you want to subtype.

>Python is an example of a language without this "feature", and multiple inheritance
>is very common in Python.

One of the reasons Python's MI is not recommended is its reliance on
naming conventions. There is a note in some Python (version unknown)
docs:

"It is clear that indiscriminate use of multiple inheritance is a
maintenance nightmare, given the reliance in Python on conventions to
avoid accidental name conflicts."
(http://www.python.org/doc/1.5.1p1/tut/multiple.html)



More information about the Digitalmars-d mailing list