<div dir="ltr">Do others find themselves implementing class-only protocols often? They seem to be the exception, rather than the rule, to me.<div><br></div><div>Stephen</div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Dec 7, 2015 at 11:32 AM, Sean Heber via swift-evolution <span dir="ltr">&lt;<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I found this odd, too. I don’t know what kind of parsing ramifications this might have, but I like the idea. I suppose one downside is that it makes protocols for classes seem somehow special or different from other protocols - but then again, they kind of are!<br>
<br>
l8r<br>
Sean<br>
<div><div><br>
<br>
&gt; On Dec 7, 2015, at 10:00 AM, Matthew Cheok via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a>&gt; wrote:<br>
&gt;<br>
&gt; Currently, we declare class protocols with the following syntax:<br>
&gt;<br>
&gt; protocol TestProtocol: class, OtherProtocol {}<br>
&gt;<br>
&gt; This is odd for a few reasons:<br>
&gt; 1) The keyword class exists in the middle of the declaration<br>
&gt; 2) The keyword class follows the colon and looks a lot like inheritance<br>
&gt; 3) The keyword class occupies a somewhat arbitrary first position after the colon (otherwise we have an error)<br>
&gt;<br>
&gt; We also have another use of the class keyword as a modifier when declaring class methods:<br>
&gt;<br>
&gt; class func doSomething() {}<br>
&gt;<br>
&gt; I’m suggesting a change of syntax that rectifies the above issues:<br>
&gt;<br>
&gt; class protocol TestProtocol: OtherProtocol {}<br>
&gt;<br>
&gt; Would love to hear other thoughts on this.<br>
&gt;<br>
&gt; - Matthew<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; swift-evolution mailing list<br>
&gt; <a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a><br>
&gt; <a href="https://lists.swift.org/mailman/listinfo/swift-evolution" rel="noreferrer" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br>
<br>
_______________________________________________<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/mailman/listinfo/swift-evolution</a><br>
</div></div></blockquote></div><br></div></div>