On Friday, 24 August 2012 at 14:15:28 UTC, Steven Schveighoffer
wrote:
On Fri, 27 Jul 2012 12:48:59 -0400, David Nadlinger
<[email protected]>
wrote:
On Friday, 27 July 2012 at 14:56:18 UTC, Gor Gyolchanyan wrote:
I have a small question: why aren't interfaces implicitly
convertible to
Object?
Not all interfaces »originate« from D objects, they can also
be COM interfaces. Using (cast(Object)foo) should work if foo
is really an Object.
All Com interfaces inherit from IUnknown. This is statically
known.
The idea that we cannot tell which interfaces are COM and which
are normal
is a myth.
There is no reason why interfaces (that aren't COM) shouldn't be
implicitly castable to Object.
-Steve
Technically true, however COM is not the only example of foreign
objects used via interfaces. The (limited) C++ compatibility,
for example, works this way.