Repository navigation
fix: preserve dictionary key comparers across value conversion - #45
Merged
Merged
Conversation
Classify the selected key conversion independently of dictionary values. Preserve compatible comparers for identity keys and use default comparison for custom key conversions. Add runtime, generated-source, sample, and package-consumer coverage. Fixes #31. Co-authored-by: Codex <codex@openai.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Fixes #31.
Test-first evidence
c973aac8e457cc40a4069889aeab49d8278ccca3, the new 31-case C# 9 fixture produced 19 failures and 12 passing controls, zero skips.Local validation
34cc2cfead4977b84e1884c336d66ddf7651afaf.Local environment limits
Trimming and Native AOT fail at ILLink's ComputeManagedAssemblies task-host creation with MSB4216 / Unix-domain SocketException (13), before publish behavior is established. PowerShell and clang are absent; 49 PowerShell-dependent tests were not run locally. No assertion, warning, dependency, prerequisite, credential, or security setting was weakened.
Validation used the existing official Microsoft SDK 10.0.401 and runtimes 8.0.31/9.0.20/10.0.12, workspace-local caches/temporary files, and one-processor builds.
CI and review
Exact-head CI run 37944436770 succeeded for
cc123ef7e1e7dd5078588d5867b0e60a40b90b2e.The PR was opened as a draft and subsequently merged by the maintainer at 2026-10-09 14:37:41 UTC as
7b19def74753df90cb3770c7410ff5d7a3951244. No merge, release, tag, NuGet publication, or workflow dispatch was performed by Codex.Issue #32 and the previously documented nullable-intermediate enum defect remain outside this scope.
Prepared with OpenAI Codex.