As as been pointed out in the past, why not make a leading dot mean static (including enum). This would be nice and consistent. <span></span><br><br>On Sunday, 3 April 2016, Dave Abrahams via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a>&gt; wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Matthew Johnson via swift-evolution<br>
&lt;<a href="javascript:;" onclick="_e(event, &#39;cvml&#39;, &#39;swift-evolution@swift.org&#39;)">swift-evolution@swift.org</a>&gt; wrote:<br>
&gt;<br>
&gt;&gt; On Apr 1, 2016, at 4:07 PM, Dave Abrahams via swift-evolution<br>
&gt;&gt; &lt;<a href="javascript:;" onclick="_e(event, &#39;cvml&#39;, &#39;swift-evolution@swift.org&#39;)">swift-evolution@swift.org</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; Douglas Gregor via swift-evolution<br>
&gt;&gt; &lt;<a href="javascript:;" onclick="_e(event, &#39;cvml&#39;, &#39;swift-evolution@swift.org&#39;)">swift-evolution@swift.org</a>&gt; wrote:<br>
&gt;&gt;&gt; Hello Swift community,<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; The review of SE-0036 &quot;Requiring Leading Dot Prefixes for Enum Instance<br>
&gt;&gt;&gt; Member Implementations&quot; begins now and runs throughApril 5, 2016. The<br>
&gt;&gt;&gt; proposal is available here:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; <a href="https://github.com/apple/swift-evolution/blob/master/proposals/0036-enum-dot.md" target="_blank">https://github.com/apple/swift-evolution/blob/master/proposals/0036-enum-dot.md</a><br>
&gt;&gt;&gt; Reviews are an important part of the Swift evolution process. All reviews<br>
&gt;&gt;&gt; should be sent to the swift-evolution mailing list at<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; <a href="https://lists.swift.org/mailman/listinfo/swift-evolution" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br>
&gt;&gt;&gt; &lt;<a href="https://lists.swift.org/mailman/listinfo/swift-evolution" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a>&gt;<br>
&gt;&gt;&gt; or, if you would like to keep your feedback private, directly to the<br>
&gt;&gt;&gt; review manager. When replying, please try to keep the proposal link at<br>
&gt;&gt;&gt; the top of the message:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Proposal link:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; <a href="https://github.com/apple/swift-evolution/blob/master/proposals/0036-enum-dot.md" target="_blank">https://github.com/apple/swift-evolution/blob/master/proposals/0036-enum-dot.md</a><br>
&gt;&gt;&gt; Reply text<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Other replies<br>
&gt;&gt;&gt; &lt;<a href="https://github.com/apple/swift-evolution#what-goes-into-a-review-1" target="_blank">https://github.com/apple/swift-evolution#what-goes-into-a-review-1</a>&gt;What<br>
&gt;&gt;&gt; goes into a review?<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; The goal of the review process is to improve the proposal under review<br>
&gt;&gt;&gt; through constructive criticism and, eventually, determine the direction<br>
&gt;&gt;&gt; of Swift. When writing your review, here are some questions you might<br>
&gt;&gt;&gt; want to answer in your review:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; What is your evaluation of the proposal?<br>
&gt;&gt;&gt; Is the problem being addressed significant enough to warrant a change to Swift?<br>
&gt;&gt;&gt; Does this proposal fit well with the feel and direction of Swift?<br>
&gt;&gt;&gt; If you have used other languages or libraries with a similar feature, how<br>
&gt;&gt;&gt; do you feel that this proposal compares to those?<br>
&gt;&gt;&gt; How much effort did you put into your review? A glance, a quick reading,<br>
&gt;&gt;&gt; or an in-depth study?<br>
&gt;&gt;&gt; More information about the Swift evolution process is available at<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; <a href="https://github.com/apple/swift-evolution/blob/master/process.md" target="_blank">https://github.com/apple/swift-evolution/blob/master/process.md</a><br>
&gt;&gt;&gt; &lt;<a href="https://github.com/apple/swift-evolution/blob/master/process.md" target="_blank">https://github.com/apple/swift-evolution/blob/master/process.md</a>&gt;<br>
&gt;&gt;&gt; Thank you,<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Doug Gregor<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Review Manager<br>
&gt;&gt;<br>
&gt;&gt; This proposal seems to me like it&#39;s failing to fix the underlying problem,<br>
&gt;&gt; which is that people don&#39;t understand the leading dot rules, and papering<br>
&gt;&gt; over the problem by making the rule less consisten, with different behavior<br>
&gt;&gt; for enums and other type-scoped (static/class) entities. It doesn&#39;t seem<br>
&gt;&gt; like a principled solution to me.<br>
&gt;<br>
&gt; This proposal doesn’t change the leading dot rules at all.  What it does<br>
&gt; is make the rules for referencing static members *more* consistent than<br>
&gt; they are now, removing the special case for enum cases.<br>
&gt;<br>
&gt; &quot;Enumeration cases are essentially static not instance type members.<br>
&gt; Unlike static members in structures and classes, enumeration cases can be<br>
&gt; mentioned in initializers and instance methods without referencing a<br>
&gt; fully qualified type. This makes little sense. In no other case can an<br>
&gt; instance implementation directly access a static member.&quot;<br>
&gt;<br>
&gt; I believe at one point in Swift’s history all static members could be<br>
&gt; referenced directly.  This proposal seems like it is cleaning up a case<br>
&gt; that was missed when that changed.<br>
<br>
I believe I misread the proposal and you are right.<br>
<br>
I do have reservations about leading dot syntax that are highlighted by<br>
this sentence in the proposal:<br>
<br>
A leading dot has become a conventional shorthand for &quot;enumeration case&quot;<br>
across the language.<br>
<br>
That isn&#39;t in fact what it means, and if we have to play into that<br>
misperception I think it indicates a bigger problem. But we can handle that<br>
outside of this review.<br>
<br>
&gt;&gt;<br>
&gt;&gt; --<br>
&gt;&gt; -Dave<br>
&gt;&gt;<br>
&gt;&gt; _______________________________________________<br>
&gt;&gt; swift-evolution mailing list<br>
&gt;&gt; <a href="javascript:;" onclick="_e(event, &#39;cvml&#39;, &#39;swift-evolution@swift.org&#39;)">swift-evolution@swift.org</a><br>
&gt;&gt; <a href="https://lists.swift.org/mailman/listinfo/swift-evolution" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br>
&gt;<br>
&gt;<br>
&gt;<br>
<br>
<br>
<br>
--<br>
-Dave<br>
<br>
_______________________________________________<br>
swift-evolution mailing list<br>
<a href="javascript:;" onclick="_e(event, &#39;cvml&#39;, &#39;swift-evolution@swift.org&#39;)">swift-evolution@swift.org</a><br>
<a href="https://lists.swift.org/mailman/listinfo/swift-evolution" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br>
</blockquote><br><br>-- <br>-- Howard.<br>