<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">Le 20 mai 2016 à 07:14, Charles Constant via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a>&gt; a écrit :</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class="">I wrote some code tonight to experiment with this kind of thing. I apologize if it's off-topic for the thread,&nbsp;but it might be useful to others who want to experiment.&nbsp;<div class=""><br class=""></div><div class=""><div style="margin: 0px; font-size: 10px; line-height: normal; font-family: 'Fantasque Sans Mono'; color: rgb(145, 145, 145); background-color: rgb(68, 68, 68); min-height: 12px;" class=""><span style="" class=""></span><br class=""></div><div style="margin: 0px; font-size: 10px; line-height: normal; font-family: 'Fantasque Sans Mono'; color: rgb(255, 255, 255); background-color: rgb(68, 68, 68); min-height: 12px;" class=""><span style="" class=""></span><br class=""></div><div style="margin: 0px; font-size: 10px; line-height: normal; font-family: 'Fantasque Sans Mono'; color: rgb(145, 145, 145); background-color: rgb(68, 68, 68);" class=""><span style="" class="">//: Playground - noun: a place where people can play</span></div><div style="margin: 0px; font-size: 10px; line-height: normal; font-family: 'Fantasque Sans Mono'; color: rgb(255, 255, 255); background-color: rgb(68, 68, 68); min-height: 12px;" class=""><span style="" class=""></span><br class=""></div><div style="margin: 0px; font-size: 10px; line-height: normal; font-family: 'Fantasque Sans Mono'; color: rgb(255, 255, 255); background-color: rgb(68, 68, 68);" class=""><span style="color:rgb(194,52,155)" class="">import</span><span style="" class=""> Cocoa</span></div><div style="margin: 0px; font-size: 10px; line-height: normal; font-family: 'Fantasque Sans Mono'; color: rgb(255, 255, 255); background-color: rgb(68, 68, 68); min-height: 12px;" class=""><span style="" class=""></span><br class=""></div><div style="margin: 0px; font-size: 10px; line-height: normal; font-family: 'Fantasque Sans Mono'; color: rgb(194, 52, 155); background-color: rgb(68, 68, 68);" class=""><span style="" class="">infix</span><span style="color:rgb(255,255,255)" class=""> </span><span style="" class="">operator</span><span style="color:rgb(255,255,255)" class=""> • { </span><span style="" class="">precedence</span><span style="color:rgb(255,255,255)" class=""> </span><span style="color:rgb(139,132,207)" class="">180</span><span style="color:rgb(255,255,255)" class=""> }</span></div><div style="margin: 0px; font-size: 10px; line-height: normal; font-family: 'Fantasque Sans Mono'; color: rgb(194, 52, 155); background-color: rgb(68, 68, 68);" class=""><span style="" class="">infix</span><span style="color:rgb(255,255,255)" class=""> </span><span style="" class="">operator</span><span style="color:rgb(255,255,255)" class=""> → { </span><span style="" class="">associativity</span><span style="color:rgb(255,255,255)" class=""> left </span><span style="" class="">precedence</span><span style="color:rgb(255,255,255)" class=""> </span><span style="color:rgb(139,132,207)" class="">70</span><span style="color:rgb(255,255,255)" class=""> }</span></div><div style="margin: 0px; font-size: 10px; line-height: normal; font-family: 'Fantasque Sans Mono'; color: rgb(194, 52, 155); background-color: rgb(68, 68, 68);" class=""><span style="" class="">infix</span><span style="color:rgb(255,255,255)" class=""> </span><span style="" class="">operator</span><span style="color:rgb(255,255,255)" class=""> … { </span><span style="" class="">associativity</span><span style="color:rgb(255,255,255)" class=""> right </span><span style="" class="">precedence</span><span style="color:rgb(255,255,255)" class=""> </span><span style="color:rgb(139,132,207)" class="">60</span><span style="color:rgb(255,255,255)" class=""> }</span></div><div style="margin: 0px; font-size: 10px; line-height: normal; font-family: 'Fantasque Sans Mono'; color: rgb(255, 255, 255); background-color: rgb(68, 68, 68); min-height: 12px;" class=""><span style="" class=""></span><br class=""></div><div style="margin: 0px; font-size: 10px; line-height: normal; font-family: 'Fantasque Sans Mono'; color: rgb(255, 255, 255); background-color: rgb(68, 68, 68);" class=""><span style="color:rgb(194,52,155)" class="">func</span><span style="" class=""> → &lt;T&gt;( lhs: </span><span style="color:rgb(0,175,202)" class="">Bool</span><span style="" class="">, rhs: </span><span style="color:rgb(0,175,202)" class="">T</span><span style="" class=""> ) -&gt; </span><span style="color:rgb(0,175,202)" class="">T</span><span style="" class="">? {</span></div><div style="margin: 0px; font-size: 10px; line-height: normal; font-family: 'Fantasque Sans Mono'; color: rgb(255, 255, 255); background-color: rgb(68, 68, 68);" class=""><span style="" class=""><span class="" style="white-space:pre">        </span></span><span style="color:rgb(194,52,155)" class="">return</span><span style="" class=""> lhs ? rhs : </span><span style="color:rgb(194,52,155)" class="">nil</span></div><div style="margin: 0px; font-size: 10px; line-height: normal; font-family: 'Fantasque Sans Mono'; color: rgb(255, 255, 255); background-color: rgb(68, 68, 68);" class=""><span style="" class="">}</span></div><div style="margin: 0px; font-size: 10px; line-height: normal; font-family: 'Fantasque Sans Mono'; color: rgb(255, 255, 255); background-color: rgb(68, 68, 68); min-height: 12px;" class=""><span style="" class=""></span><br class=""></div><div style="margin: 0px; font-size: 10px; line-height: normal; font-family: 'Fantasque Sans Mono'; color: rgb(255, 255, 255); background-color: rgb(68, 68, 68);" class=""><span style="color:rgb(194,52,155)" class="">func</span><span style="" class=""> … &lt;T&gt;( lhs:</span><span style="color:rgb(0,175,202)" class="">T</span><span style="" class="">?, rhs:</span><span style="color:rgb(0,175,202)" class="">T</span><span style="" class=""> ) -&gt; </span><span style="color:rgb(0,175,202)" class="">T</span><span style="" class=""> {</span></div><div style="margin: 0px; font-size: 10px; line-height: normal; font-family: 'Fantasque Sans Mono'; color: rgb(255, 255, 255); background-color: rgb(68, 68, 68);" class=""><span style="" class=""><span class="" style="white-space:pre">        </span></span><span style="color:rgb(194,52,155)" class="">return</span><span style="" class=""> lhs != </span><span style="color:rgb(194,52,155)" class="">nil</span><span style="" class=""> ? lhs! : rhs</span></div><div style="margin: 0px; font-size: 10px; line-height: normal; font-family: 'Fantasque Sans Mono'; color: rgb(255, 255, 255); background-color: rgb(68, 68, 68);" class=""><span style="" class="">}</span></div><div style="margin: 0px; font-size: 10px; line-height: normal; font-family: 'Fantasque Sans Mono'; color: rgb(255, 255, 255); background-color: rgb(68, 68, 68); min-height: 12px;" class=""><span style="" class=""></span><br class=""></div><div style="margin: 0px; font-size: 10px; line-height: normal; font-family: 'Fantasque Sans Mono'; color: rgb(255, 255, 255); background-color: rgb(68, 68, 68);" class=""><span style="color:rgb(194,52,155)" class="">func</span><span style="" class=""> depends&lt;I,O&gt;( dep:</span><span style="color:rgb(0,175,202)" class="">I</span><span style="" class="">, </span><span style="color:rgb(194,52,155)" class="">_</span><span style="" class=""> closure: (</span><span style="color:rgb(0,175,202)" class="">I</span><span style="" class="">)-&gt;(</span><span style="color:rgb(0,175,202)" class="">O</span><span style="" class="">) ) -&gt; </span><span style="color:rgb(0,175,202)" class="">O</span><span style="" class=""> {</span></div><div style="margin: 0px; font-size: 10px; line-height: normal; font-family: 'Fantasque Sans Mono'; color: rgb(255, 255, 255); background-color: rgb(68, 68, 68);" class=""><span style="" class=""><span class="" style="white-space:pre">        </span></span><span style="color:rgb(194,52,155)" class="">return</span><span style="" class=""> closure( dep )</span></div><div style="margin: 0px; font-size: 10px; line-height: normal; font-family: 'Fantasque Sans Mono'; color: rgb(255, 255, 255); background-color: rgb(68, 68, 68);" class=""><span style="" class="">}</span></div><div style="margin: 0px; font-size: 10px; line-height: normal; font-family: 'Fantasque Sans Mono'; color: rgb(255, 255, 255); background-color: rgb(68, 68, 68); min-height: 12px;" class=""><span style="" class=""></span><br class=""></div><div style="margin: 0px; font-size: 10px; line-height: normal; font-family: 'Fantasque Sans Mono'; color: rgb(255, 255, 255); background-color: rgb(68, 68, 68);" class=""><span style="color:rgb(194,52,155)" class="">func</span><span style="" class=""> • &lt;I,O&gt;( lhs: </span><span style="color:rgb(0,175,202)" class="">I</span><span style="" class="">, rhs: (</span><span style="color:rgb(0,175,202)" class="">I</span><span style="" class="">)-&gt;(</span><span style="color:rgb(0,175,202)" class="">O</span><span style="" class="">) ) -&gt; </span><span style="color:rgb(0,175,202)" class="">O</span><span style="" class=""> {</span></div><div style="margin: 0px; font-size: 10px; line-height: normal; font-family: 'Fantasque Sans Mono'; color: rgb(255, 255, 255); background-color: rgb(68, 68, 68);" class=""><span style="" class=""><span class="" style="white-space:pre">        </span></span><span style="color:rgb(194,52,155)" class="">return</span><span style="" class=""> </span><span style="color:rgb(147,200,106)" class="">depends</span><span style="" class="">( lhs, rhs )</span></div><div style="margin: 0px; font-size: 10px; line-height: normal; font-family: 'Fantasque Sans Mono'; color: rgb(255, 255, 255); background-color: rgb(68, 68, 68);" class=""><span style="" class="">}</span></div><div style="margin: 0px; font-size: 10px; line-height: normal; font-family: 'Fantasque Sans Mono'; color: rgb(255, 255, 255); background-color: rgb(68, 68, 68); min-height: 12px;" class=""><span style="" class=""></span><br class=""></div><div style="margin: 0px; font-size: 10px; line-height: normal; font-family: 'Fantasque Sans Mono'; color: rgb(145, 145, 145); background-color: rgb(68, 68, 68);" class=""><span style="" class="">/* Example using "depends" */</span></div><div style="margin: 0px; font-size: 10px; line-height: normal; font-family: 'Fantasque Sans Mono'; color: rgb(255, 255, 255); background-color: rgb(68, 68, 68); min-height: 12px;" class=""><span style="" class=""></span><br class=""></div><div style="margin: 0px; font-size: 10px; line-height: normal; font-family: 'Fantasque Sans Mono'; color: rgb(194, 52, 155); background-color: rgb(68, 68, 68);" class=""><span style="" class="">let</span></div><div style="margin: 0px; font-size: 10px; line-height: normal; font-family: 'Fantasque Sans Mono'; color: rgb(255, 255, 255); background-color: rgb(68, 68, 68);" class=""><span style="" class=""><span class="" style="white-space:pre">        </span>str:</span><span style="color:rgb(0,175,202)" class="">String</span><span style="" class="">,</span></div><div style="margin: 0px; font-size: 10px; line-height: normal; font-family: 'Fantasque Sans Mono'; color: rgb(255, 255, 255); background-color: rgb(68, 68, 68);" class=""><span style="" class=""><span class="" style="white-space:pre">        </span>i = </span><span style="color:rgb(139,132,207)" class="">7</span></div><div style="margin: 0px; font-size: 10px; line-height: normal; font-family: 'Fantasque Sans Mono'; color: rgb(255, 255, 255); background-color: rgb(68, 68, 68); min-height: 12px;" class=""><span style="" class=""></span><br class=""></div><div style="margin: 0px; font-size: 10px; line-height: normal; font-family: 'Fantasque Sans Mono'; color: rgb(147, 200, 106); background-color: rgb(68, 68, 68);" class=""><span style="" class="">str</span><span style="color:rgb(255,255,255)" class=""> = </span><span style="" class="">depends</span><span style="color:rgb(255,255,255)" class="">( </span><span style="" class="">i</span><span style="color:rgb(255,255,255)" class=""> ){</span></div><div style="margin: 0px; font-size: 10px; line-height: normal; font-family: 'Fantasque Sans Mono'; color: rgb(255, 255, 255); background-color: rgb(68, 68, 68);" class=""><span style="" class=""><span class="" style="white-space:pre">        </span>$0==</span><span style="color:rgb(139,132,207)" class="">2</span><span style="" class=""> </span><span style="color:rgb(147,200,106)" class="">→</span><span style="" class=""> </span><span style="color:rgb(228,68,72)" class="">"two"</span><span style="" class=""> </span><span style="color:rgb(147,200,106)" class="">…</span></div><div style="margin: 0px; font-size: 10px; line-height: normal; font-family: 'Fantasque Sans Mono'; color: rgb(255, 255, 255); background-color: rgb(68, 68, 68);" class=""><span style="" class=""><span class="" style="white-space:pre">        </span>$0==</span><span style="color:rgb(139,132,207)" class="">3</span><span style="" class=""> </span><span style="color:rgb(147,200,106)" class="">→</span><span style="" class=""> </span><span style="color:rgb(228,68,72)" class="">"three"</span><span style="" class=""> </span><span style="color:rgb(147,200,106)" class="">…</span></div><div style="margin: 0px; font-size: 10px; line-height: normal; font-family: 'Fantasque Sans Mono'; color: rgb(255, 255, 255); background-color: rgb(68, 68, 68);" class=""><span style="" class=""><span class="" style="white-space:pre">        </span>$0==</span><span style="color:rgb(139,132,207)" class="">4</span><span style="" class=""> </span><span style="color:rgb(147,200,106)" class="">→</span><span style="" class=""> </span><span style="color:rgb(228,68,72)" class="">"four"</span><span style="" class=""> </span><span style="color:rgb(147,200,106)" class="">…</span></div><div style="margin: 0px; font-size: 10px; line-height: normal; font-family: 'Fantasque Sans Mono'; color: rgb(228, 68, 72); background-color: rgb(68, 68, 68);" class=""><span style="color:rgb(255,255,255)" class=""><span class="" style="white-space:pre">        </span></span><span style="" class="">"other"</span></div><div style="margin: 0px; font-size: 10px; line-height: normal; font-family: 'Fantasque Sans Mono'; color: rgb(255, 255, 255); background-color: rgb(68, 68, 68);" class=""><span style="" class="">}</span></div><div style="margin: 0px; font-size: 10px; line-height: normal; font-family: 'Fantasque Sans Mono'; color: rgb(255, 255, 255); background-color: rgb(68, 68, 68); min-height: 12px;" class=""><span style="" class=""></span><br class=""></div></div></div></div></blockquote><div><br class=""></div><div>Hmm… replacing -&gt; by ?, and … by : you get:</div><div><br class=""></div><div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures; color: #4f8187" class="">str</span> = <span style="font-variant-ligatures: no-common-ligatures; color: #31595d" class="">depends</span>( <span style="font-variant-ligatures: no-common-ligatures; color: #4f8187" class="">i</span> ){</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class="">&nbsp; &nbsp; $0==<span style="font-variant-ligatures: no-common-ligatures; color: #272ad8" class="">2</span> ? <span style="font-variant-ligatures: no-common-ligatures; color: #d12f1b" class="">"two"</span> :</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class="">&nbsp; &nbsp; $0==<span style="font-variant-ligatures: no-common-ligatures; color: #272ad8" class="">3</span> ? <span style="font-variant-ligatures: no-common-ligatures; color: #d12f1b" class="">"three"</span> :</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class="">&nbsp; &nbsp; $0==<span style="font-variant-ligatures: no-common-ligatures; color: #272ad8" class="">4</span> ? <span style="font-variant-ligatures: no-common-ligatures; color: #d12f1b" class="">"four"</span> :</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(209, 47, 27);" class=""><span style="font-variant-ligatures: no-common-ligatures; color: #000000" class="">&nbsp; &nbsp; </span>"other"</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class="">}</div><div class=""><br class=""></div><div class="">which work as is without a need to define new operators.</div><div class=""><br class=""></div><div class="">Dany</div><div class=""><br class=""></div></div><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><div class=""><div style="margin: 0px; font-size: 10px; line-height: normal; font-family: 'Fantasque Sans Mono'; color: rgb(145, 145, 145); background-color: rgb(68, 68, 68);" class=""><span style="" class="">/* Example using "•" operator as "depends" */</span></div><div style="margin: 0px; font-size: 10px; line-height: normal; font-family: 'Fantasque Sans Mono'; color: rgb(255, 255, 255); background-color: rgb(68, 68, 68); min-height: 12px;" class=""><span style="" class=""></span><br class=""></div><div style="margin: 0px; font-size: 10px; line-height: normal; font-family: 'Fantasque Sans Mono'; color: rgb(255, 255, 255); background-color: rgb(68, 68, 68);" class=""><span style="color:rgb(194,52,155)" class="">enum</span><span style="" class=""> People { </span><span style="color:rgb(194,52,155)" class="">case</span><span style="" class=""> Kurtz, Popescu, Lime, Martins }</span></div><div style="margin: 0px; font-size: 10px; line-height: normal; font-family: 'Fantasque Sans Mono'; color: rgb(255, 255, 255); background-color: rgb(68, 68, 68);" class=""><span style="color:rgb(194,52,155)" class="">enum</span><span style="" class=""> Order { </span><span style="color:rgb(194,52,155)" class="">case</span><span style="" class=""> First, Second, Third, Unknown }</span></div><div style="margin: 0px; font-size: 10px; line-height: normal; font-family: 'Fantasque Sans Mono'; color: rgb(255, 255, 255); background-color: rgb(68, 68, 68); min-height: 12px;" class=""><span style="" class=""></span><br class=""></div><div style="margin: 0px; font-size: 10px; line-height: normal; font-family: 'Fantasque Sans Mono'; color: rgb(194, 52, 155); background-color: rgb(68, 68, 68);" class=""><span style="" class="">let</span></div><div style="margin: 0px; font-size: 10px; line-height: normal; font-family: 'Fantasque Sans Mono'; color: rgb(255, 255, 255); background-color: rgb(68, 68, 68);" class=""><span style="" class=""><span class="" style="white-space:pre">        </span>order:</span><span style="color:rgb(147,200,106)" class="">Order</span><span style="" class="">,</span></div><div style="margin: 0px; font-size: 10px; line-height: normal; font-family: 'Fantasque Sans Mono'; color: rgb(255, 255, 255); background-color: rgb(68, 68, 68);" class=""><span style="" class=""><span class="" style="white-space:pre">        </span>person:</span><span style="color:rgb(147,200,106)" class="">People</span><span style="" class=""> = .</span><span style="color:rgb(147,200,106)" class="">Lime</span></div><div style="margin: 0px; font-size: 10px; line-height: normal; font-family: 'Fantasque Sans Mono'; color: rgb(255, 255, 255); background-color: rgb(68, 68, 68); min-height: 12px;" class=""><span style="" class=""></span><br class=""></div><div style="margin: 0px; font-size: 10px; line-height: normal; font-family: 'Fantasque Sans Mono'; color: rgb(147, 200, 106); background-color: rgb(68, 68, 68);" class=""><span style="" class="">order</span><span style="color:rgb(255,255,255)" class=""> = </span><span style="" class="">person</span><span style="color:rgb(255,255,255)" class=""> </span><span style="" class="">•</span><span style="color:rgb(255,255,255)" class=""> {</span></div><div style="margin: 0px; font-size: 10px; line-height: normal; font-family: 'Fantasque Sans Mono'; color: rgb(147, 200, 106); background-color: rgb(68, 68, 68);" class=""><span style="color:rgb(255,255,255)" class=""><span class="" style="white-space:pre">        </span>$0 </span><span style="" class="">==</span><span style="color:rgb(255,255,255)" class=""> .</span><span style="" class="">Kurtz</span><span style="color:rgb(255,255,255)" class=""> </span><span style="" class="">→</span><span style="color:rgb(255,255,255)" class=""> .</span><span style="" class="">First</span><span style="color:rgb(255,255,255)" class=""> </span><span style="" class="">…</span></div><div style="margin: 0px; font-size: 10px; line-height: normal; font-family: 'Fantasque Sans Mono'; color: rgb(147, 200, 106); background-color: rgb(68, 68, 68);" class=""><span style="color:rgb(255,255,255)" class=""><span class="" style="white-space:pre">        </span>$0 </span><span style="" class="">==</span><span style="color:rgb(255,255,255)" class=""> .</span><span style="" class="">Popescu</span><span style="color:rgb(255,255,255)" class=""> </span><span style="" class="">→</span><span style="color:rgb(255,255,255)" class=""> .</span><span style="" class="">Second</span><span style="color:rgb(255,255,255)" class=""> </span><span style="" class="">…</span></div><div style="margin: 0px; font-size: 10px; line-height: normal; font-family: 'Fantasque Sans Mono'; color: rgb(147, 200, 106); background-color: rgb(68, 68, 68);" class=""><span style="color:rgb(255,255,255)" class=""><span class="" style="white-space:pre">        </span>$0 </span><span style="" class="">==</span><span style="color:rgb(255,255,255)" class=""> .</span><span style="" class="">Lime</span><span style="color:rgb(255,255,255)" class=""> </span><span style="" class="">→</span><span style="color:rgb(255,255,255)" class=""> .</span><span style="" class="">Third</span><span style="color:rgb(255,255,255)" class=""> </span><span style="" class="">…</span></div><div style="margin: 0px; font-size: 10px; line-height: normal; font-family: 'Fantasque Sans Mono'; color: rgb(147, 200, 106); background-color: rgb(68, 68, 68);" class=""><span style="color:rgb(255,255,255)" class=""><span class="" style="white-space:pre">        </span>.</span><span style="" class="">Unknown</span></div><div style="margin: 0px; font-size: 10px; line-height: normal; font-family: 'Fantasque Sans Mono'; color: rgb(255, 255, 255); background-color: rgb(68, 68, 68);" class=""><span style="" class="">}</span></div><div style="margin: 0px; font-size: 10px; line-height: normal; font-family: 'Fantasque Sans Mono'; color: rgb(255, 255, 255); background-color: rgb(68, 68, 68); min-height: 12px;" class=""><span style="" class=""></span><br class=""></div><div class=""><div class=""><div class=""><br class=""></div><div class=""><div class="">I also have some trepidation about posting it here, because it might have bugs. I wans't sure what "precedence" and "associativity" should be, for example. But it does make it more convenient to test alternative characters for operators, etc.</div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><br class=""></div></div></div></div></div><div class="gmail_extra"><br class=""><div class="gmail_quote">On Sat, Apr 9, 2016 at 12:05 AM, Vladimir.S via swift-evolution <span dir="ltr" class="">&lt;<a href="mailto:swift-evolution@swift.org" target="_blank" class="">swift-evolution@swift.org</a>&gt;</span> wrote:<br class=""><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span class=""><br class="">
On 09.04.2016 9:31, Brent Royal-Gordon wrote:<br class="">
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
This design is still very much under development—it hasn't even been reviewed, let alone added to the language. Here's the draft proposal:&lt;<a href="https://github.com/jtbandes/swift-evolution/blob/case-enumerable/proposals/0000-derived-collection-of-enum-cases.md" rel="noreferrer" target="_blank" class="">https://github.com/jtbandes/swift-evolution/blob/case-enumerable/proposals/0000-derived-collection-of-enum-cases.md</a>&gt;<br class="">
<br class="">
I'm not saying that this will necessarily be a solution that ends up being accepted—I'm merely saying that yes, it's something people are thinking about and designing; it's just been inactive for a few weeks.<br class="">
</blockquote>
<br class=""></span>
Oh, I see. Thank you for letting know. Just missed "you would be able" in your previous message, did read it as "you are able", so was trying to find this in current Swift version. OK, glad to know that most likely we'll have improvements in enums eterations for Swift 3.0.<div class=""><div class="h5"><br class="">
_______________________________________________<br class="">
swift-evolution mailing list<br class="">
<a href="mailto:swift-evolution@swift.org" target="_blank" class="">swift-evolution@swift.org</a><br class="">
<a href="https://lists.swift.org/mailman/listinfo/swift-evolution" rel="noreferrer" target="_blank" class="">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br class="">
</div></div></blockquote></div><br class=""></div></div>
_______________________________________________<br class="">swift-evolution mailing list<br class=""><a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a><br class="">https://lists.swift.org/mailman/listinfo/swift-evolution<br class=""></div></blockquote></div><br class=""></body></html>