From 73d258df4f6a7e72d9934a177948e0a218715b7d Mon Sep 17 00:00:00 2001 From: Sergio Pedri Date: Mon, 27 Apr 2026 13:57:58 -0700 Subject: [PATCH] Skip emitting [ApiContract] attribute for implementation assemblies Treat [ApiContract] like [ContractVersion] in the metadata attribute filter: only emit it for reference projections and skip it when generating implementation assemblies. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- src/cswinrt/code_writers.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/cswinrt/code_writers.h b/src/cswinrt/code_writers.h index 29b4b13b1..e974cf7a4 100644 --- a/src/cswinrt/code_writers.h +++ b/src/cswinrt/code_writers.h @@ -2594,8 +2594,8 @@ remove => %; { allow_multiple = true; } - // ContractVersion is only emitted for reference assemblies - if (attribute_name == "ContractVersion") + // ContractVersion and ApiContract are only emitted for reference assemblies + if (attribute_name == "ContractVersion" || attribute_name == "ApiContract") { if (!settings.reference_projection) {