We weren't checking this before, which would let you define a public protocol that no public type could conform to. This is a source-breaking change, so stage it in with a warning. It becomes an error in -swift-version 5 mode.