Since Xcode 7 and Swift 2.0, I get the error above, like in the screenshot shown here:
To me what caused this error was:
I created a file to create extensions on UIView. Inside this file, I created a private protocol named Foo.
Then I made:
extension UIView: Foo
Removing the private from the protocol made the error go away.
I guess this is probably a bug. The compiler should warn us about the issue. The same way it warns us we can't add private conformances to types it should tell us that conformance should be using a "public/internal" protocol.