D issues are now tracked on GitHub. This Bugzilla instance remains as a read-only archive.
Issue 17963 - Spec is incorrect about what is considered a COM interface
Summary: Spec is incorrect about what is considered a COM interface
Status: NEW
Alias: None
Product: D
Classification: Unclassified
Component: dlang.org (show other issues)
Version: D2
Hardware: x86 Windows
: P4 enhancement
Assignee: No Owner
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-11-03 13:38 UTC by ponce
Modified: 2024-12-15 15:24 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this issue.
Description ponce 2017-11-03 13:38:10 UTC
The spec says:
"A COM interface is defined as one that derives from the interface core.stdc.win­dows.com.IUnknown."
https://dlang.org/spec/interface.html#com-interfaces

However an interface derived from another interface named "IUnknown", whatever its content and fully qualified name, will also be considered COM, with the semantics restrictions.
This is very desirable since it allow to use COM interfaces with sayn @nogc signatures, or COM without Windows.

So the spec is wrong about this, core.stdc.win­dows.com.IUnknown is not needed, but the name "IUnknown" is.
Comment 1 dlangBugzillaToGithub 2024-12-15 15:24:25 UTC
THIS ISSUE HAS BEEN MOVED TO GITHUB

https://github.com/dlang/dlang.org/issues/4072

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