<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div><blockquote type="cite" class=""><div class="">On Jun 22, 2016, at 7:59 AM, Erica Sadun via swift-evolution <<a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a>> wrote:</div><div class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class=""><blockquote type="cite" class=""><div class="">On Jun 21, 2016, at 11:55 PM, Chris Lattner 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 class="">Hi Everyone,<br class=""><br class="">As I mentioned before, the Swift 3 release is winding down. There is still time left to make changes, but it is very short. As such, we - as a community - need to stay focused on the goals for this release, principally the goal to get to source stability. It is very important for users of Swift that Swift 3 and the Swift 4 compiler be as compatible as possible. </div></div></blockquote><br class=""></div><div class="">A few things on my radar.</div><div class=""><br class=""></div><div class="">Fully breaking that won't be possible post Swift 3:</div><div class=""><ul class=""><li class="">Rationalizing the<span style="font-family: Palatino-Roman;" class=""> first/last/prefix/suffix/drop/etc. methods. </span> Brent R-G said he'd run with this. Discussion: <a href="http://article.gmane.org/gmane.comp.lang.swift.evolution/16334/" class="">http://article.gmane.org/gmane.comp.lang.swift.evolution/16334/</a></li><li class="">Rationalizing base conversion protocol names. I personally don't have the heart to try to re-address the "LiteralConvertible" protocol naming thing again but this would be the last chance to do anything about getting this issue addressed.</li></ul><div class=""><div class="">Potentially code breaking:</div></div><ul class=""><li class="">Rationalizing for loops-in either by removing `where` (breaking) or completing the filter/break operations (additive but wordy). Discussion here (primarily during WWDC week): <a href="http://thread.gmane.org/gmane.comp.lang.swift.evolution/20142" class="">http://thread.gmane.org/gmane.comp.lang.swift.evolution/20142</a> My <a href="https://github.com/erica/swift-evolution/blob/5703c94450dcf4a3bc941333d3fadd90a7bd4ad8/proposals/XXXX-whereloops.md" class="">draft proposal</a> also addresses `where` in switch and catch statements, which could be breaking if changed to `if`.</li></ul></div></div></div></blockquote><div>I agree that these would be breaking.</div><blockquote type="cite" class=""><div class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class=""><ul class=""><li class="">Redesigning de-init to allow you to declare cleanup operations at points where the dangerous operations are first invoked. Introduced by Graham Perks but ran into WWDC disruption of discussion. Discussion here: <a href="http://thread.gmane.org/gmane.comp.lang.swift.evolution/20019" class="">http://thread.gmane.org/gmane.comp.lang.swift.evolution/20019</a> </li><li class="">Ending the strong-weak dance once and for all by allowing {self in} and [weak self] / guard let self = self, which would impact a lot of code more than be breaking in and of itself.</li></ul></div></div></div></blockquote><div>These two are additive. We would not remove explicit captures or deinits.</div><div><br class=""></div><div>John.</div></div></body></html>