Skip to content

Superseded: Support AssociatedEnum annotation on parameters and fields - #1855

Closed
Jevan Saks (jevansaks) wants to merge 4 commits into
microsoft:jevansaks-safehandle-borrowingfrom
jevansaks:jevansa-microsoft-shift-left-compatibility
Closed

Jevan Saks (jevansaks) wants to merge 4 commits into
microsoft:jevansaks-safehandle-borrowingfrom
jevansaks:jevansa-microsoft-shift-left-compatibility

Conversation

@jevansaks

@jevansaks Jevan Saks (jevansaks) commented Oct 14, 2026 •

Copy link
Copy Markdown
Member

Superseded by #1856, Support AssociatedEnum annotation on parameters and fields.

The replacement is a standalone draft from a branch in microsoft/CsWin32 targeting main. It contains the focused AssociatedEnum implementation and omits the unrelated SafeHandle ownership changes and compatibility harness.

Please review the replacement rather than this draft.

Resolve AssociatedEnum across metadata reference closures and preserve native storage through exact enum projection or explicit scalar conversion. Honor contextual return/output invalid-handle contracts without weakening typed borrowing safety.

Add pinned baseline/metadata consumer matrices, unchanged callers, mutation controls, runtime ownership coverage and documented source-compatibility boundaries.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Compare value properties, exact enum fields and the existing UnscopedRef accessor pattern with unchanged interface and ref-field callers, including measured native layout and bit patterns. Retain the precise source break and safe explicit interface shim without changing the shipping projection.

Record frozen OLD constructor HASTHIS limitations and audit a separately pinned unmigrated tooling control without accepting it as WinHttp NEW.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Project logical enum fields, pointers, buffers and signatures using native width and signedness. Preserve actual native enum ABI and existing scalar entry points. Compare unchanged synthetic-enum callers across all integral types and separate historical property regressions from migration acceptance.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Document the pinned migrated SDK comparison and four observed scheme-member source breaks. Require exact public and generated-text deltas, record member-name-only caller repairs separately, and include caller-mutation controls in the compatibility runner.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@jevansaks Jevan Saks (jevansaks) changed the title Project logical enums from native Win32 annotations Superseded: Support AssociatedEnum annotation on parameters and fields Oct 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant