Skip to content

Fix C# constructor alias arity resolution - #5207

Merged
Widthdom merged 5 commits into
mainfrom
fix-issue5189
Aug 27, 2026
Merged

Fix C# constructor alias arity resolution#5207
Widthdom merged 5 commits into
mainfrom
fix-issue5189

Conversation

@Widthdom

Copy link
Copy Markdown
Owner

Summary

  • Preserve the canonical C# type identity and qualifier when a constructor is invoked through a using alias.
  • Persist and consume the lexical constructor token span so simple positional invocation arity can isolate one-, two-, and three-parameter constructor families.
  • Keep named arguments, optional/default or params families, binding-sensitive primary/explicit families, raw/interpolated expressions, ambiguous angle syntax, malformed calls, and invalid persisted spans conservative.
  • Refresh unchanged C# files by advancing the extractor contract version.

Validation

Documentation and changelog

  • Updated the English and Japanese constructor-resolution contracts in DEVELOPER_GUIDE.md and TESTING_GUIDE.md.
  • Added bilingual fragment changelog.d/unreleased/5189.fixed.md.

Adversarial review

  • Ran the required Codex adversarial review for two rounds, the workflow maximum.
  • Addressed all six actionable findings: lexical token collisions, colon classification, escaped @params, primary/explicit family binding, ambiguous relational/interpolated expressions, and overflow-safe persisted-span validation.
  • Rebuilt and reran focused and full cross-target validation after the final fixes.

Follow-up candidates

  • None.

Fixes #5189

@Widthdom
Widthdom merged commit 3704d6b into main Aug 27, 2026
11 checks passed
@Widthdom
Widthdom deleted the fix-issue5189 branch August 27, 2026 06:04
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.

Preserve C# constructor invocation arity after using-alias normalization

1 participant