FWIW, in all public Github repos with 5k+ stars whose language gets recognized as “Swift”, 576 enum cases has associated values and among them 55 has 2 values or more. After some very casual grepping I didn’t find a lot of usage of this particular pattern.
Care to share some examples, Robert? - Daniel Duan > On Jan 21, 2017, at 11:00 PM, Robert Widmann <devteam.cod...@gmail.com> wrote: > > I find myself doing this a lot, but maybe my problems are just more > Algebra-shaped than most. That said, I appreciate this cleanup and lean +1 > (because you mentioned a way to partly keep this behavior). > > ~Robert Widmann > > 2017/01/19 18:14、Joe Groff via swift-evolution <swift-evolution@swift.org > <mailto:swift-evolution@swift.org>> のメッセージ: > >> >>> On Jan 19, 2017, at 2:58 PM, Daniel Duan <dan...@duan.org >>> <mailto:dan...@duan.org>> wrote: >>> >>> >>>> On Jan 19, 2017, at 2:29 PM, Joe Groff <jgr...@apple.com >>>> <mailto:jgr...@apple.com>> wrote: >>>> >>>>> >>>>> On Jan 19, 2017, at 1:47 PM, Douglas Gregor via swift-evolution >>>>> <swift-evolution@swift.org <mailto:swift-evolution@swift.org>> wrote: >>>>> >>>>> This looks totally reasonable to me. A couple of comments: >>>>> >>>>> 1) Because this proposal is breaking the link between the associated >>>>> value of an enum case and tuple types, I think it should spell out the >>>>> rules that switch statements will use when matching an enum value against >>>>> a a case with an associated value. Some kind of rules fell out of them >>>>> being treated as tuple types, but they might not be what we want. >>>> >>>> I was about to bring up the same. Right now, an enum pattern works like >>>> .<identifier> <tuple-pattern>, where the <tuple-pattern> then recursively >>>> matches the payload tuple. In this model, it seems like we'd want to treat >>>> it more like .<identifier>(<pattern>, <pattern>, ...). Similar to how we >>>> lost "tuple splatting" to forward a bunch of arguments, we'd have to >>>> decide whether we lose the ability to match all parts of the payload into >>>> a tuple. >>> >>> I’m leaning towards “no” for simplicity of the language (and >>> implementation). That means this would be source-breaking 😞. Will update >>> the proposal and see how the rest of the feedback goes. >> >> It'd be a good idea to try to find examples of people doing this out in the >> wild too, to see how widespread it is as well as how onerous the workarounds >> for losing the feature would be. >> >> -Joe >> >> _______________________________________________ >> swift-evolution mailing list >> swift-evolution@swift.org <mailto:swift-evolution@swift.org> >> https://lists.swift.org/mailman/listinfo/swift-evolution >> <https://lists.swift.org/mailman/listinfo/swift-evolution>
_______________________________________________ swift-evolution mailing list swift-evolution@swift.org https://lists.swift.org/mailman/listinfo/swift-evolution