Repository navigation
fix: reject ambiguous IgnoreCase member matches - #42
Merged
Merged
Conversation
Restrict exact-match priority to the policies that request it and preserve LITEMAPPER1004 when nested structural planning rejects an ambiguous member. Fixes #28. 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 #28.
IgnoreCasechecks all ordinal-ignore-case candidates, even when one name is an exact match.LITEMAPPER1004diagnostic at the target member and omits the invalid implementation.Exact,ExactThenIgnoreCase, constructor matching, explicit source selection, hidden-member resolution, and unrelated valid mappings retain their existing behavior.Test-first evidence
14eaa974769554884d7f8ca71ff8821a6e19470f: 22 failures, 18 passing controls, zero skips.netstandard2.0,net8.0,net9.0, andnet10.0before the fix. Final package tests isolate direct and nested mapper containers to prevent declared-mapping reuse from hiding the structural path.Local validation
9da595f403230fd09e0da36fbdfedd9c32f50e92.Local environment limits
Trimming and Native AOT fail at ILLink's
ComputeManagedAssembliestask-host creation withMSB4216/ Unix-domainSocketException (13), before publish behavior is established. PowerShell and clang are absent; 49 PowerShell-dependent tests were not run locally. No warnings, assertions, dependencies, prerequisites, or security settings were weakened.CI and review
Exact-head CI run 37923295289 succeeded for
0889980ce5eae8c9745abb08e83ed2d4038242db.This PR remains draft for human review and has no merge conflict. No merge, release, tag, package publication, or workflow dispatch was performed.
The previously documented nullable-intermediate/non-nullable-enum-leaf runtime defect remains outside this issue's scope.
Prepared with OpenAI Codex.