<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div>Ruby calls that method detect. As in detect and return the item that matches this condition<br><br>Sent from my iPhone</div><div><br>On 30 Dec 2015, at 15:33, Donnacha Oisín Kidney <<a href="mailto:oisin.kidney@gmail.com">oisin.kidney@gmail.com</a>> wrote:<br><br></div><blockquote type="cite"><div><meta http-equiv="Content-Type" content="text/html charset=utf-8">+1 on this.<div class=""><br class=""></div><div class="">I see a lot of code like this:</div><div class=""><br class=""></div><div class=""><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(79, 129, 135);" class="">sequence<span style="font-variant-ligatures: no-common-ligatures; color: #000000" class="">.</span><span style="font-variant-ligatures: no-common-ligatures; color: #3d1d81" class="">filter</span><span style="font-variant-ligatures: no-common-ligatures; color: #000000" class="">(</span>predicate<span style="font-variant-ligatures: no-common-ligatures; color: #000000" class="">).</span><span style="font-variant-ligatures: no-common-ligatures; color: #703daa" class="">first</span></div></div><div class=""><br class=""></div><div class="">Which is of course is inefficient. However, the go-to optimisation:</div><div class=""><br class=""></div><div class=""><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(49, 89, 93);" class=""><span style="font-variant-ligatures: no-common-ligatures; color: #4f8187" class="">sequence</span><span style="font-variant-ligatures: no-common-ligatures; color: #000000" class="">.</span><span style="font-variant-ligatures: no-common-ligatures; color: #703daa" class="">lazy</span><span style="font-variant-ligatures: no-common-ligatures; color: #000000" class="">.</span><span style="font-variant-ligatures: no-common-ligatures; color: #3d1d81" class="">filter</span><span style="font-variant-ligatures: no-common-ligatures; color: #000000" class="">(</span>predicate<span style="font-variant-ligatures: no-common-ligatures; color: #000000" class="">).</span><span style="font-variant-ligatures: no-common-ligatures; color: #703daa" class="">first</span></div></div><div class=""><br class=""></div><div class="">Is not necessarily better, and has some strange behaviour:</div><div class=""><br class=""></div><div class=""><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures; color: #bb2ca2" class="">let</span> array = [<span style="font-variant-ligatures: no-common-ligatures; color: #312cdd" class="">1</span>, <span style="font-variant-ligatures: no-common-ligatures; color: #312cdd" class="">2</span>, <span style="font-variant-ligatures: no-common-ligatures; color: #312cdd" class="">3</span>, <span style="font-variant-ligatures: no-common-ligatures; color: #312cdd" class="">4</span>, <span style="font-variant-ligatures: no-common-ligatures; color: #312cdd" class="">5</span>, <span style="font-variant-ligatures: no-common-ligatures; color: #312cdd" class="">6</span>]</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures; color: #bb2ca2" class="">func</span> noisyPredicate(n: <span style="font-variant-ligatures: no-common-ligatures; color: #703daa" class="">Int</span>) -> <span style="font-variant-ligatures: no-common-ligatures; color: #703daa" class="">Bool</span> {</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="font-variant-ligatures: no-common-ligatures; color: #3d1d81" class="">print</span>(n, terminator: <span style="font-variant-ligatures: no-common-ligatures; color: #c93108" class="">" "</span>)</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span style="font-variant-ligatures: no-common-ligatures; color: #bb2ca2" class="">return</span> n > <span style="font-variant-ligatures: no-common-ligatures; color: #312cdd" class="">2</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class="">}</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""><br class=""></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(49, 89, 93);" class=""><span style="font-variant-ligatures: no-common-ligatures; color: #4f8187" class="">array</span><span style="font-variant-ligatures: no-common-ligatures; color: #000000" class="">.</span><span style="font-variant-ligatures: no-common-ligatures; color: #703daa" class="">lazy</span><span style="font-variant-ligatures: no-common-ligatures; color: #000000" class="">.</span><span style="font-variant-ligatures: no-common-ligatures; color: #3d1d81" class="">filter</span><span style="font-variant-ligatures: no-common-ligatures; color: #000000" class="">(</span>noisyPredicate<span style="font-variant-ligatures: no-common-ligatures; color: #000000" class="">).</span><span style="font-variant-ligatures: no-common-ligatures; color: #703daa" class="">first</span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(79, 143, 0);" class="">// 1 2 3 1 2 3</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; min-height: 13px;" class=""><br class=""></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(112, 61, 170);" class="">AnySequence<span style="font-variant-ligatures: no-common-ligatures; color: #000000" class="">(</span><span style="font-variant-ligatures: no-common-ligatures; color: #4f8187" class="">array</span><span style="font-variant-ligatures: no-common-ligatures; color: #000000" class="">).</span>lazy<span style="font-variant-ligatures: no-common-ligatures; color: #000000" class="">.</span><span style="font-variant-ligatures: no-common-ligatures; color: #3d1d81" class="">filter</span><span style="font-variant-ligatures: no-common-ligatures; color: #000000" class="">(</span><span style="font-variant-ligatures: no-common-ligatures; color: #31595d" class="">noisyPredicate</span><span style="font-variant-ligatures: no-common-ligatures; color: #000000" class="">).</span>first</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(79, 143, 0);" class="">// 1 2 3 4 5 6</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(79, 143, 0);" class=""><br class=""></div><div style="margin: 0px; line-height: normal;" class="">If it’s called on a collection, the collection is only evaluated up until the element being looked for, but it’s done twice. If it’s called on a sequence, the <i class="">whole</i> sequence is evaluated, regardless of where the element is found.</div><div style="margin: 0px; line-height: normal;" class=""><br class=""></div><div style="margin: 0px; line-height: normal;" class="">I think that <span style="color: rgb(49, 89, 93); font-family: Menlo; font-size: 11px;" class="">find</span> is maybe not the best name, though. It’s not immediately clear that it doesn’t return an index. I’d prefer to call it <span style="color: rgb(112, 61, 170); font-family: Menlo; font-size: 11px;" class="">first</span>, as in:</div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(79, 143, 0);" class=""><br class=""></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><div style="margin: 0px; line-height: normal;" class=""><div style="color: rgb(112, 61, 170); margin: 0px; line-height: normal;" class=""><span style="font-variant-ligatures: no-common-ligatures; color: #bb2ca2" class="">extension</span><span style="font-variant-ligatures: no-common-ligatures; color: #000000" class=""> </span>SequenceType<span style="font-variant-ligatures: no-common-ligatures; color: #000000" class=""> {</span></div><div style="color: rgb(0, 132, 0); margin: 0px; line-height: normal;" class=""><span style="font-variant-ligatures: no-common-ligatures; color: #000000" class=""> </span>/// Returns the first element where `predicate` returns `true`, or `nil`</div><div style="color: rgb(0, 132, 0); margin: 0px; line-height: normal;" class=""><span style="font-variant-ligatures: no-common-ligatures; color: #000000" class=""> </span>/// if such value is not found.</div><div style="color: rgb(112, 61, 170); margin: 0px; line-height: normal;" class=""> <span style="font-variant-ligatures: no-common-ligatures; color: #bb2ca2" class="">public</span> <span style="font-variant-ligatures: no-common-ligatures; color: #bb2ca2" class="">func</span> first(<span style="font-variant-ligatures: no-common-ligatures; color: #bb2ca2" class="">@noescape</span> thatSatisfies: (<span style="font-variant-ligatures: no-common-ligatures; color: #bb2ca2" class="">Self</span>.Generator.Element) <span style="font-variant-ligatures: no-common-ligatures; color: #bb2ca2" class="">throws</span> -> Bool) <span style="font-variant-ligatures: no-common-ligatures; color: #bb2ca2" class="">rethrows</span> -> Self.Generator.Element? {</div><div style="color: rgb(112, 61, 170); margin: 0px; line-height: normal;" class=""> <span style="font-variant-ligatures: no-common-ligatures; color: #bb2ca2" class="">for</span> elt <span style="font-variant-ligatures: no-common-ligatures; color: #bb2ca2" class="">in</span> <span style="font-variant-ligatures: no-common-ligatures; color: #bb2ca2" class="">self</span> {</div><div style="color: rgb(112, 61, 170); margin: 0px; line-height: normal;" class=""> <span style="font-variant-ligatures: no-common-ligatures; color: #bb2ca2" class="">if</span> <span style="font-variant-ligatures: no-common-ligatures; color: #bb2ca2" class="">try</span> thatSatisfies(elt) {</div><div style="color: rgb(112, 61, 170); margin: 0px; line-height: normal;" class=""> <span style="font-variant-ligatures: no-common-ligatures; color: #bb2ca2" class="">return</span> elt</div><div style="color: rgb(112, 61, 170); margin: 0px; line-height: normal;" class=""> }</div><div style="color: rgb(112, 61, 170); margin: 0px; line-height: normal;" class=""> }</div><div style="color: rgb(187, 44, 162); margin: 0px; line-height: normal;" class=""><span style="font-variant-ligatures: no-common-ligatures; color: #000000" class=""> </span>return<span style="font-variant-ligatures: no-common-ligatures; color: #000000" class=""> </span>nil</div><div style="color: rgb(112, 61, 170); margin: 0px; line-height: normal;" class=""> }</div><div style="color: rgb(112, 61, 170); margin: 0px; line-height: normal;" class="">}</div><div style="color: rgb(112, 61, 170); margin: 0px; line-height: normal; min-height: 13px;" class=""><br class=""></div><div style="margin: 0px; line-height: normal; min-height: 13px;" class=""><div style="margin: 0px; line-height: normal;" class=""><div style="margin: 0px; line-height: normal;" class=""><font color="#703daa" class="">[</font><span style="color: rgb(49, 44, 221);" class="">1</span><font color="#703daa" class="">, </font><span style="color: rgb(49, 44, 221);" class="">2</span><font color="#703daa" class="">, </font><span style="color: rgb(49, 44, 221);" class="">3</span><font color="#703daa" class="">, </font><span style="color: rgb(49, 44, 221);" class="">4</span><font color="#703daa" class="">, </font><span style="color: rgb(49, 44, 221);" class="">5</span><font color="#703daa" class="">].</font><span style="color: rgb(49, 89, 93);" class="">first</span><font color="#703daa" class="">(</font>thatSatisfies: (Int) throws -> Bool<font color="#703daa" class="">)</font></div></div></div><div style="color: rgb(112, 61, 170); margin: 0px; line-height: normal; min-height: 13px;" class=""><br class=""></div><div style="color: rgb(112, 61, 170); margin: 0px; line-height: normal;" class="">[<span style="font-variant-ligatures: no-common-ligatures; color: #312cdd" class="">1</span>, <span style="font-variant-ligatures: no-common-ligatures; color: #312cdd" class="">2</span>, <span style="font-variant-ligatures: no-common-ligatures; color: #312cdd" class="">3</span>, <span style="font-variant-ligatures: no-common-ligatures; color: #312cdd" class="">4</span>, <span style="font-variant-ligatures: no-common-ligatures; color: #312cdd" class="">5</span>].<span style="font-variant-ligatures: no-common-ligatures; color: #31595d" class="">first</span> { $0 > <span style="font-variant-ligatures: no-common-ligatures; color: #312cdd" class="">3</span> }</div></div></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(79, 143, 0);" class=""><br class=""></div><div><blockquote type="cite" class=""><div class="">On 30 Dec 2015, at 10:13, James Campbell via swift-evolution <<a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">We should add the full collection of ruby methods <a href="http://matthewcarriere.com/06/23/using-select-reject-collect-inject-and-detect/" class="">http://matthewcarriere.com/06/23/using-select-reject-collect-inject-and-detect/</a></div><div style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><br class=""></div><div style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><br class=""></div><div style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><br class="">Sent from my iPhone</div><div style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><br class="">On 30 Dec 2015, at 02:40, Keith Smiley via swift-evolution <<a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a>> wrote:<br class=""><br class=""></div><blockquote type="cite" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><div class="">+1. We've added an extension for this and find it very useful.<br class=""><div class="gmail_quote"><div dir="ltr" class="">On Tue, Dec 29, 2015 at 18:38 Kevin Ballard via swift-evolution <<a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a>> wrote:<br class=""></div><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;"><u class=""></u><div class=""><div class="">I'm proposing a new extension method on SequenceType called find(). It's similar to CollectionType.indexOf() except it returns the element:<br class=""></div><div class=""> </div><div class=""><div style="margin-top: 0px; margin-bottom: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(112, 61, 170);" class=""><span style="color: rgb(187, 44, 162);" class="">extension</span><span style="" class=""><span class="Apple-converted-space"> </span></span>SequenceType<span style="" class=""><span class="Apple-converted-space"> </span>{</span></div><div style="margin-top: 0px; margin-bottom: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(144, 45, 208);" class=""><span style="" class=""> <span class="Apple-converted-space"> </span></span>/// Returns the first element where `predicate` returns `true`, or `nil`</div><div style="margin-top: 0px; margin-bottom: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(144, 45, 208);" class=""><span style="" class=""> <span class="Apple-converted-space"> </span></span>/// if such value is not found.</div><div style="margin-top: 0px; margin-bottom: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span class="Apple-converted-space"> </span><span style="color: rgb(187, 44, 162);" class="">public</span><span class="Apple-converted-space"> </span><span style="color: rgb(187, 44, 162);" class="">func</span><span class="Apple-converted-space"> </span>find(<span style="color: rgb(187, 44, 162);" class="">@noescape</span><span class="Apple-converted-space"> </span>predicate: (<span style="color: rgb(187, 44, 162);" class="">Self</span>.Generator.Element)<span class="Apple-converted-space"> </span><span style="color: rgb(187, 44, 162);" class="">throws</span><span class="Apple-converted-space"> </span>-><span class="Apple-converted-space"> </span><span style="color: rgb(112, 61, 170);" class="">Bool</span>)<span class="Apple-converted-space"> </span><span style="color: rgb(187, 44, 162);" class="">rethrows</span><span class="Apple-converted-space"> </span>-><span class="Apple-converted-space"> </span><span style="color: rgb(112, 61, 170);" class="">Self</span>.<span style="color: rgb(112, 61, 170);" class="">Generator</span>.<span style="color: rgb(112, 61, 170);" class="">Element</span>? {</div><div style="margin-top: 0px; margin-bottom: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span class="Apple-converted-space"> </span><span style="color: rgb(187, 44, 162);" class="">for</span><span class="Apple-converted-space"> </span>elt<span class="Apple-converted-space"> </span><span style="color: rgb(187, 44, 162);" class="">in</span><span class="Apple-converted-space"> </span><span style="color: rgb(187, 44, 162);" class="">self</span><span class="Apple-converted-space"> </span>{</div><div style="margin-top: 0px; margin-bottom: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span class="Apple-converted-space"> </span><span style="color: rgb(187, 44, 162);" class="">if</span><span class="Apple-converted-space"> </span><span style="color: rgb(187, 44, 162);" class="">try</span><span class="Apple-converted-space"> </span>predicate(elt) {</div><div style="margin-top: 0px; margin-bottom: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span class="Apple-converted-space"> </span><span style="color: rgb(187, 44, 162);" class="">return</span><span class="Apple-converted-space"> </span>elt</div><div style="margin-top: 0px; margin-bottom: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><div style="margin-top: 0px; margin-bottom: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><div style="margin-top: 0px; margin-bottom: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <span class="Apple-converted-space"> </span><span style="color: rgb(187, 44, 162);" class="">return</span><span class="Apple-converted-space"> </span><span style="color: rgb(187, 44, 162);" class="">nil</span></div><div style="margin-top: 0px; margin-bottom: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> }</div><div style="margin-top: 0px; margin-bottom: 0px; font-size: 11px; line-height: normal; font-family: Menlo;" class="">}<br class=""></div><div class=""> </div><div class="">-Kevin Ballard</div></div><div class=""> </div><img src="https://u2002410.ct.sendgrid.net/wf/open?upn=SZEgwDQgUrfMl3FalbD3sS2ih79f5jEyc67OkyJWPWkMqUbHtNT8qufjew1uLw-2FuDSPw8vmswg2ipW8wlflywoamaIqIWsVAEN5JyP-2FXQTGu031MZbaGfRLa2HEahWNnwepKXJH7m-2BUcGbBbTkPasZS5N2HspREiIxRioQH0csc-2FOM4x-2FjKq7bd4juIe6Qos5IJ6Qk51ZIZYlecbJQUj-2F-2F8DWMkbznaIKnpadzFcrOo-3D" alt="" width="1" height="1" border="0" style="min-height: 1px !important; width: 1px !important; border-width: 0px !important; margin: 0px !important; padding: 0px !important;" class=""></div>_______________________________________________<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=""></blockquote></div><img src="https://u2002410.ct.sendgrid.net/wf/open?upn=xV0JY-2FdZMnUMvSFtZnLiBPRTDDOSQf3-2FpH33HYOlBxG5-2BfRag1YoPimeBEg1K-2Bo5cmHOZQUnouH-2Btp0oGsr851EIOW1QheNTiLhWsdCWZJDY6AAwHR1JsSEH-2Bn5kTSuBMeYkpMzbcSxLAhnANmQiR7AlmtjwKnnGCYgIlHvd4J3JBwgUiZmv5dhNZrEMaR45mQZakX1HIkWAYsjdO36MzOEBw79Pk3qSV5TSHNFkzlE-3D" alt="" width="1" height="1" border="0" style="height: 1px !important; width: 1px !important; border-width: 0px !important; margin: 0px !important; padding: 0px !important;" class=""></div></blockquote><blockquote type="cite" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><div class=""><span class="">_______________________________________________</span><br class=""><span class="">swift-evolution mailing list</span><br class=""><span class=""><a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a></span><br class=""><span class=""><a href="https://lists.swift.org/mailman/listinfo/swift-evolution" class="">https://lists.swift.org/mailman/listinfo/swift-evolution</a></span><br class=""></div></blockquote><img src="https://u2002410.ct.sendgrid.net/wf/open?upn=Lo8TP3b1oIn3yQXUt9zA1UCQfR-2BMBCuqnubTuDg47-2B3QPwfVqCzzA3bq228zWcVKazRlUeqlTIWLKXsnLbKis-2FAZNdWswidBFKj-2BgfnM9x9rD-2BcHlpudHsEg5mIzqz4GzK-2B0v7k5xht4Ac0h3soK0DRzWBkGSt7b1Pq9Ob9E9dCSKE5MHCqYjxER5rgsd1SLGnfBH6A5m-2FVPEhywIgZdko0fifJ-2B7IOzWjnq3u4MHfY-3D" alt="" width="1" height="1" border="0" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; height: 1px !important; width: 1px !important; border-width: 0px !important; margin: 0px !important; padding: 0px !important;" class=""><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class=""><span class="Apple-converted-space"> </span>_______________________________________________</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">swift-evolution mailing list</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><a href="mailto:swift-evolution@swift.org" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">swift-evolution@swift.org</a><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><a href="https://lists.swift.org/mailman/listinfo/swift-evolution" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">https://lists.swift.org/mailman/listinfo/swift-evolution</a></div></blockquote></div><br class=""></div></div></blockquote></body></html>