Skip to content

Remove COM attributes from interfaces modified by trimming #101128

Open
@sbomer

Description

@sbomer

Currently, ILLink keeps COM-related attributes on any preserved COM interfaces, even when removing members from the interface. This could break scenarios where built-in COM is enabled. (Note that built-in COM is not supported when trimming).

@jkoritzinsky had a suggestion to improve this in #101087 (review):

I have another idea to avoid silent bad RCWs/CCWs: Given that this would break when built-in COM is enabled, could we remove the attributes/metadata that make an interface a COM interface if any of its members are trimmed? Then we wouldn't have the bad scenario where someone could say "don't keep COM interfaces, but keep built-in COM enabled", as if a COM interface is trimmed, it's no longer a COM interface.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area-Tools-ILLink.NET linker development as well as trimming analyzers

    Type

    No type

    Projects

    Status

    No status

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions