Skip to content

Conversation

hamishknight
Copy link
Contributor

@hamishknight hamishknight commented Aug 27, 2025

We set an original expression on ErrorExpr for cases where we have something invalid that doesn't fit into the AST, but is still something that the user has explicitly written. For example this is how we represent unresolved dots without member names (x.). We still want to type-check the underlying expression though since it can provide useful diagnostics and allows semantic functionality such as completion and cursor info to work correctly.

rdar://130771574

We set an original expression on ErrorExpr for cases where we have
something semantically invalid that doesn't fit into the AST, but is
still something that the user has explicitly written. For example
this is how we represent unresolved dots without member names (`x.`).
We still want to type-check the underlying expression though since
it can provide useful diagnostics and allows semantic functionality
such as completion and cursor info to work correctly.

rdar://130771574
@hamishknight
Copy link
Contributor Author

@swift-ci please test

@hamishknight
Copy link
Contributor Author

@swift-ci please SourceKit stress test

@hamishknight
Copy link
Contributor Author

Stress tester failures unrelated

@hamishknight hamishknight merged commit 7296c82 into swiftlang:main Aug 28, 2025
5 of 6 checks passed
@hamishknight hamishknight deleted the walkerr branch August 28, 2025 10:48
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.

2 participants