<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div><br><br>Sent from my iPhone</div><div><br>On Jan 3, 2017, at 10:08 PM, Rod Brown via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a>&gt; wrote:<br><br></div><blockquote type="cite"><div><meta http-equiv="content-type" content="text/html; charset=utf-8"><div>On 3 Jan 2017, at 11:33 pm, David Hart via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a>&gt; wrote:<br><br></div><blockquote type="cite"><div><meta http-equiv="Content-Type" content="text/html charset=us-ascii">Hello Mailing-list,<div class=""><br class=""></div><div class="">I remember we discussed enhanced existentials heavily during the Swift 3 timeframe but postponed it. I was wondering if we need to bring back for discussion during Phase 1 or Phase 2? For reference, here is the proposal which Austin Zhend wrote which represented the culmination of the discussions:</div><div class=""><br class=""></div><div class=""><a href="https://github.com/austinzheng/swift-evolution/blob/az-existentials/proposals/XXXX-enhanced-existentials.md#nested-typealias-existential" class="">https://github.com/austinzheng/swift-evolution/blob/az-existentials/proposals/XXXX-enhanced-existentials.md#nested-typealias-existential</a></div><div class=""><br class=""></div><div class="">Regards,</div><div class="">David.</div></div></blockquote><blockquote type="cite"><div><span>_______________________________________________</span><br><span>swift-evolution mailing list</span><br><span><a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a></span><br><span><a href="https://lists.swift.org/mailman/listinfo/swift-evolution">https://lists.swift.org/mailman/listinfo/swift-evolution</a></span><br></div></blockquote><br><div>I'm a big proponent of this - it's a limitation that is actually more capable in Obj-C than it is in Swift, and considering Swift's increased focus on Protocols, this seems rather baffling!</div></div></blockquote><div><br></div><div>Yes. My personal feeling on this is that the ability to create an existential type with both superclass and protocol constraints is something we should address in Swift 4, because Objective-C APIs that use the feature (e.g., have a type like UIController&lt;UIWhateveDelegate&gt;) get weakened when they come into Swift. Fixing it is a source-breaking change, and I want to get it out of the way in Swift 4.&nbsp;</div><div><br></div><br><blockquote type="cite"><div><div><br></div><div>Would love to see this come forward into discussion.</div></div></blockquote><div><br></div>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.&nbsp;<div><div><br></div><div>&nbsp; - Doug</div><div><br><blockquote type="cite"><div><span>_______________________________________________</span><br><br></div></blockquote></div></div></body></html>