Should access control on extensions be banned in Swift 6?

There’s (currently) no such thing as non-public conformance, because as? exists. If you “internally” conform a type to e.g. CustomDebugStringConvertible, a client can still successfully cast an instance of your type to that protocol.

Scoped conformances have been pitched before but they are a very involved feature.

1 Like