<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Composing a base class and protocol requirements opens up the possibility of using the base class to constrain away a protocol's associated types, e.g.:<div class=""><br class=""></div><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class=""><div class="">protocol P { associatedtype T; func foo(_: T) }</div></blockquote><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class=""><div class="">class C&lt;T&gt;: P { func foo(_: T) {}</div></blockquote><div class=""><br class=""></div><div class="">It'd be worth calling out explicitly whether this proposal allows `C&lt;T&gt; &amp; P` to be used as an existential type, since although P has free associated types, the composition does not.</div><div class=""><br class=""></div><div class="">-Joe</div><div class=""><br class=""><blockquote type="cite" class="">On Feb 28, 2017, at 1:11 PM, Douglas Gregor via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a>&gt; wrote:<br class=""><br class="">Hello Swift community,<br class=""><br class="">The review of SE-0156 "Class and Subtype existentials" begins now and runs through March 7, 2017. The proposal is&nbsp;available here:<br class=""><br class=""><a href="https://github.com/apple/swift-evolution/blob/master/proposals/0156-subclass-existentials.md" class="">https://github.com/apple/swift-evolution/blob/master/proposals/0156-subclass-existentials.md</a><br class="">Reviews are an important part of the Swift evolution process. All reviews should be sent to the swift-evolution mailing list&nbsp;at<br class=""><br class="">https://lists.swift.org/mailman/listinfo/swift-evolution<br class="">or, if you would like to keep your feedback private, directly to the review manager. When replying, please try to keep the&nbsp;proposal link at the top of the message:<br class=""><br class="">Proposal link:<br class=""><br class="">https://github.com/apple/swift-evolution/blob/master/proposals/0156-subclass-existentials.md<br class="">Reply text<br class=""><br class="">Other replies<br class="">What goes into a review?<br class=""><br class="">The goal of the review process is to improve the proposal under review through constructive criticism and, eventually,&nbsp;determine the direction of Swift. When writing your review, here are some questions you might want to answer in your&nbsp;review:<br class=""><br class=""><div class=""><span class="Apple-tab-span" style="white-space:pre">        </span>• What is your evaluation of the proposal?<br class=""></div><div class=""><span class="Apple-tab-span" style="white-space:pre">        </span>• Is the problem being addressed significant enough to warrant a change to Swift?<br class=""></div><div class=""><span class="Apple-tab-span" style="white-space:pre">        </span>• Does this proposal fit well with the feel and direction of Swift?<br class=""></div><div class=""><span class="Apple-tab-span" style="white-space:pre">        </span>• If you have used other languages or libraries with a similar feature, how do you feel that this proposal compares to&nbsp;those?<br class=""></div><div class=""><span class="Apple-tab-span" style="white-space:pre">        </span>• How much effort did you put into your review? A glance, a quick reading, or an in-depth study?<br class=""></div>More information about the Swift evolution process is available at<br class=""><br class="">https://github.com/apple/swift-evolution/blob/master/process.md<br class="">Thank you,<br class=""><br class="">-Doug<br class=""><br class="">Review Manager<br class=""><br class="">_______________________________________________<br class="">swift-evolution mailing list<br class="">swift-evolution@swift.org<br class="">https://lists.swift.org/mailman/listinfo/swift-evolution<br class=""></blockquote><br class=""></div></body></html>