[swift-evolution] Allowing enum extensions to also be able to expand case options
Daniel Duan
daniel at duan.org
Thu Jun 30 19:09:45 CDT 2016
Edward Valentini via swift-evolution <swift-evolution at ...> writes:
-1. Having a proper sum type so that the compiler can verify all cases are
covered is important. If you need a type of extensible tagged value,
I recommend using static members:
struct MyDirection {
static let east = MyDirection()
static let west = MyDirection()
}
extension MyDirection {
static let north = MyDirection()
static let south = MyDirection()
}
Sum type: https://en.wikipedia.org/wiki/Tagged_union
More information about the swift-evolution
mailing list