[swift-evolution] Allowing enum extensions to also be able to expand case options
Edward Valentini
edwardvalentini at gmail.com
Thu Jun 30 15:10:41 CDT 2016
Existing switch statements would have to be modified to add a default statement. Additionally enums could be marked final to disallow case option expansion
On Jun 30, 2016, at 16:04, David Sweeris <davesweeris at mac.com> wrote:
>
> By itself, this would break switch statements, since they have to be exhaustive.
>
> If anyone has any ideas about how to fix that, I'm all ears.
>
> - Dave Sweeris
>
>> On Jun 30, 2016, at 14:58, Edward Valentini via swift-evolution <swift-evolution at swift.org> wrote:
>>
>>
>> I am finding myself in a situation where the most elegant "swifty" solution would be to allow enum extensions to add to existing case options. For example lets say I'm using a library that has the following enum defined:
>>
>> enum MyDirection {
>> case east, west
>> }
>>
>> My app for example also makes use of north and south, so I would love to be able to write:
>>
>> extension MyDirection {
>> case north,south
>> }
>>
>> In objective c, one would probably have defined constants like MyDirectionEast etc... these would probably have been mapped to ints or strings so a consumer of this library could have easily extended this to add additional functionality, but using constants like that is not very "swifty"
>>
>> I'm curious what the swift community thinks.
>>
>> Thank you
>> _______________________________________________
>> swift-evolution mailing list
>> swift-evolution at swift.org
>> https://lists.swift.org/mailman/listinfo/swift-evolution
More information about the swift-evolution
mailing list