On Thu, 20 Jan 2011 02:01:26 -0500, Mandeep Singh Brar <mand...@brars.co.in> wrote:

"This would be easily resolved if interfaces were known to be Objects. "

But shouldnt this be the case, because there would be nothing called as an Interface which can be pointed to; it would be an Object which is implementing an interface which is being pointed to. So shouldnt Interfaces be Objects too. Otherwise, wouldnt it defeat the purpose of having Object as the base class for
everything.

The issue is COM interfaces. What bugs me about it is, whether an interface derives from IUnknown is known at compile time. I don't think it's possible to define an interface that *doesn't* derive from IUnknown that is not a D Object. I believe the compiler even handles IUnknown interfaces differently.

I think the problem is that COM support was added when compile-time functionality was in its infancy. There are quite a few legacy problems due to that. For instance, the builtin array sort routine does not use compile-time information.

It would be nice to fix this problem, but I'm not sure how willing Walter is to do it. For sure, we need a solution to the opEquals problem.

-Steve

Reply via email to