dotnet / runtime

.NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.
https://docs.microsoft.com/dotnet/core/
MIT License
14.23k stars 4.45k forks source link

ComInterfaceGenerator Method/Interface Info/Context types should limit construction and modification #101615

Open jtschuster opened 2 weeks ago

jtschuster commented 2 weeks ago

From https://github.com/dotnet/runtime/pull/101577#discussion_r1580247525

In the ComInterfaceGenerator, we use record types for incremental pipeline values. This made it easy to prototype, and provided value equality without extra code. However, now that the codebase is more stable, we can transition to classes and structs that expose less to the pipeline users and limits constructor visibility.

dotnet-policy-service[bot] commented 2 weeks ago

Tagging subscribers to this area: @dotnet/interop-contrib See info in area-owners.md if you want to be subscribed.