<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div><br><br>Sent from my iPad</div><div><br>On Apr 2, 2016, at 9:04 AM, David Hart &lt;<a href="mailto:david@hartbit.com">david@hartbit.com</a>&gt; wrote:<br><br></div><blockquote type="cite"><div><meta http-equiv="Content-Type" content="text/html charset=utf-8">Hello Matthew,<div class=""><br class=""></div><div class="">If the goal is to make rules for accessing static members and enum cases more consistent, why can’t static members be accessed from inside the type cope with a dot prefix (sorry for the grim example)?</div></div></blockquote><div><br></div>Actually they can as long as they return a value of the type.<div><br></div><div><div class=""><font color="#000000"><span style="background-color: rgba(255, 255, 255, 0);">struct&nbsp;Person {<br class="">&nbsp; &nbsp;&nbsp;static&nbsp;let&nbsp;Bob:&nbsp;Person =&nbsp;Person(name: "Bob")<br class="">&nbsp; &nbsp;&nbsp;let&nbsp;name: String<br class="">}</span></font></div></div><div class=""><font color="#000000"><span style="background-color: rgba(255, 255, 255, 0);"><br></span></font></div><div class=""><font color="#000000"><span style="background-color: rgba(255, 255, 255, 0);">Let bob: Person = .Bob</span></font></div><div><div class=""><br></div></div><div><br><blockquote type="cite"><div><div class=""><br class=""></div><div class="">struct&nbsp;Person {<br class="">&nbsp; &nbsp;&nbsp;static&nbsp;let&nbsp;lifeExpectency:&nbsp;Int&nbsp;=&nbsp;80<br class="">&nbsp; &nbsp;&nbsp;let&nbsp;age:&nbsp;Int<br class="">&nbsp; &nbsp;&nbsp;var&nbsp;lifeRatio:&nbsp;Double&nbsp;{&nbsp;return&nbsp;Double(age)&nbsp;/&nbsp;Double(.lifeExpectency) }<br class="">}</div><div class=""><br class=""></div><div class="">David.</div><div class=""><br class=""><div><blockquote type="cite" class=""><div class="">On 01 Apr 2016, at 23:19, Matthew Johnson via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a>&gt; wrote:</div><br class="Apple-interchange-newline"><div class=""><div style="font-family: Helvetica; font-size: 14px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><blockquote type="cite" class=""><div class=""><br class="Apple-interchange-newline">On Apr 1, 2016, at 4:07 PM, Dave Abrahams via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a>&gt; wrote:</div><br class="Apple-interchange-newline"><div class=""><div class="">Douglas Gregor via swift-evolution<br class="">&lt;<a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a>&gt; wrote:<br class=""><blockquote type="cite" class="">Hello Swift community,<br class=""><br class="">The review of SE-0036 "Requiring Leading Dot Prefixes for Enum Instance<br class="">Member Implementations" begins now and runs throughApril 5, 2016. The<br class="">proposal is available here:<br class=""><br class=""><a href="https://github.com/apple/swift-evolution/blob/master/proposals/0036-enum-dot.md" class="">https://github.com/apple/swift-evolution/blob/master/proposals/0036-enum-dot.md</a><br class="">Reviews are an important part of the Swift evolution process. All reviews<br class="">should be sent to the swift-evolution mailing list at<br class=""><br class=""><a href="https://lists.swift.org/mailman/listinfo/swift-evolution" class="">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br class="">&lt;<a href="https://lists.swift.org/mailman/listinfo/swift-evolution">https://lists.swift.org/mailman/listinfo/swift-evolution</a>&gt;<br class="">or, if you would like to keep your feedback private, directly to the<br class="">review manager. When replying, please try to keep the proposal link at<br class="">the top of the message:<br class=""><br class="">Proposal link:<br class=""><br class=""><a href="https://github.com/apple/swift-evolution/blob/master/proposals/0036-enum-dot.md">https://github.com/apple/swift-evolution/blob/master/proposals/0036-enum-dot.md</a><br class="">Reply text<br class=""><br class="">Other replies<br class="">&lt;<a href="https://github.com/apple/swift-evolution#what-goes-into-a-review-1">https://github.com/apple/swift-evolution#what-goes-into-a-review-1</a>&gt;What<br class="">goes into a review?<br class=""><br class="">The goal of the review process is to improve the proposal under review<br class="">through constructive criticism and, eventually, determine the direction<br class="">of Swift. When writing your review, here are some questions you might<br class="">want to answer in your review:<br class=""><br class="">What is your evaluation of the proposal?<br class="">Is the problem being addressed significant enough to warrant a change to Swift?<br class="">Does this proposal fit well with the feel and direction of Swift?<br class="">If you have used other languages or libraries with a similar feature, how<br class="">do you feel that this proposal compares to those?<br class="">How much effort did you put into your review? A glance, a quick reading,<br class="">or an in-depth study?<br class="">More information about the Swift evolution process is available at<br class=""><br class=""><a href="https://github.com/apple/swift-evolution/blob/master/process.md">https://github.com/apple/swift-evolution/blob/master/process.md</a><br class="">&lt;<a href="https://github.com/apple/swift-evolution/blob/master/process.md">https://github.com/apple/swift-evolution/blob/master/process.md</a>&gt;<br class="">Thank you,<br class=""><br class="">Doug Gregor<br class=""><br class="">Review Manager<br class=""></blockquote><br class="">This proposal seems to me like it's failing to fix the underlying problem,<br class="">which is that people don't understand the leading dot rules, and papering<br class="">over the problem by making the rule less consisten, with different behavior<br class="">for enums and other type-scoped (static/class) entities. It doesn't seem<br class="">like a principled solution to me.<span class="Apple-converted-space">&nbsp;</span><br class=""></div></div></blockquote><div class=""><br class=""></div><div class="">This proposal doesn’t change the leading dot rules at all. &nbsp;What it does is make the rules for referencing static members *more* consistent than they are now, removing the special case for enum cases.</div><div class=""><br class=""></div><div class="">"<span class="" style="color: rgb(51, 51, 51); font-family: 'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; font-size: 16px; background-color: rgb(255, 255, 255);">Enumeration cases are essentially static not instance type members. Unlike static members in structures and classes, enumeration cases can be mentioned in initializers and instance methods without referencing a fully qualified type. This makes little sense.<span class="Apple-converted-space">&nbsp;</span><b class="">In no other case can an instance implementation directly access a static member</b>."</span></div><div class=""><br class=""></div>I believe at one point in Swift’s history all static members could be referenced directly. &nbsp;This proposal seems like it is cleaning up a case that was missed when that changed.&nbsp;</div><div style="font-family: Helvetica; font-size: 14px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><br class=""></div><div style="font-family: Helvetica; font-size: 14px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><br class=""><blockquote type="cite" class=""><div class=""><div class=""><br class="">--<span class="Apple-converted-space">&nbsp;</span><br class="">-Dave<br class=""><br class="">_______________________________________________<br class="">swift-evolution mailing list<br class=""><a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a><br class=""><a href="https://lists.swift.org/mailman/listinfo/swift-evolution" class="">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br class=""></div></div></blockquote></div><br class="" style="font-family: Helvetica; font-size: 14px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><span style="font-family: Helvetica; font-size: 14px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">_______________________________________________</span><br style="font-family: Helvetica; font-size: 14px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><span style="font-family: Helvetica; font-size: 14px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">swift-evolution mailing list</span><br style="font-family: Helvetica; font-size: 14px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><a href="mailto:swift-evolution@swift.org" style="font-family: Helvetica; font-size: 14px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">swift-evolution@swift.org</a><br style="font-family: Helvetica; font-size: 14px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><a href="https://lists.swift.org/mailman/listinfo/swift-evolution" style="font-family: Helvetica; font-size: 14px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">https://lists.swift.org/mailman/listinfo/swift-evolution</a></div></blockquote></div><br class=""></div></div></blockquote></div></body></html>