On Sat, 19 Apr 2014 20:45:50 -0400, Adam D. Ruppe <destructiona...@gmail.com> wrote:

On Sunday, 20 April 2014 at 00:35:30 UTC, David Held wrote:
Since all implementations of an interface must derive from Object

That's not true. They can also come from IUnknown or a C++ interface.

This is also not true. Only interfaces derived from IUnknown point to a COM object. Only interfaces marked as extern(C++) can point to a C++ object.

Any interface that is purely D MUST point at a D object that derives from Object, EVEN D-defined COM or C++ objects (the latter doesn't really exist).

His code should compile IMO.

    cast(Object)(foo).toString();

(cast(Object)foo).toString() might work


This might return null tho if it is a non-D object through the interface!

As stated above, this is not possible.

-Steve

Reply via email to