<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=""><div class="">Thanks for that, it was really helpful. I see it now.</div><div class=""><br class=""></div><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class=""><div class="">I’m happy to admit I had not fully appreciated the notion of pattern matching, and I very much doubt I'm alone either.</div></blockquote><div class=""><br class=""></div><div class="">The Swift Programming book goes some way to explain it (in the language reference section) - maybe this is an area that needs some attention (from an educational perspective).</div><div class=""><br class=""></div><div class="">Many thanks for replying.</div><div class=""><br class=""></div><div class="">Nick</div><div class=""><br class=""></div><div class="">p.s. I looked up some Erlang examples - it did help&nbsp;</div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><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><blockquote type="cite" class=""><div class="">On 9 Nov 2016, at 12:50, Michael Nisi &lt;<a href="mailto:michael.nisi@gmail.com" class="">michael.nisi@gmail.com</a>&gt; wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="content-type" content="text/html; charset=utf-8" class=""><div dir="auto" class=""><div class=""></div><div class="">Yes, equals isn't assignment but pattern matching here. Reminds of Erlang, which I love.</div><div class=""><br class=""></div><div class="">Michael</div><div class=""><br class="">On 9 Nov 2016, at 12:57, Zhao Xin via swift-users &lt;<a href="mailto:swift-users@swift.org" class="">swift-users@swift.org</a>&gt; wrote:<br class=""><br class=""></div><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><div class="gmail_default" style="font-family:georgia,serif">The `if case` is the same meaning as `switch-case`, so I don't think there is anything ambitious. For `switch-case`, it is not equal, it is matching.</div><div class="gmail_default" style="font-family:georgia,serif"><br class=""></div><div class="gmail_default" style="font-family:georgia,serif">Zhaoxin</div></div><div class="gmail_extra"><br class=""><div class="gmail_quote">On Wed, Nov 9, 2016 at 7:17 PM, Nicholas Outram via swift-users <span dir="ltr" class="">&lt;<a href="mailto:swift-users@swift.org" target="_blank" class="">swift-users@swift.org</a>&gt;</span> wrote:<br class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word" class=""><div style="word-wrap:break-word" class=""><div style="word-wrap:break-word" class=""><div style="margin:0px;line-height:normal" class=""><font face="Arial" size="4" class="">Hi</font></div><div style="margin:0px;line-height:normal" class=""><font face="Arial" size="4" class=""><br class=""></font></div><div style="margin:0px;line-height:normal" class=""><font face="Arial" size="4" class="">I’ve been drilling down on the syntax of enumerated types with associated data in the current release version of Swift 3.</font></div><div style="margin:0px;line-height:normal" class=""><span style="font-family:Arial;font-size:large" class="">I’ve pasted below a section of a Playground that captures an issue I’d like to raise.</span></div><div style="margin:0px;line-height:normal" class=""><font face="Arial" size="4" class=""><br class=""></font></div><div style="margin:0px;line-height:normal" class=""><font face="Arial" size="4" class="">In summary:</font></div><div style="margin:0px;line-height:normal" class=""><font face="Arial" size="4" class=""><br class=""></font></div><div style="margin:0px;line-height:normal" class=""><font face="Arial" size="4" class="">Consider the following&nbsp;</font></div><div style="margin:0px;line-height:normal" class=""><div style="margin:0px;font-size:18px;line-height:normal;font-family:Menlo" class=""><span style="font-variant-ligatures:no-common-ligatures;color:rgb(196,34,117)" class="">enum</span><span style="font-variant-ligatures:no-common-ligatures" class="">&nbsp;Vehicle {</span></div><div style="margin:0px;font-size:18px;line-height:normal;font-family:Menlo" class=""><span style="font-variant-ligatures:no-common-ligatures" class="">&nbsp;&nbsp;&nbsp;</span><span style="font-variant-ligatures:no-common-ligatures;color:rgb(196,34,117)" class="">case</span><span style="font-variant-ligatures:no-common-ligatures" class="">&nbsp;car(petrol:&nbsp;</span><span style="font-variant-ligatures:no-common-ligatures;color:rgb(112,61,170)" class="">Bool</span><span style="font-variant-ligatures:no-common-ligatures" class="">, sizeCC:&nbsp;</span><span style="font-variant-ligatures:no-common-ligatures;color:rgb(112,61,170)" class="">Int</span><span style="font-variant-ligatures:no-common-ligatures" class="">)</span></div><div style="margin:0px;font-size:18px;line-height:normal;font-family:Menlo" class=""><span style="font-variant-ligatures:no-common-ligatures" class="">&nbsp;&nbsp;&nbsp;</span><span style="font-variant-ligatures:no-common-ligatures;color:rgb(196,34,117)" class="">case</span><span style="font-variant-ligatures:no-common-ligatures" class="">&nbsp;plane(engines :&nbsp;</span><span style="font-variant-ligatures:no-common-ligatures;color:rgb(112,61,170)" class="">Int</span><span style="font-variant-ligatures:no-common-ligatures" class="">)</span></div><div style="margin:0px;font-size:18px;line-height:normal;font-family:Menlo" class=""><span style="font-variant-ligatures:no-common-ligatures" class="">&nbsp;&nbsp;&nbsp;</span><span style="font-variant-ligatures:no-common-ligatures;color:rgb(196,34,117)" class="">case</span><span style="font-variant-ligatures:no-common-ligatures" class="">&nbsp;other(</span><span style="font-variant-ligatures:no-common-ligatures;color:rgb(112,61,170)" class="">String</span><span style="font-variant-ligatures:no-common-ligatures" class="">)</span></div><div style="margin:0px;font-size:18px;line-height:normal;font-family:Menlo" class=""><span style="font-variant-ligatures:no-common-ligatures" class="">&nbsp;&nbsp;&nbsp;</span><span style="font-variant-ligatures:no-common-ligatures;color:rgb(196,34,117)" class="">case</span><span style="font-variant-ligatures:no-common-ligatures" class="">&nbsp;none</span></div><div style="margin:0px;font-size:18px;line-height:normal;font-family:Menlo" class=""><span style="font-variant-ligatures:no-common-ligatures" class="">}</span></div><div style="margin:0px;font-size:18px;line-height:normal;font-family:Menlo;color:rgb(33,150,28)" class=""><span style="font-variant-ligatures:no-common-ligatures;color:rgb(196,34,117)" class="">let</span><span style="font-variant-ligatures:no-common-ligatures" class="">&nbsp;myJourney :&nbsp;</span><span style="font-variant-ligatures:no-common-ligatures;color:rgb(83,154,164)" class="">Vehicle</span><span style="font-variant-ligatures:no-common-ligatures" class="">&nbsp;= .</span><span style="font-variant-ligatures:no-common-ligatures;color:rgb(49,89,93)" class="">other</span><span style="font-variant-ligatures:no-common-ligatures" class="">(</span><span style="font-variant-ligatures:no-common-ligatures;color:rgb(200,27,19)" class="">"pogo stick"</span><span style="font-variant-ligatures:no-common-ligatures" class="">)</span></div></div><div style="margin:0px;line-height:normal" class=""><font face="Arial" size="4" class=""><br class=""></font></div><div style="margin:0px;line-height:normal" class=""><font face="Arial" size="4" class=""><i class="">Whereas the following is clear</i></font></div><div style="margin:0px;font-size:18px;line-height:normal;font-family:Menlo" class=""><span style="font-variant-ligatures:no-common-ligatures;color:rgb(196,34,117)" class="">if</span><span style="font-variant-ligatures:no-common-ligatures" class="">&nbsp;</span><span style="font-variant-ligatures:no-common-ligatures;color:rgb(196,34,117)" class="">case</span><span style="font-variant-ligatures:no-common-ligatures" class="">&nbsp;.</span><span style="font-variant-ligatures:no-common-ligatures;color:rgb(49,89,93)" class="">other</span><span style="font-variant-ligatures:no-common-ligatures" class="">(</span><span style="font-variant-ligatures:no-common-ligatures;color:rgb(196,34,117)" class="">_</span><span style="font-variant-ligatures:no-common-ligatures" class="">) =&nbsp;</span><span style="font-variant-ligatures:no-common-ligatures;color:rgb(83,154,164)" class="">myJourney</span></div><div style="margin:0px;font-size:18px;line-height:normal;font-family:Menlo" class=""><br class=""></div><div style="margin:0px;line-height:normal" class=""><font face="Arial" size="4" class=""><i class="">the following shorthand equivalent is&nbsp;potentially confusing for the sake of 3 characters</i></font></div><div style="margin:0px;font-size:18px;line-height:normal;font-family:Menlo" class=""><span style="font-variant-ligatures:no-common-ligatures;color:rgb(196,34,117)" class="">if</span><span style="font-variant-ligatures:no-common-ligatures" class="">&nbsp;</span><span style="font-variant-ligatures:no-common-ligatures;color:rgb(196,34,117)" class="">case</span><span style="font-variant-ligatures:no-common-ligatures" class="">&nbsp;.</span><span style="font-variant-ligatures:no-common-ligatures;color:rgb(49,89,93)" class="">other</span><span style="font-variant-ligatures:no-common-ligatures" class="">&nbsp;=&nbsp;</span><span style="font-variant-ligatures:no-common-ligatures;color:rgb(83,154,164)" class="">myJourney</span></div><div style="margin:0px;font-size:18px;line-height:normal;font-family:Menlo" class=""><br class=""></div><div style="margin:0px;line-height:normal" class=""><font face="Arial" class=""><font size="4" class="">- In the first case, the&nbsp;presence of the underscore does communicate that something is being assigned, but dropped.</font></font></div><div style="margin:0px;font-size:18px;line-height:normal" class=""><font face="Arial" class="">- In the second case, the reader could easily be mislead into thinking that = was supposed to be == as there no apparent place to assign anything.</font></div><div style="margin:0px;font-size:18px;line-height:normal" class=""><font face="Arial" class=""><br class=""></font></div><div style="margin:0px;line-height:normal" class=""><font face="Arial" class=""><font size="4" class="">My suggestion would simply be to drop the shorthand as it’s ambiguous?</font></font></div><div style="margin:0px;line-height:normal" class=""><font face="Arial" class=""><font size="4" class=""><br class=""></font></font></div><div style="margin:0px;line-height:normal" class=""><font face="Arial" class=""><font size="4" class=""><br class=""></font></font></div><div style="margin:0px;line-height:normal" class=""><font face="Arial" class=""><font size="4" class="">Nick Outram</font></font></div><div style="margin:0px;font-size:18px;line-height:normal;font-family:Menlo" class=""><br class=""></div><div style="margin:0px;font-size:18px;line-height:normal;font-family:Menlo" class=""><br class=""></div><div style="margin:0px;font-size:18px;line-height:normal;font-family:Menlo" class=""><span style="font-variant-ligatures:no-common-ligatures;color:#c42275" class=""></span></div></div></div></div><br class=""><div style="word-wrap:break-word" class=""><div style="word-wrap:break-word" class=""><div style="word-wrap:break-word" class=""><div style="margin:0px;font-size:18px;line-height:normal;font-family:Menlo" class=""><span style="font-variant-ligatures:no-common-ligatures;color:#c42275" class=""></span></div><div style="margin:0px;font-size:18px;line-height:normal;font-family:Menlo" class=""><span style="font-variant-ligatures:no-common-ligatures;color:#c42275" class=""><br class=""></span></div><div style="margin:0px;font-size:18px;line-height:normal;font-family:Menlo" class=""><span style="font-variant-ligatures:no-common-ligatures;color:#c42275" class="">import</span><span style="font-variant-ligatures:no-common-ligatures" class=""> Foundation</span></div><div style="margin:0px;font-size:18px;line-height:normal;font-family:Menlo;min-height:21px" class=""><span style="font-variant-ligatures:no-common-ligatures" class=""></span><br class=""></div><div style="margin:0px;font-size:18px;line-height:normal;font-family:Menlo;color:rgb(33,150,28)" class=""><span style="font-variant-ligatures:no-common-ligatures" class="">//: Consider the following enumerated type with associated data</span></div><div style="margin:0px;font-size:18px;line-height:normal;font-family:Menlo" class=""><span style="font-variant-ligatures:no-common-ligatures;color:#c42275" class="">enum</span><span style="font-variant-ligatures:no-common-ligatures" class=""> Vehicle {</span></div><div style="margin:0px;font-size:18px;line-height:normal;font-family:Menlo" class=""><span style="font-variant-ligatures:no-common-ligatures" class="">&nbsp;&nbsp; </span><span style="font-variant-ligatures:no-common-ligatures;color:#c42275" class="">case</span><span style="font-variant-ligatures:no-common-ligatures" class=""> car(petrol: </span><span style="font-variant-ligatures:no-common-ligatures;color:#703daa" class="">Bool</span><span style="font-variant-ligatures:no-common-ligatures" class="">, sizeCC: </span><span style="font-variant-ligatures:no-common-ligatures;color:#703daa" class="">Int</span><span style="font-variant-ligatures:no-common-ligatures" class="">)</span></div><div style="margin:0px;font-size:18px;line-height:normal;font-family:Menlo" class=""><span style="font-variant-ligatures:no-common-ligatures" class="">&nbsp;&nbsp; </span><span style="font-variant-ligatures:no-common-ligatures;color:#c42275" class="">case</span><span style="font-variant-ligatures:no-common-ligatures" class=""> plane(engines : </span><span style="font-variant-ligatures:no-common-ligatures;color:#703daa" class="">Int</span><span style="font-variant-ligatures:no-common-ligatures" class="">)</span></div><div style="margin:0px;font-size:18px;line-height:normal;font-family:Menlo" class=""><span style="font-variant-ligatures:no-common-ligatures" class="">&nbsp;&nbsp; </span><span style="font-variant-ligatures:no-common-ligatures;color:#c42275" class="">case</span><span style="font-variant-ligatures:no-common-ligatures" class=""> other(</span><span style="font-variant-ligatures:no-common-ligatures;color:#703daa" class="">String</span><span style="font-variant-ligatures:no-common-ligatures" class="">)</span></div><div style="margin:0px;font-size:18px;line-height:normal;font-family:Menlo" class=""><span style="font-variant-ligatures:no-common-ligatures" class="">&nbsp;&nbsp; </span><span style="font-variant-ligatures:no-common-ligatures;color:#c42275" class="">case</span><span style="font-variant-ligatures:no-common-ligatures" class=""> none</span></div><div style="margin:0px;font-size:18px;line-height:normal;font-family:Menlo" class=""><span style="font-variant-ligatures:no-common-ligatures" class="">}</span></div><div style="margin:0px;font-size:18px;line-height:normal;font-family:Menlo;min-height:21px" class=""><span style="font-variant-ligatures:no-common-ligatures" class=""></span><br class=""></div><div style="margin:0px;font-size:18px;line-height:normal;font-family:Menlo;color:rgb(33,150,28)" class=""><span style="font-variant-ligatures:no-common-ligatures" class="">//: Let's pick an example</span></div><div style="margin:0px;font-size:18px;line-height:normal;font-family:Menlo" class=""><span style="font-variant-ligatures:no-common-ligatures;color:#c42275" class="">let</span><span style="font-variant-ligatures:no-common-ligatures" class=""> myJourney : </span><span style="font-variant-ligatures:no-common-ligatures;color:#539aa4" class="">Vehicle</span><span style="font-variant-ligatures:no-common-ligatures" class=""> = .</span><span style="font-variant-ligatures:no-common-ligatures;color:#31595d" class="">other</span><span style="font-variant-ligatures:no-common-ligatures" class="">(</span><span style="font-variant-ligatures:no-common-ligatures;color:#c81b13" class="">"pogo stick"</span><span style="font-variant-ligatures:no-common-ligatures" class="">)</span></div><div style="margin:0px;font-size:18px;line-height:normal;font-family:Menlo;min-height:21px" class=""><span style="font-variant-ligatures:no-common-ligatures" class=""></span><br class=""></div><div style="margin:0px;font-size:18px;line-height:normal;font-family:Menlo;color:rgb(33,150,28)" class=""><span style="font-variant-ligatures:no-common-ligatures" class="">//: I now want to test what case `myJourney` is.</span></div><div style="margin:0px;font-size:18px;line-height:normal;font-family:Menlo;color:rgb(33,150,28)" class=""><span style="font-variant-ligatures:no-common-ligatures" class="">//:</span></div><div style="margin:0px;font-size:18px;line-height:normal;font-family:Menlo;color:rgb(33,150,28)" class=""><span style="font-variant-ligatures:no-common-ligatures" class="">//: We cannot use the `==` operator because `Vehicle` has associated data. Instead we use `if case` and *simply drop the associated value* with `_` as shown above</span></div><div style="margin:0px;font-size:18px;line-height:normal;font-family:Menlo" class=""><span style="font-variant-ligatures:no-common-ligatures;color:#c42275" class="">if</span><span style="font-variant-ligatures:no-common-ligatures" class=""> </span><span style="font-variant-ligatures:no-common-ligatures;color:#c42275" class="">case</span><span style="font-variant-ligatures:no-common-ligatures" class=""> .</span><span style="font-variant-ligatures:no-common-ligatures;color:#31595d" class="">other</span><span style="font-variant-ligatures:no-common-ligatures" class="">(</span><span style="font-variant-ligatures:no-common-ligatures;color:#c42275" class="">_</span><span style="font-variant-ligatures:no-common-ligatures" class="">) = </span><span style="font-variant-ligatures:no-common-ligatures;color:#539aa4" class="">myJourney</span><span style="font-variant-ligatures:no-common-ligatures" class=""> {</span></div><div style="margin:0px;font-size:18px;line-height:normal;font-family:Menlo;color:rgb(200,27,19)" class=""><span style="font-variant-ligatures: no-common-ligatures;" class="">&nbsp;&nbsp; </span><span style="font-variant-ligatures:no-common-ligatures;color:#3e1e81" class="">print</span><span style="font-variant-ligatures: no-common-ligatures;" class="">(</span><span style="font-variant-ligatures:no-common-ligatures" class="">"Somewhere nice?"</span><span style="font-variant-ligatures: no-common-ligatures;" class="">)</span></div><div style="margin:0px;font-size:18px;line-height:normal;font-family:Menlo" class=""><span style="font-variant-ligatures:no-common-ligatures" class="">} </span><span style="font-variant-ligatures:no-common-ligatures;color:#c42275" class="">else</span><span style="font-variant-ligatures:no-common-ligatures" class=""> {</span></div><div style="margin:0px;font-size:18px;line-height:normal;font-family:Menlo;color:rgb(200,27,19)" class=""><span style="font-variant-ligatures: no-common-ligatures;" class="">&nbsp;&nbsp; </span><span style="font-variant-ligatures:no-common-ligatures;color:#3e1e81" class="">print</span><span style="font-variant-ligatures: no-common-ligatures;" class="">(</span><span style="font-variant-ligatures:no-common-ligatures" class="">"Ok, it's a secret?"</span><span style="font-variant-ligatures: no-common-ligatures;" class="">)</span></div><div style="margin:0px;font-size:18px;line-height:normal;font-family:Menlo" class=""><span style="font-variant-ligatures:no-common-ligatures" class="">}</span></div><div style="margin:0px;font-size:18px;line-height:normal;font-family:Menlo;color:rgb(33,150,28)" class=""><span style="font-variant-ligatures:no-common-ligatures" class="">//:The above is clear enough once you get used to the syntax. The `_` communicates that a value has been dropped.</span></div><div style="margin:0px;font-size:18px;line-height:normal;font-family:Menlo;color:rgb(33,150,28)" class=""><span style="font-variant-ligatures:no-common-ligatures" class="">//:</span></div><div style="margin:0px;font-size:18px;line-height:normal;font-family:Menlo;color:rgb(33,150,28)" class=""><span style="font-variant-ligatures:no-common-ligatures" class="">//: **However**, Swift 3 allows us to drop the parenthesis altogether and use the following shorthand:</span></div><div style="margin:0px;font-size:18px;line-height:normal;font-family:Menlo;color:rgb(83,154,164)" class=""><span style="font-variant-ligatures:no-common-ligatures;color:#c42275" class="">if</span><span style="font-variant-ligatures: no-common-ligatures;" class=""> </span><span style="font-variant-ligatures:no-common-ligatures;color:#c42275" class="">case</span><span style="font-variant-ligatures: no-common-ligatures;" class=""> .</span><span style="font-variant-ligatures:no-common-ligatures;color:#31595d" class="">other</span><span style="font-variant-ligatures: no-common-ligatures;" class=""> = </span><span style="font-variant-ligatures:no-common-ligatures" class="">myJourney</span><span style="font-variant-ligatures: no-common-ligatures;" class=""> {</span></div><div style="margin:0px;font-size:18px;line-height:normal;font-family:Menlo;color:rgb(200,27,19)" class=""><span style="font-variant-ligatures: no-common-ligatures;" class="">&nbsp;&nbsp; </span><span style="font-variant-ligatures:no-common-ligatures;color:#3e1e81" class="">print</span><span style="font-variant-ligatures: no-common-ligatures;" class="">(</span><span style="font-variant-ligatures:no-common-ligatures" class="">"Somewhere nice?"</span><span style="font-variant-ligatures: no-common-ligatures;" class="">)</span></div><div style="margin:0px;font-size:18px;line-height:normal;font-family:Menlo" class=""><span style="font-variant-ligatures:no-common-ligatures" class="">} </span><span style="font-variant-ligatures:no-common-ligatures;color:#c42275" class="">else</span><span style="font-variant-ligatures:no-common-ligatures" class=""> {</span></div><div style="margin:0px;font-size:18px;line-height:normal;font-family:Menlo;color:rgb(200,27,19)" class=""><span style="font-variant-ligatures: no-common-ligatures;" class="">&nbsp;&nbsp; </span><span style="font-variant-ligatures:no-common-ligatures;color:#3e1e81" class="">print</span><span style="font-variant-ligatures: no-common-ligatures;" class="">(</span><span style="font-variant-ligatures:no-common-ligatures" class="">"Ok, it's a secret?"</span><span style="font-variant-ligatures: no-common-ligatures;" class="">)</span></div><div style="margin:0px;font-size:18px;line-height:normal;font-family:Menlo" class=""><span style="font-variant-ligatures:no-common-ligatures" class="">}</span></div><div style="margin:0px;font-size:18px;line-height:normal;font-family:Menlo;color:rgb(33,150,28)" class=""><span style="font-variant-ligatures:no-common-ligatures" class="">//: *Unlike the previous example, I do wonder if this is a language feature that needs review?*</span></div><div style="margin:0px;font-size:18px;line-height:normal;font-family:Menlo;color:rgb(33,150,28)" class=""><span style="font-variant-ligatures:no-common-ligatures" class="">//:</span></div><div style="margin:0px;font-size:18px;line-height:normal;font-family:Menlo;color:rgb(33,150,28)" class=""><span style="font-variant-ligatures:no-common-ligatures" class="">//: - On face value, reading this code as is there is an assignment operator `=` with nothing apparently being assigned.</span></div><div style="margin:0px;font-size:18px;line-height:normal;font-family:Menlo;color:rgb(33,150,28)" class=""><span style="font-variant-ligatures:no-common-ligatures" class="">//: - It also reads as if `=` should be `==`</span></div><div style="margin:0px;font-size:18px;line-height:normal;font-family:Menlo;color:rgb(33,150,28)" class=""><span style="font-variant-ligatures:no-common-ligatures" class=""><br class=""></span></div><div style="margin:0px;font-size:18px;line-height:normal;font-family:Menlo;color:rgb(33,150,28)" class=""><span style="font-variant-ligatures:no-common-ligatures" class=""><br class=""></span></div><br class=""><br class="">
<br class=""></div></div></div><br class="">______________________________<wbr class="">_________________<br class="">
swift-users mailing list<br class="">
<a href="mailto:swift-users@swift.org" class="">swift-users@swift.org</a><br class="">
<a href="https://lists.swift.org/mailman/listinfo/swift-users" rel="noreferrer" target="_blank" class="">https://lists.swift.org/<wbr class="">mailman/listinfo/swift-users</a><br class="">
<br class=""></blockquote></div><br class=""></div>
</div></blockquote><blockquote type="cite" class=""><div class=""><span class="">_______________________________________________</span><br class=""><span class="">swift-users mailing list</span><br class=""><span class=""><a href="mailto:swift-users@swift.org" class="">swift-users@swift.org</a></span><br class=""><span class=""><a href="https://lists.swift.org/mailman/listinfo/swift-users" class="">https://lists.swift.org/mailman/listinfo/swift-users</a></span><br class=""></div></blockquote></div></div></blockquote></div><br class=""></div></div></body></html>