BCS wrote:
Reply to Tomas,
The problem is that B has two vtables that implement the interface I.
However, in A.addChild, i.parent get's the first one (introduced by
A), and in main, it gets the second one (J , which derived from I).
The identity check then fails because the pointers aren't the same,
even though it's the same object in question.
why not make
Ia == Ib
into
cast(Object)Ia == cast(Object)Ib
?
That makes sense, and I fully support it. I tend to use interfaces
rather often, and anything to improve support for them is good.