Skip to content

[CSBindings] Prefer conjunctions over closure variables without bindings #67441

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Aug 4, 2023

Conversation

xedin
Copy link
Contributor

@xedin xedin commented Jul 20, 2023

If a closure doesn't have a contextual type inferred yet it should be delayed in favor of
already resolved closure conjunction because "resolving" such a closure early could
miss result builder attribute attached to a parameter the closure is passed to.

Partially resolves #67363

@xedin xedin requested review from hborla and slavapestov as code owners July 20, 2023 20:35
@xedin
Copy link
Contributor Author

xedin commented Jul 20, 2023

@swift-ci please test

@xedin
Copy link
Contributor Author

xedin commented Jul 20, 2023

@swift-ci please test source compatibility

If a closure doesn't have a contextual type inferred yet it should
be delayed in favor of already resolved closure conjunction because
"resolving" such a closure early could miss result builder attribute
attached to a parameter the closure is passed to.

Partially resolves swiftlang#67363
@xedin xedin force-pushed the fix-overly-eager-closure-resolving branch from cfa3b29 to 11ee82d Compare July 21, 2023 16:46
@xedin
Copy link
Contributor Author

xedin commented Jul 21, 2023

@swift-ci please test

@xedin
Copy link
Contributor Author

xedin commented Jul 21, 2023

@swift-ci please test source compatibility

1 similar comment
@xedin
Copy link
Contributor Author

xedin commented Jul 21, 2023

@swift-ci please test source compatibility

@xedin
Copy link
Contributor Author

xedin commented Jul 24, 2023

@swift-ci please test source compatibility release

@xedin
Copy link
Contributor Author

xedin commented Jul 24, 2023

Release source compat failures are unrelated and happen on main as well - Assertion failed: (next->getType() == type && "explosion doesn't match payload schema"), function operator(), file EnumPayload.cpp, line 166.

@xedin
Copy link
Contributor Author

xedin commented Aug 1, 2023

@swift-ci please test source compatibility release

@xedin xedin merged commit 44cb14f into swiftlang:main Aug 4, 2023
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.

Type inference fails chaining call on the return value of @resultBuilder
2 participants