Currently, Swift has at least two language dialects:
- Swift with library evolution on (Swift+LE )
- Swift with library evolution off (Swift-LE )
To my knowledge, there's only one semantic difference:
- Swift+LE 's enum s are open by default and can be closed by using @frozen
- Swift-LE 's enum s are closed by default and CANNOT be closed
That leaves us in Swift-LE land in a terrible position (eg. https://github.com/apple/swift-nio/issues/1428 , https://github.com/apple/swift-nio/issues/969 ): Not only do we have a different default, Swift-LE actually literally cannot express the default behaviour of Swift+LE...