[Sema] Have isValidTypeExprParent consider its child #39073
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
With the introduction of the ArgumentList type in #38836, argument expressions will be direct decedents of call expressions, without an intermediate TupleExpr. As such, we need to tweak
isValidTypeExprParent
to consider the child expression such thatT(x)
is permissible, butx(T)
is not.Change
isValidTypeExprParent
to take a child expr parameter, and update its use in MiscDiagnostics and PreCheckExpr. For PreCheckExpr, switch from a stack to walking the parent directly, as a stack-based approach would be a bit more fiddly in this case, and walking the parents shouldn't be expensive.This should be NFC, I'm splitting it off from the ArgumentList refactoring to make the rebasing there a little more straightforward.