Skip to content

Track containsNullsafe on ExpressionResult and propagate it through fetch/call chains - #6143

Merged
ondrejmirtes merged 1 commit into
2.2.xfrom
expression-result-contains-nullsafe
Jul 28, 2026
Merged

Track containsNullsafe on ExpressionResult and propagate it through fetch/call chains#6143
ondrejmirtes merged 1 commit into
2.2.xfrom
expression-result-contains-nullsafe

Conversation

@ondrejmirtes

Copy link
Copy Markdown
Member

Extracted from the resolve-type-rewrite-2 branch (independent PR on 2.2.x) — one of the non-callback ExpressionResult constructor arguments the eventual switch builds on.

A boolean flag on ExpressionResult recording whether the expression's chain contains a nullsafe operator, propagated through the fetch/call handlers (a fetch/call on a receiver whose chain short-circuits propagates null, which a plain nullable receiver does not — this flag is what tells them apart). Inert plumbing on 2.2.x for now — the branch's nullsafe short-circuit decisions consume it — landed with the branch's exact field ordering so the sweep diff shrinks; the one factory caller passing scope callbacks positionally switches to named arguments.

Validation: full test suite green (17778 tests), self-analysis clean, code style clean.

🤖 Generated with Claude Code

https://claude.ai/code/session_019wqGgaD7iqL44t1KgpJS7b

@ondrejmirtes
ondrejmirtes merged commit 45adaa9 into 2.2.x Jul 28, 2026
738 of 744 checks passed
@ondrejmirtes
ondrejmirtes deleted the expression-result-contains-nullsafe branch July 28, 2026 19:14
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