Skip to content

Clean up IDE member type hack #5876

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

Conversation

slavapestov
Copy link
Contributor

No description provided.

@slavapestov
Copy link
Contributor Author

@swift-ci Please smoke test

@slavapestov
Copy link
Contributor Author

Hi @nkcsgexi, this is the change we were talking about last week, I believe this supersedes #5438. Can you take a look?

When printing a nested type, make sure we call getMemberSubstitutions()
with the correct DeclContext.
This workaround is no longer needed now that we always use the correct
DeclContext with getMemberSubstitutions().
This fixes a regression from the previous patch which got
rid of PrintOptions::StripDynamicSelf.

When printing protocol declarations with a BaseType set in
PrintOptions, we can end up with a DynamicSelfType wrapping
a non-class type, if the protocol requirement returned
Self.

Note that this changes the diagnostic for missing protocol
requirements slightly; we used to sometimes refer to 'Self'
even if the conforming type is not a class, which is not
accepted by the type checker anyway. I believe the new
diagnostics are more correct.
@slavapestov slavapestov force-pushed the clean-up-ide-member-type-hack branch from a7ed54f to 1df6e51 Compare November 20, 2016 06:54
@slavapestov
Copy link
Contributor Author

@swift-ci Please smoke test

1 similar comment
@slavapestov
Copy link
Contributor Author

@swift-ci Please smoke test

@slavapestov slavapestov merged commit c4771a2 into swiftlang:master Nov 20, 2016
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