<div dir="ltr">Hi Brian,<div>is the override proposal still in the making?</div><div><br></div><div>Kind Regards,</div><div>Björn</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Mar 23, 2017 at 4:24 PM, Brian King via swift-evolution <span dir="ltr"><<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hey Iman, This is a known bug SR-103. It certainly has caught a few people off guard. Dale Buckley is working on an evolution proposal that would allow the bug to be fixed:<div><br></div><div>Proposal:</div><div><div><a href="https://gist.github.com/dlbuckley/1858a7c0b5c027248fe16171d23ba01d" target="_blank">https://gist.github.com/<wbr>dlbuckley/<wbr>1858a7c0b5c027248fe16171d23ba0<wbr>1d</a><br></div></div><div><br></div><div>Conversation on the Proposal:</div><div><a href="https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20170313/033787.html" target="_blank">https://lists.swift.org/<wbr>pipermail/swift-evolution/<wbr>Week-of-Mon-20170313/033787.<wbr>html</a></div><div><br><div><div>The only work around at this time is to make sure that your base class implements all methods in the protocol.</div><div><br></div><div>Brian King<br></div></div></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote"><div><div class="h5">On Thu, Mar 23, 2017 at 11:15 AM, Iman Zarrabian via swift-evolution <span dir="ltr"><<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a>></span> wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5"><div style="word-wrap:break-word"><div style="box-sizing:border-box;margin:0px;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;background-color:rgb(255,255,255);line-height:normal;font-family:'Helvetica Neue';color:rgb(69,69,69)">Hi, </div><div style="box-sizing:border-box;margin:0px;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;background-color:rgb(255,255,255);line-height:normal;font-family:'Helvetica Neue';color:rgb(69,69,69)">This is my first contribution to this list so I’m a little nervous. </div><div style="box-sizing:border-box;margin:0px;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;background-color:rgb(255,255,255);line-height:normal;font-family:'Helvetica Neue';color:rgb(69,69,69)">I’ve been refactoring some code in one of our internal frameworks and noticed something I didn’t noticed about protocols before. </div><div style="box-sizing:border-box;margin:0px;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;background-color:rgb(255,255,255);line-height:normal;font-family:'Helvetica Neue';color:rgb(69,69,69)">Maybe I’m missing the big picture here but I’ll expose the issue to you anyway.</div><div style="box-sizing:border-box;margin:0px;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;background-color:rgb(255,255,255);line-height:normal;font-family:'Helvetica Neue';color:rgb(69,69,69)">Consider these protocols and classes declarations :</div><div style="box-sizing:border-box;margin:0px;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;background-color:rgb(255,255,255);line-height:normal;font-family:'Helvetica Neue';color:rgb(69,69,69);min-height:14px"><br style="box-sizing:border-box"></div><div style="box-sizing:border-box;margin:0px;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;background-color:rgb(255,255,255);line-height:normal;font-family:'Helvetica Neue'"><div style="color:rgb(186,45,162);margin:0px;font-size:11px;line-height:normal;font-family:Menlo"><span style="font-variant-ligatures:no-common-ligatures">protocol</span><span style="font-variant-ligatures:no-common-ligatures;color:#000000"> Foo {</span></div><div style="color:rgb(0,0,0);margin:0px;font-size:11px;line-height:normal;font-family:Menlo"><span style="font-variant-ligatures:no-common-ligatures"> </span><span style="font-variant-ligatures:no-common-ligatures;color:#ba2da2">func</span><span style="font-variant-ligatures:no-common-ligatures"> bar()</span></div><div style="color:rgb(0,0,0);margin:0px;font-size:11px;line-height:normal;font-family:Menlo"><span style="font-variant-ligatures:no-common-ligatures"> </span><span style="font-variant-ligatures:no-common-ligatures;color:#ba2da2">func</span><span style="font-variant-ligatures:no-common-ligatures"> specificBar()</span></div><div style="color:rgb(0,0,0);margin:0px;font-size:11px;line-height:normal;font-family:Menlo"><span style="font-variant-ligatures:no-common-ligatures"> </span><span style="font-variant-ligatures:no-common-ligatures;color:#ba2da2">func</span><span style="font-variant-ligatures:no-common-ligatures"> moreBar()</span></div><div style="color:rgb(0,0,0);margin:0px;font-size:11px;line-height:normal;font-family:Menlo"><span style="font-variant-ligatures:no-common-ligatures">}</span></div><div style="color:rgb(0,0,0);margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px"><span style="font-variant-ligatures:no-common-ligatures"></span><br></div><div style="color:rgb(186,45,162);margin:0px;font-size:11px;line-height:normal;font-family:Menlo"><span style="font-variant-ligatures:no-common-ligatures">extension</span><span style="font-variant-ligatures:no-common-ligatures;color:#000000"> </span><span style="font-variant-ligatures:no-common-ligatures;color:#4f8187">Foo</span><span style="font-variant-ligatures:no-common-ligatures;color:#000000"> {</span></div><div style="color:rgb(0,0,0);margin:0px;font-size:11px;line-height:normal;font-family:Menlo"><span style="font-variant-ligatures:no-common-ligatures"> </span><span style="font-variant-ligatures:no-common-ligatures;color:#ba2da2">func</span><span style="font-variant-ligatures:no-common-ligatures"> specificBar() {</span></div><div style="color:rgb(209,47,27);margin:0px;font-size:11px;line-height:normal;font-family:Menlo"><span style="font-variant-ligatures:no-common-ligatures;color:#000000"> </span><span style="font-variant-ligatures:no-common-ligatures;color:#3e1e81">print</span><span style="font-variant-ligatures:no-common-ligatures;color:#000000">(</span><span style="font-variant-ligatures:no-common-ligatures">"default specificBar implementation"</span><span style="font-variant-ligatures:no-common-ligatures;color:#000000">)</span></div><div style="color:rgb(0,0,0);margin:0px;font-size:11px;line-height:normal;font-family:Menlo"><span style="font-variant-ligatures:no-common-ligatures"> }</span></div><div style="color:rgb(0,0,0);margin:0px;font-size:11px;line-height:normal;font-family:Menlo"><span style="font-variant-ligatures:no-common-ligatures">}</span></div><div style="color:rgb(0,0,0);margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px"><span style="font-variant-ligatures:no-common-ligatures"></span><br></div><div style="color:rgb(186,45,162);margin:0px;font-size:11px;line-height:normal;font-family:Menlo"><span style="font-variant-ligatures:no-common-ligatures">extension</span><span style="font-variant-ligatures:no-common-ligatures;color:#000000"> </span><span style="font-variant-ligatures:no-common-ligatures;color:#703daa">UIView</span><span style="font-variant-ligatures:no-common-ligatures;color:#000000">: </span><span style="font-variant-ligatures:no-common-ligatures;color:#4f8187">Foo</span><span style="font-variant-ligatures:no-common-ligatures;color:#000000"> {</span></div><div style="color:rgb(0,0,0);margin:0px;font-size:11px;line-height:normal;font-family:Menlo"><span style="font-variant-ligatures:no-common-ligatures"> </span><span style="font-variant-ligatures:no-common-ligatures;color:#ba2da2">func</span><span style="font-variant-ligatures:no-common-ligatures"> bar() {</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo"><span style="color:rgb(0,0,0);font-variant-ligatures:no-common-ligatures"> </span><span style="color:rgb(62,30,129);font-variant-ligatures:no-common-ligatures">print</span><span style="font-variant-ligatures:no-common-ligatures">(</span><span style="color:rgb(209,47,27)">"</span><span style="color:rgb(209,47,27);font-variant-ligatures:no-common-ligatures">uiview default bar"</span><span style="font-variant-ligatures:no-common-ligatures">)</span></div><div style="color:rgb(49,89,93);margin:0px;font-size:11px;line-height:normal;font-family:Menlo"><span style="font-variant-ligatures:no-common-ligatures;color:#000000"> </span><span style="font-variant-ligatures:no-common-ligatures">specificBar</span><span style="font-variant-ligatures:no-common-ligatures;color:#000000">()</span></div><div style="color:rgb(0,0,0);margin:0px;font-size:11px;line-height:normal;font-family:Menlo"><span style="font-variant-ligatures:no-common-ligatures"> </span><span style="font-variant-ligatures:no-common-ligatures;color:#31595d">moreBar</span><span style="font-variant-ligatures:no-common-ligatures">()</span></div><div style="color:rgb(0,0,0);margin:0px;font-size:11px;line-height:normal;font-family:Menlo"><span style="font-variant-ligatures:no-common-ligatures"> }</span></div><p style="color:rgb(0,0,0);margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px"><span style="font-variant-ligatures:no-common-ligatures"> </span><br class="m_-2907340683609499545m_1002685330947615131webkit-block-placeholder"></p><div style="color:rgb(0,0,0);margin:0px;font-size:11px;line-height:normal;font-family:Menlo"><span style="font-variant-ligatures:no-common-ligatures"> </span><span style="font-variant-ligatures:no-common-ligatures;color:#ba2da2">func</span><span style="font-variant-ligatures:no-common-ligatures"> moreBar() {</span></div><div style="color:rgb(209,47,27);margin:0px;font-size:11px;line-height:normal;font-family:Menlo"><span style="font-variant-ligatures:no-common-ligatures;color:#000000"> </span><span style="font-variant-ligatures:no-common-ligatures;color:#3e1e81">print</span><span style="font-variant-ligatures:no-common-ligatures;color:#000000">(</span><span style="font-variant-ligatures:no-common-ligatures">"UIView is foo compliant and implements moreBar function"</span><span style="font-variant-ligatures:no-common-ligatures;color:#000000">)</span></div><div style="color:rgb(0,0,0);margin:0px;font-size:11px;line-height:normal;font-family:Menlo"><span style="font-variant-ligatures:no-common-ligatures"> }</span></div><div style="color:rgb(0,0,0);margin:0px;font-size:11px;line-height:normal;font-family:Menlo"><span style="font-variant-ligatures:no-common-ligatures">}</span></div><div style="color:rgb(0,0,0);margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px"><span style="font-variant-ligatures:no-common-ligatures"></span><br></div><div style="color:rgb(0,0,0);margin:0px;font-size:11px;line-height:normal;font-family:Menlo"><span style="font-variant-ligatures:no-common-ligatures;color:#ba2da2">class</span><span style="font-variant-ligatures:no-common-ligatures"> CustomView: </span><span style="font-variant-ligatures:no-common-ligatures;color:#703daa">UIView</span><span style="font-variant-ligatures:no-common-ligatures"> {</span></div><div style="color:rgb(0,0,0);margin:0px;font-size:11px;line-height:normal;font-family:Menlo"><span style="font-variant-ligatures:no-common-ligatures"> </span><span style="font-variant-ligatures:no-common-ligatures;color:#ba2da2">func</span><span style="font-variant-ligatures:no-common-ligatures"> startJob() {</span></div><div style="color:rgb(0,0,0);margin:0px;font-size:11px;line-height:normal;font-family:Menlo"><span style="font-variant-ligatures:no-common-ligatures"> </span><span style="font-variant-ligatures:no-common-ligatures;color:#31595d">bar</span><span style="font-variant-ligatures:no-common-ligatures">()</span></div><div style="color:rgb(0,0,0);margin:0px;font-size:11px;line-height:normal;font-family:Menlo"><span style="font-variant-ligatures:no-common-ligatures"> }</span></div><p style="color:rgb(0,0,0);margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px"><span style="font-variant-ligatures:no-common-ligatures"> </span><br class="m_-2907340683609499545m_1002685330947615131webkit-block-placeholder"></p><div style="color:rgb(0,0,0);margin:0px;font-size:11px;line-height:normal;font-family:Menlo"><span style="font-variant-ligatures:no-common-ligatures"> </span><span style="font-variant-ligatures:no-common-ligatures;color:#ba2da2">func</span><span style="font-variant-ligatures:no-common-ligatures"> specificBar() {</span></div><div style="color:rgb(0,132,0);margin:0px;font-size:11px;line-height:normal;font-family:Menlo"><span style="font-variant-ligatures:no-common-ligatures;color:#000000"> </span><span style="font-variant-ligatures:no-common-ligatures;color:#3e1e81">print</span><span style="font-variant-ligatures:no-common-ligatures;color:#000000">(</span><span style="font-variant-ligatures:no-common-ligatures;color:#d12f1b">"CustomView specific bar implementation"</span><span style="font-variant-ligatures:no-common-ligatures;color:#000000">) </span><span style="font-variant-ligatures:no-common-ligatures">//This is the implementation I want for specificBar but this is not the one picked at runtime.</span></div><div style="color:rgb(0,0,0);margin:0px;font-size:11px;line-height:normal;font-family:Menlo"><span style="font-variant-ligatures:no-common-ligatures"> }</span></div><div style="color:rgb(0,0,0);margin:0px;font-size:11px;line-height:normal;font-family:Menlo"><span style="font-variant-ligatures:no-common-ligatures">}</span></div><div style="color:rgb(0,0,0);margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px"><span style="font-variant-ligatures:no-common-ligatures"></span><br></div><div style="color:rgb(0,0,0);margin:0px;font-size:11px;line-height:normal;font-family:Menlo;min-height:13px"><span style="font-variant-ligatures:no-common-ligatures"></span><br></div><div style="color:rgb(0,0,0);margin:0px;font-size:11px;line-height:normal;font-family:Menlo"><span style="font-variant-ligatures:no-common-ligatures;color:#ba2da2">let</span><span style="font-variant-ligatures:no-common-ligatures"> view = </span><span style="font-variant-ligatures:no-common-ligatures;color:#4f8187">CustomView</span><span style="font-variant-ligatures:no-common-ligatures">()</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo"><span style="font-variant-ligatures:no-common-ligatures"><font color="#4f8187">view</font></span><span style="color:rgb(0,0,0);font-variant-ligatures:no-common-ligatures">.</span><span style="color:rgb(49,89,93);font-variant-ligatures:no-common-ligatures">startJob</span><span style="color:rgb(0,0,0);font-variant-ligatures:no-common-ligatures">()</span></div><div style="color:rgb(0,132,0);margin:0px;font-size:11px;line-height:normal;font-family:Menlo"><span style="font-variant-ligatures:no-common-ligatures"><br></span></div><div style="color:rgb(0,132,0);margin:0px;font-size:11px;line-height:normal;font-family:Menlo"><span style="font-variant-ligatures:no-common-ligatures">//Prints :</span></div><div style="color:rgb(0,132,0);margin:0px;font-size:11px;line-height:normal;font-family:Menlo"><span style="font-variant-ligatures:no-common-ligatures">//uiview default bar</span></div><div style="color:rgb(0,132,0);margin:0px;font-size:11px;line-height:normal;font-family:Menlo"><span style="font-variant-ligatures:no-common-ligatures"><b>//default specificBar implementation</b></span></div><div style="color:rgb(0,132,0);margin:0px;font-size:11px;line-height:normal;font-family:Menlo"><span style="font-variant-ligatures:no-common-ligatures">//UIView is foo compliant and implements moreBar function</span></div><div style="color:rgb(69,69,69)"><span style="font-variant-ligatures:no-common-ligatures"><br></span></div></div><div style="box-sizing:border-box;margin:0px;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;background-color:rgb(255,255,255);line-height:normal;font-family:'Helvetica Neue';color:rgb(69,69,69)">I was wondering if it is a good idea to give the CustomView class the power to be more specific about it’s parent protocol adoption.</div><div style="box-sizing:border-box;margin:0px;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;background-color:rgb(255,255,255);line-height:normal;font-family:'Helvetica Neue';color:rgb(69,69,69)"><br></div><div style="box-sizing:border-box;margin:0px;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;background-color:rgb(255,255,255);line-height:normal;font-family:'Helvetica Neue';color:rgb(69,69,69)">It seems to me that implementation of a protocol method cannot be easily changed by subclasses of the class that actually adopts the protocol in the first place. IMO one way to achieve the kind of specialization I’m trying to do is to create two protocols and another would be to implement a version of specificBar in the superclass (UIView here)</div><div style="box-sizing:border-box;margin:0px;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;background-color:rgb(255,255,255);line-height:normal;font-family:'Helvetica Neue';color:rgb(69,69,69);min-height:14px"><br style="box-sizing:border-box"></div><div style="box-sizing:border-box;margin:0px;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;background-color:rgb(255,255,255);line-height:normal;font-family:'Helvetica Neue';color:rgb(69,69,69)">But does it make sense to consider some kind of cherry picking (with a new keyword) for those methods we want to implement more precisely than the one provided on the protocol extension?</div><div style="box-sizing:border-box;margin:0px;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;background-color:rgb(255,255,255);line-height:normal;font-family:'Helvetica Neue';color:rgb(69,69,69)">Consider this new code for CustomView : </div><div style="box-sizing:border-box;margin:0px;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;background-color:rgb(255,255,255);line-height:normal;font-family:'Helvetica Neue';color:rgb(69,69,69);min-height:14px"><br style="box-sizing:border-box"></div><div style="box-sizing:border-box;margin:0px;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;background-color:rgb(255,255,255);line-height:normal;font-family:'Helvetica Neue';color:rgb(69,69,69)"><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures;color:#ba2da2">class</span><span style="font-variant-ligatures:no-common-ligatures"> CustomView: </span><span style="font-variant-ligatures:no-common-ligatures;color:#703daa">UIView</span><span style="font-variant-ligatures:no-common-ligatures"> {</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures"> </span><span style="font-variant-ligatures:no-common-ligatures;color:#ba2da2">func</span><span style="font-variant-ligatures:no-common-ligatures"> startJob() {</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures"> </span><span style="font-variant-ligatures:no-common-ligatures;color:#31595d">bar</span><span style="font-variant-ligatures:no-common-ligatures">()</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures"> }</span></div><p style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0);min-height:13px"><span style="font-variant-ligatures:no-common-ligatures"> </span><br class="m_-2907340683609499545m_1002685330947615131webkit-block-placeholder"></p><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,132,0)"><span style="font-variant-ligatures:no-common-ligatures;color:#000000"> override adoption </span><span style="font-variant-ligatures:no-common-ligatures;color:#ba2da2">func</span><span style="font-variant-ligatures:no-common-ligatures;color:#000000"> specificBar() { </span><span style="font-variant-ligatures:no-common-ligatures">//or override protocol => implements a method from a protocol adopted by the superclass</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(209,47,27)"><span style="font-variant-ligatures:no-common-ligatures;color:#000000"> </span><span style="font-variant-ligatures:no-common-ligatures;color:#3e1e81">print</span><span style="font-variant-ligatures:no-common-ligatures;color:#000000">(</span><span style="font-variant-ligatures:no-common-ligatures">"CustomView specificBar implementation"</span><span style="font-variant-ligatures:no-common-ligatures;color:#000000">)</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures"> }</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures">}</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0);min-height:13px"><span style="font-variant-ligatures:no-common-ligatures"></span><br></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures;color:#ba2da2">let</span><span style="font-variant-ligatures:no-common-ligatures"> view = </span><span style="font-variant-ligatures:no-common-ligatures;color:#4f8187">CustomView</span><span style="font-variant-ligatures:no-common-ligatures">()</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(49,89,93)"><span style="font-variant-ligatures:no-common-ligatures;color:#4f8187">view</span><span style="font-variant-ligatures:no-common-ligatures;color:#000000">.</span><span style="font-variant-ligatures:no-common-ligatures">startJob</span><span style="font-variant-ligatures:no-common-ligatures;color:#000000">()</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0);min-height:13px"><span style="font-variant-ligatures:no-common-ligatures"></span><br></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,132,0)"><span style="font-variant-ligatures:no-common-ligatures">//Would print :</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,132,0)"><span style="font-variant-ligatures:no-common-ligatures">//uiview default bar</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,132,0)"><span style="font-variant-ligatures:no-common-ligatures"><b>//CustomView specificBar implementation</b></span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,132,0)"><span style="font-variant-ligatures:no-common-ligatures">//UIView is foo compliant and implements moreBar function</span></div></div><div style="box-sizing:border-box;margin:0px;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;background-color:rgb(255,255,255);line-height:normal;font-family:'Helvetica Neue';color:rgb(69,69,69);min-height:14px"><br style="box-sizing:border-box"></div><div style="box-sizing:border-box;margin:0px;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;background-color:rgb(255,255,255);line-height:normal;font-family:'Helvetica Neue';color:rgb(69,69,69)">I would appreciate your feedback.</div><div style="box-sizing:border-box;margin:0px;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;background-color:rgb(255,255,255);line-height:normal;font-family:'Helvetica Neue';color:rgb(69,69,69)"><br></div><u></u><div style="box-sizing:border-box;max-width:100%;font-family:Nylas-Pro,Helvetica,"Lucidia Grande",sans-serif;font-size:14.5px"><div style="box-sizing:border-box;margin:0px;font-size:12px;line-height:normal;font-family:'Helvetica Neue'">--</div><div style="box-sizing:border-box;margin:0px;font-size:12px;line-height:normal;font-family:'Helvetica Neue'">Iman Zarrabian</div><div style="box-sizing:border-box;margin:0px;font-size:12px;line-height:normal;font-family:'Helvetica Neue'">@<u></u>imanzarrabian<u></u></div></div><u></u></div><br></div></div>______________________________<wbr>_________________<br>
swift-evolution mailing list<br>
<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a><br>
<a href="https://lists.swift.org/mailman/listinfo/swift-evolution" rel="noreferrer" target="_blank">https://lists.swift.org/mailma<wbr>n/listinfo/swift-evolution</a><br>
<br></blockquote></div><br></div>
<br>______________________________<wbr>_________________<br>
swift-evolution mailing list<br>
<a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a><br>
<a href="https://lists.swift.org/mailman/listinfo/swift-evolution" rel="noreferrer" target="_blank">https://lists.swift.org/<wbr>mailman/listinfo/swift-<wbr>evolution</a><br>
<br></blockquote></div><br></div>