[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