My wild aspirations in a nutshell:

Core enums:  Any enum that's created without raw or associated values, e.g. 
enum MyEnum {case This, That, Whatever, Etc},  can (and should) be Array<Self> 
representable. This would add intrinsic ordering and raw value construction 
starting with 0, up to count - 1. End-devs could use the ordering or not use 
the ordering, but it would be possible to convert to bit representation (1 << 
this.rawValue),  support iteration through the enumeration, introduce ranges 
for switches, etc. A massive improvement.

Raw value enums: Any enum that uses raw values, e.g. enum ForExample: String 
{case Hello = "hello", There = "there"} should be representable as Set<T>

Associated type enums: all bets are off

-- E

> On Dec 21, 2015, at 12:52 PM, Jacob Bandes-Storch via swift-evolution 
> <[email protected]> wrote:
> 
> I brought up this topic a couple weeks ago in a thread called "List of all 
> Enum values (for simple enums)":
> 
> https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20151207/001233.html
>  
> <https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20151207/001233.html>
> 
> I suppose it's time to start synthesizing those ideas/discussion into a 
> proposal :)
> 
> Jacob
> 
> On Mon, Dec 21, 2015 at 8:35 AM, Stephen Celis via swift-evolution 
> <[email protected] <mailto:[email protected]>> wrote:
>> On Dec 21, 2015, at 11:27 AM, Nevin Brackett-Rozinsky 
>> <[email protected] <mailto:[email protected]>> 
>> wrote:
>> 
>> Would .cases return the enum’s cases in source-code order? That seems 
>> fragile at first glance.
>> 
>> It might be worth considering to have it return an unordered collection 
>> (set) instead.
> 
> Care to elaborate on why you think it may be fragile?
> 
> Retaining order makes sense to me given that integer-backed enumerations 
> auto-increment and that enumerations cannot be extended with new cases. I'm 
> not opposed to using a set, though, if that makes more sense.
> 
> Stephen
> 
> 
> _______________________________________________
> swift-evolution mailing list
> [email protected] <mailto:[email protected]>
> https://lists.swift.org/mailman/listinfo/swift-evolution 
> <https://lists.swift.org/mailman/listinfo/swift-evolution>
> 
> 
>  _______________________________________________
> swift-evolution mailing list
> [email protected]
> https://lists.swift.org/mailman/listinfo/swift-evolution

_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to