<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="">On Feb 7, 2017, at 4:58 PM, Chengyin Liu &lt;<a href="mailto:chengyin.liu@gmail.com" class="">chengyin.liu@gmail.com</a>&gt; wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class="">Thanks for the feedback!&nbsp;<div class=""><br class=""></div><div class="">&gt;&nbsp;This is probably source-compatibility that you want, not necessarily ABI compatibility.</div><div class=""><br class=""></div><div class="">You are right. Thank you for the correction.<br class=""><div class=""><br class=""></div><div class=""><div class="gmail_msg">&gt; BTW, are you mixed-source? If so, were you able to try out PCH for bridging headers as identified here:&nbsp;<a href="https://swift.org/blog/bridging-pch/?" class="gmail_msg" target="_blank">https://swift.org/blog/bridging-pch/?</a></div><div class=""><br class=""></div></div><div class="">We are. We are excited with PCH but currently compiler fails with segfault using Xcode 8.3b2 for us. We are still investigating to provide the best info there.</div></div><div class=""><br class=""></div></div></div></blockquote><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><div class="">&gt; If you can produce a test case that repros the blowup, can you put that in a JIRA?</div><div class=""><br class=""></div><div class="">Filed:&nbsp;<a href="http://bugs.swift.org/browse/SR-3892" class="">http://bugs.swift.org/browse/SR-3892</a>. Notably this function builds even slower with 3.1. (2.3: 0.6s → 3.0: 12s → 3.1: 22s)</div><div class=""><br class=""></div></div></div></blockquote><div><br class=""></div><div>Thanks. It seems like it’s the closure argument to map specifically that needs an annotation (see comment in SR).</div><br class=""><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><div class="">&gt; “Near misses” on Optional Protocol Method Implementations<div class=""><br class=""></div></div><div class="">I don't think those are actual bugs. From a compiler standpoint, the code is fine. We did hit another issue with protocol near miss that may count as a compiler issue. I will try to create a reproducible case.</div></div><br class=""></div></blockquote><div><br class=""></div><div>They’re not bugs, but near-miss detection is a major quality-of-life improvement that the compiler should be better at. It falls under the general category of having better and more helpful diagnostics.</div><br class=""><blockquote type="cite" class=""><div class=""><div class="gmail_quote"><div dir="ltr" class="">On Tue, Feb 7, 2017 at 2:44 PM Michael Ilseman &lt;<a href="mailto:milseman@apple.com" class="">milseman@apple.com</a>&gt; wrote:<br class=""></div><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="gmail_msg"><div class="gmail_msg">Comments:</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">&gt; Since the Swift ABI changed between versions 2 and 3, even correct Swift 3 code that imports Swift 2 libraries will not compile. This incompatibility made it&nbsp;difficult to parallelize code conversion.</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">This is probably source-compatibility that you want, not necessarily ABI compatibility. Even if the ABI was stable, you still want to use the decls from the other module, and thus you’d still be in a rough spot. But, with source compatibility in Swift 4, the other modules could remain written in an older syntax/semantics while being compiled with the new compiler (and thus the new ABI). This would mean a gentle module-by-module incremental conversion regardless of the ABI for a Swift 3 to Swift 4 conversion.</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">&gt; Debug Build Time</div><br class="gmail_msg"><div class="gmail_msg">BTW, are you mixed-source? If so, were you able to try out PCH for bridging headers as identified here:&nbsp;<a href="https://swift.org/blog/bridging-pch/?" class="gmail_msg" target="_blank">https://swift.org/blog/bridging-pch/?</a></div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">&gt;&nbsp;However, we did find a function...</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">If you can produce a test case that repros the blowup, can you put that in a JIRA?</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">&gt; So, to complete the Swift 3 migration we strongly encouraged the entire team (minus the ones doing the migration) to really, truly take a Saturday off work&nbsp;😄.</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">Sounds like some good came of it after all!</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">&gt; “Near misses” on Optional Protocol Method Implementations</div><br class="gmail_msg"><div class="gmail_msg">These are great JIRA fodder too!</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg"><br class="gmail_msg"></div><br class="gmail_msg"><div class="gmail_msg"><blockquote type="cite" class="gmail_msg"></blockquote></div></div><div style="word-wrap:break-word" class="gmail_msg"><div class="gmail_msg"><blockquote type="cite" class="gmail_msg"><div class="gmail_msg">On Feb 7, 2017, at 1:35 PM, Chengyin Liu via swift-users &lt;<a href="mailto:swift-users@swift.org" class="gmail_msg" target="_blank">swift-users@swift.org</a>&gt; wrote:</div><br class="gmail_msg m_-5940457101847589762Apple-interchange-newline"></blockquote></div></div><div style="word-wrap:break-word" class="gmail_msg"><div class="gmail_msg"><blockquote type="cite" class="gmail_msg"><div class="gmail_msg"><div dir="ltr" class="gmail_msg">Hi all,<div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">At Airbnb we recently migrated to Swift 3, just in time for Xcode 8.3. We waited as long as possible because our codebase is massive. We have hundreds thousands lines of Swift.</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">In the end we were able to migrate without a code freeze. 3 engineers worked on it for 3 weeks without disrupting the normal development.</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">We shared our experience in this blog post:&nbsp;<a href="https://medium.com/airbnb-engineering/getting-to-swift-3-at-airbnb-79a257d2b656" class="gmail_msg" target="_blank">https://medium.com/airbnb-engineering/getting-to-swift-3-at-airbnb-79a257d2b656#.j800yp6l8</a></div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">Feel free to reach out if you have any questions!</div></div><div dir="ltr" class="gmail_msg">-- <br class="gmail_msg"></div><div data-smartmail="gmail_signature" class="gmail_msg"><div dir="ltr" class="gmail_msg">Chengyin</div></div></div></blockquote></div></div><div style="word-wrap:break-word" class="gmail_msg"><div class="gmail_msg"><blockquote type="cite" class="gmail_msg"><div class="gmail_msg">
_______________________________________________<br class="gmail_msg">swift-users mailing list<br class="gmail_msg"><a href="mailto:swift-users@swift.org" class="gmail_msg" target="_blank">swift-users@swift.org</a><br class="gmail_msg"><a href="https://lists.swift.org/mailman/listinfo/swift-users" class="gmail_msg" target="_blank">https://lists.swift.org/mailman/listinfo/swift-users</a><br class="gmail_msg"></div></blockquote></div><br class="gmail_msg"></div></blockquote></div><div dir="ltr" class="">-- <br class=""></div><div data-smartmail="gmail_signature" class=""><div dir="ltr" class="">Chengyin</div></div>
</div></blockquote></div><br class=""></body></html>