Skip to content
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

[AST] Verify canonicalization of generic signatures. #12774

Merged
merged 4 commits into from
Nov 7, 2017

Conversation

DougGregor
Copy link
Member

When we canonicalize a generic signature, ensure that the resulting
signature has canonical requirements in the appropriate order.
More validation for generic signature canonicalization as part of the
ABI, which is tracked by SR-3733 / rdar://problem/31412994.

Make sure that we always get the underlying concrete type or the anchor
of a particular equivalence class.
@DougGregor
Copy link
Member Author

@swift-ci please smoke test and merge

We’re substituting in the conformance type for Self, nothing more.
If substitution into the generic parameters of a generic function type
changes those generic parameters, build a new generic signature from
the resulting parameters. Otherwise, we can end up building ill-formed
generic signatures that fail validation.
When we canonicalize a generic signature, ensure that the resulting
signature has canonical requirements in the appropriate order.
More validation for generic signature canonicalization as part of the
ABI, which is tracked by SR-3733 / rdar://problem/31412994.
@DougGregor
Copy link
Member Author

@swift-ci please smoke test and merge

1 similar comment
@DougGregor
Copy link
Member Author

@swift-ci please smoke test and merge

@swift-ci swift-ci merged commit b0ef4b5 into swiftlang:master Nov 7, 2017
@DougGregor DougGregor deleted the gsb-validate-canonicalization branch November 7, 2017 17:16
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