On 04.07.2016 21:21, Brent Royal-Gordon via swift-evolution wrote:
On Jul 4, 2016, at 10:43 AM, Leonardo Pessoa <m...@lmpessoa.com> wrote:

My issue with this being opt-in is third-party libraries.

That's why we have retroactive modeling. :^)

        import SomeEnumKit
        extension SomeEnum: ValuesEnumerable {}

You can extend another module's public enum to add conformance to a protocol, 
and there's no reason it can't generate the code in your module instead of 
theirs.


Yes, but I can't understand, why not give this ability to each enum? It seems like this feature is a very basic thing that enum must(IMO) to have. What kind of overhead this will generate? Static function or property that returns array as I understand should not generate any impact on memory required to store each separate *instance* of enum. I don't believe that adding a number of bytes to enum *type* to implement .allValues(or whatever named) will have any difference for total application/framework.
_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to