Thread overview
[Issue 21146] No introspection information on whether a class is COM or not
Aug 10, 2020
Adam D. Ruppe
Aug 10, 2020
Walter Bright
Dec 17, 2022
Iain Buclaw
August 10, 2020
https://issues.dlang.org/show_bug.cgi?id=21146

Adam D. Ruppe <destructionator@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |destructionator@gmail.com

--- Comment #1 from Adam D. Ruppe <destructionator@gmail.com> ---
Might also work to check `is(T : IUnknown)` assuming you have the correct IUnknown available since all COM classes must use it as the base..... might work.

--
August 10, 2020
https://issues.dlang.org/show_bug.cgi?id=21146

--- Comment #2 from Andrei Alexandrescu <andrei@erdani.com> ---
IUnknown is declared in some Windows-specific modules, which I wouldn't want to import in object.d.

--
August 10, 2020
https://issues.dlang.org/show_bug.cgi?id=21146

Walter Bright <bugzilla@digitalmars.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |bugzilla@digitalmars.com

--- Comment #3 from Walter Bright <bugzilla@digitalmars.com> ---
IUnknown is declared as:

    extern(Windows)
    interface IUnknown {
        int QueryInterface(const(GUID)* riid, void** pvObject);
        uint AddRef();
        uint Release();
    }

GUID is:

  align(1) struct GUID {  // size is 16
    align(1):
    uint     Data1;
    ushort   Data2;
    ushort   Data3;
    ubyte[8] Data4;
  }

We could move these from core.sys.windows.basetyps and unknown to object.d. Then Adam's prescription will work, without making the compiler more complex.

--
December 17, 2022
https://issues.dlang.org/show_bug.cgi?id=21146

Iain Buclaw <ibuclaw@gdcproject.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P1                          |P4

--
December 13
https://issues.dlang.org/show_bug.cgi?id=21146

--- Comment #4 from dlangBugzillaToGithub <robert.schadek@posteo.de> ---
THIS ISSUE HAS BEEN MOVED TO GITHUB

https://github.com/dlang/dmd/issues/19768

DO NOT COMMENT HERE ANYMORE, NOBODY WILL SEE IT, THIS ISSUE HAS BEEN MOVED TO GITHUB

--