Skip to content

Fix explicit lambda parameter conversions - #2812

Merged
DavidObando merged 2 commits into
mainfrom
fix-2810-lambda-parameter-conversions
Jul 27, 2026
Merged

Fix explicit lambda parameter conversions#2812
DavidObando merged 2 commits into
mainfrom
fix-2810-lambda-parameter-conversions

Conversation

@DavidObando

Copy link
Copy Markdown
Owner

Summary

  • validate explicitly typed lambda parameters from the target delegate slot type
  • synthesize target-shaped adapters and materialize implicit conversions once per invocation
  • preserve symbolic generic, expression-tree, variadic, nullable, and by-reference behavior

Testing

  • full Core.Tests suite
  • targeted compiler emit and IL verification regressions

Fixes #2810

Validate target delegate parameter conversions and synthesize target-shaped adapters that materialize conversions once per invocation.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 7210ccfd-6fdd-4287-b005-47c42d978ded
Defer lambdas on symbolic constructed static receivers and reopen static methods so delegate slots retain caller type parameters instead of erased object placeholders.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 7210ccfd-6fdd-4287-b005-47c42d978ded
@DavidObando
DavidObando merged commit 451ca6b into main Jul 27, 2026
10 checks passed
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.

Implicit Operator Covariance in lambda expression

1 participant