[swift-evolution] Proposal: Sealed protocols
Douglas Gregor
dgregor at apple.com
Thu Dec 3 17:09:56 CST 2015
> On Dec 3, 2015, at 2:59 PM, Felix Gabel <felix.gabel at me.com> wrote:
>
> Hey everyone,
>
> I hereby propose adding a ’sealed’ modifier for protocols to enable library developers to declare protocols that can be only conformed to in the scope of the library itself. This is similar to a ’sealed trait’ in Scala with the difference that it does not limit the protocol to be only applicable in the file it is declared in.
>
> Example:
>
> public sealed protocol FooType {
> // this protocol can be conformed to only in scope of the library itself
> // it can NOT be conformed to by any object declared outside the library
> }
>
> What do you think?
Can you elaborate on why a Swift developer would want to distinguish between “public sealed” and “internal”?
- Doug
More information about the swift-evolution
mailing list