Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.Sign up
Implementation-only import checking for conformances #23808
Continues building on John's #23702 and my #23722 to start checking the use of conformances. These also create a dependency on the implementation module, even if both the type and the protocol are public. As John puts it, a conformance is basically a declaration that we name as part of another declaration.
This was referenced
Apr 6, 2019
Okay, I think this is ready. I removed a bunch of duplication from the last commit and now things aren't perfect but they're at least not terribly bad.
What test cases am I missing?
Leaving marked as a draft because it still slurps in #23912, so I have to do one more rebase.
I'll do a follow-up PR that harmonizes John's and my terminology, since right now half of the stuff says "exportability" and the other half says "implementation-only" or "implementationOnly"; and another one that renames AccessScopeChecker.h to TypeDeclFinder.h (and pulls the access control walking out) as requested by Slava.
@swift-ci Please test