Skip to content

Conversation

@DougGregor
Copy link
Member

When building a curry thunk for unapplied references to instance
methods, the type checker would build a CallExpr rather than a
DotSyntaxCallExpr to work around various issues with source locations.
Fix the underlying issues with source locations in DotSyntaxCallExpr
so we can consistently build DotSyntaxCallExpr here, and assert that
we don't do this again:

  • DotSyntaxCallExpr wasn't able to reason about having just one of its
    children having source location information; fix it.
  • @dynamicCallable support was passing the declaration source location
    for the call expression, which was nowhere in the expression itself.
    The above mistake was covering for this one.

When building a curry thunk for unapplied references to instance
methods, the type checker would build a CallExpr rather than a
DotSyntaxCallExpr to work around various issues with source locations.
Fix the underlying issues with source locations in DotSyntaxCallExpr
so we can consistently build DotSyntaxCallExpr here, and assert that
we don't do this again:

* DotSyntaxCallExpr wasn't able to reason about having just one of its
children having source location information; fix it.
* @dynamicCallable support was passing the declaration source location
for the call expression, which was nowhere in the expression itself.
The above mistake was covering for this one.
@DougGregor
Copy link
Member Author

@swift-ci smoke test

@DougGregor
Copy link
Member Author

@swift-ci please test source compatibility

@DougGregor
Copy link
Member Author

Windows issue is unrelated:

S:\jenkins\workspace\swift-PR-windows\clang\lib\AST\TextNodeDumper.cpp(2252): fatal error C1088: Cannot flush compiler intermediate file: 'C:\Users\ci\AppData\Local\Temp\_CL_5b282bc4db': No space left on device

@DougGregor DougGregor merged commit ec72db1 into swiftlang:master Sep 22, 2020
@DougGregor DougGregor deleted the curry-thunk-dot-syntax-call-source-locs branch September 22, 2020 06:02
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