Skip to content

[4.2][Diagnostics] Transfer previously resolved types directly from expressions #17953

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 3 commits into from
Jul 15, 2018

Conversation

xedin
Copy link
Contributor

@xedin xedin commented Jul 14, 2018

  • Explanation: While trying to diagnose the problem with previously type-checked
    sub-expression, use its type-checked variant as a source of type
    information, instead of transferring from its original constraint system,
    because if expression was type-checked successfully it would
    have all of the required information in AST, and that doesn't
    rely on associated constraint system being present.

  • Issue: rdar://problem/42056741

  • Scope: Diagnostics, in subset of cases when failure detector tries to re-typecheck the same expression multiple times.

  • Risk: Very low, only affects diagnostics in small subset of recursive cases.

  • Testing: Added compiler regression tests.

  • Reviewed by: @rudkx

Resolves: rdar://problem/42056741

xedin added 3 commits July 14, 2018 12:16
…sions

While trying to diagnose the problem with previously type-checked
sub-expression, use its type-checked variant as a source of type
information, instead of transferring from its original constraint system,
because if expression was type-checked successfully it would
have all of the required information in AST, and that doesn't
rely on associated constraint system being present.

Resolves: rdar://problem/42056741
(cherry picked from commit d324969)
@xedin
Copy link
Contributor Author

xedin commented Jul 14, 2018

@swift-ci please test

@xedin
Copy link
Contributor Author

xedin commented Jul 14, 2018

@swift-ci please test source compatibility

@xedin
Copy link
Contributor Author

xedin commented Jul 15, 2018

There are no failures, just multiple UPASSs related to package manager API.

@xedin xedin merged commit 85df97e into swiftlang:swift-4.2-branch Jul 15, 2018
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