<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 Jan 10, 2017, at 10:21 PM, David Hart <<a href="mailto:david@hartbit.com" class="">david@hartbit.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html charset=utf-8" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">What do you think I should do then? Start an official proposal for Superclass + Protocol because that’s all we can afford to have for Swift 4 or bug Austin to resubmit his full proposal?</div></div></blockquote><div><br class=""></div><div>I think it makes sense to split out the more-Swift-4-critical Superclass + Protocol bit, because it affects the import of Objective-C APIs in a manner that breaks source code. Reading the tea leaves, I can’t imagine having time to implement the full generalized-extensions proposal in Swift 4.</div><div><br class=""></div><span class="Apple-tab-span" style="white-space:pre">        </span>- Doug</div><div><br class=""><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=""><br class=""></div><div class="">David.<br class=""><div class=""><br class=""><div class=""><blockquote type="cite" class=""><div class="">On 11 Jan 2017, at 00:09, Douglas Gregor <<a href="mailto:dgregor@apple.com" class="">dgregor@apple.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html charset=utf-8" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div class=""><blockquote type="cite" class=""><div class="">On Jan 8, 2017, at 8:21 AM, David Hart <<a href="mailto:david@hartbit.com" class="">david@hartbit.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><blockquote type="cite" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: 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-size-adjust: auto; -webkit-text-stroke-width: 0px;" class=""><br class="Apple-interchange-newline">On 8 Jan 2017, at 06:17, Douglas Gregor via swift-evolution <<a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a>> wrote:<br class=""><br class=""><br class=""><br class="">Sent from my iPhone<br class=""><br class=""><blockquote type="cite" class="">On Jan 6, 2017, at 11:04 PM, Russ Bishop <<a href="mailto:xenadu@gmail.com" class="">xenadu@gmail.com</a>> wrote:<br class=""><br class=""><br class=""><blockquote type="cite" class="">On Jan 4, 2017, at 8:48 PM, Douglas Gregor via swift-evolution <<a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a>> wrote:<br class=""><br class=""><br class=""><blockquote type="cite" class=""><br class="">Would love to see this come forward into discussion.<br class=""></blockquote><br class="">Yeah. I'm less sure about the other enhancements to existentials fitting into Swift 4, e.g., the creation of existentials for protocols with associated types. Although important, it's a big feature that will take a bunch of design and implementation time, and I'm leery of accepting something that we might not actually be able to achieve.<span class="Apple-converted-space"> </span><br class=""><br class="">- Doug<br class=""></blockquote><br class="">By this are you referring to generalized existentials?<br class=""></blockquote><br class="">Yes. I actually prefer the term "generalized existentials".<br class=""><br class=""><blockquote type="cite" class="">If so I’ll say this is such a constant pain point and perverts so many API designs… not to mention vomiting AnyXYZ type-erased wrappers everywhere… In my completely non-authoritative personal opinion we shouldn’t ship Swift 4 without it :)<br class=""></blockquote><br class="">To be absolutely clear, I think this is an extremely important feature. It's also a significant undertaking in both design and implementation.<span class="Apple-converted-space"> </span><br class=""></blockquote><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: 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-caps: 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="">Hasn't most of the design work already been done by Austin and all those participating back then? What is missing? How much of the original proposal is possible to implement in the Swift 4 (on top of Superclass + Protocol)? Just want some hints on how to drive this so we can get as much of generalized existentials for Swift 4.</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: 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></blockquote></div><div class=""><br class=""></div>Yes, that’s fair: the proposal is in excellent shape, and I (personally) agree with most (maybe all) of the design decisions in it.<br class=""><div class=""><br class=""></div><div class=""><span class="Apple-tab-span" style="white-space:pre">        </span>- Doug</div><div class=""><br class=""></div></div></div></blockquote></div><br class=""></div></div></div></div></blockquote></div><br class=""></body></html>