<html><body><div>+1 to this proposal (again)</div><div><br></div><div><div class="" style="font-family: 'sfnstext' , 'helvetica neue' , 'helvetica' , sans-serif;" data-mce-style="font-family: 'sfnstext' , 'helvetica neue' , 'helvetica' , sans-serif;">* What is your evaluation of the proposal?<br class=""></div><div class="" style="font-family: 'sfnstext' , 'helvetica neue' , 'helvetica' , sans-serif;" data-mce-style="font-family: 'sfnstext' , 'helvetica neue' , 'helvetica' , sans-serif;"><br></div><div class="" style="font-family: 'sfnstext' , 'helvetica neue' , 'helvetica' , sans-serif;" data-mce-style="font-family: 'sfnstext' , 'helvetica neue' , 'helvetica' , sans-serif;">I know that adding this requirement is something that could frustrate a number of people, both now and people who adopt Swift in the future... But I feel that the shadowing problem that it solves could be a significant issue for developers who are new. I also feel that it matches the idea behind Swift to encourage safe development practices. Concepts like optionals also are extra additions to the language that can frustrate and annoy developers, but in the end create safer and more clear code.<br></div><div class="" style="font-family: 'sfnstext' , 'helvetica neue' , 'helvetica' , sans-serif;" data-mce-style="font-family: 'sfnstext' , 'helvetica neue' , 'helvetica' , sans-serif;"><br></div><div class="" style="font-family: 'sfnstext' , 'helvetica neue' , 'helvetica' , sans-serif;" data-mce-style="font-family: 'sfnstext' , 'helvetica neue' , 'helvetica' , sans-serif;"><span class="Apple-tab-span" style="white-space: pre;" data-mce-style="white-space: pre;"> </span>* Is the problem being addressed significant enough to warrant a change to Swift?<br class=""></div><div class="" style="font-family: 'sfnstext' , 'helvetica neue' , 'helvetica' , sans-serif;" data-mce-style="font-family: 'sfnstext' , 'helvetica neue' , 'helvetica' , sans-serif;"><br></div><div class="" style="font-family: 'sfnstext' , 'helvetica neue' , 'helvetica' , sans-serif;" data-mce-style="font-family: 'sfnstext' , 'helvetica neue' , 'helvetica' , sans-serif;">I feel Swift should have some sort of handling of this sort of shadowing. Unless a better proposal comes along to solve the same problem, I feel this problem is significant enough to warrant the change.</div><div class="" style="font-family: 'sfnstext' , 'helvetica neue' , 'helvetica' , sans-serif;" data-mce-style="font-family: 'sfnstext' , 'helvetica neue' , 'helvetica' , sans-serif;"><br></div><div class="" style="font-family: 'sfnstext' , 'helvetica neue' , 'helvetica' , sans-serif;" data-mce-style="font-family: 'sfnstext' , 'helvetica neue' , 'helvetica' , sans-serif;"><span class="Apple-tab-span" style="white-space: pre;" data-mce-style="white-space: pre;"> </span>* Does this proposal fit well with the feel and direction of Swift?<br class=""></div><div class="" style="font-family: 'sfnstext' , 'helvetica neue' , 'helvetica' , sans-serif;" data-mce-style="font-family: 'sfnstext' , 'helvetica neue' , 'helvetica' , sans-serif;"><br></div><div class="" style="font-family: 'sfnstext' , 'helvetica neue' , 'helvetica' , sans-serif;" data-mce-style="font-family: 'sfnstext' , 'helvetica neue' , 'helvetica' , sans-serif;">See notes above. I feel like this fits will with the direction of Swift in adding new language requirements to force a developer to deal with common coding errors.</div><div class="" style="font-family: 'sfnstext' , 'helvetica neue' , 'helvetica' , sans-serif;" data-mce-style="font-family: 'sfnstext' , 'helvetica neue' , 'helvetica' , sans-serif;"><br></div><div class="" style="font-family: 'sfnstext' , 'helvetica neue' , 'helvetica' , sans-serif;" data-mce-style="font-family: 'sfnstext' , 'helvetica neue' , 'helvetica' , sans-serif;"><span class="Apple-tab-span" style="white-space: pre;" data-mce-style="white-space: pre;"> </span>* If you have you used other languages or libraries with a similar feature, how do you feel that this proposal compares to those?<br class=""></div><div class="" style="font-family: 'sfnstext' , 'helvetica neue' , 'helvetica' , sans-serif;" data-mce-style="font-family: 'sfnstext' , 'helvetica neue' , 'helvetica' , sans-serif;"><br></div><div class="" style="font-family: 'sfnstext' , 'helvetica neue' , 'helvetica' , sans-serif;" data-mce-style="font-family: 'sfnstext' , 'helvetica neue' , 'helvetica' , sans-serif;">It was noted in an earlier thread that this feature was added to Obj-C not intentionally, but as a result of a collection of issues. I actually appreciated this feature of Obj-C and felt like it made Obj-C a more exacting language. I know there are similar complaints about Obj-C's verbosity, but I feel like this proposal outweighs that with the additional clarity that would be added.</div><div class="" style="font-family: 'sfnstext' , 'helvetica neue' , 'helvetica' , sans-serif;" data-mce-style="font-family: 'sfnstext' , 'helvetica neue' , 'helvetica' , sans-serif;"><br></div><div class="" style="font-family: 'sfnstext' , 'helvetica neue' , 'helvetica' , sans-serif;" data-mce-style="font-family: 'sfnstext' , 'helvetica neue' , 'helvetica' , sans-serif;"><span class="Apple-tab-span" style="white-space: pre;" data-mce-style="white-space: pre;"> </span>* How much effort did you put into your review? A glance, a quick reading, or an in-depth study?</div></div><div><br></div><div>I've been actively watching this review and I've hit this problem a few times in Swift. I understand that this issue is contentious, and that if this change happens, people might still be complaining years and years from now about it. But it reduces confusion in the language and eliminates possible developer error, which seems to align with the goals of Swift.</div><div><br>On Dec 16, 2015, at 10:55 AM, Douglas Gregor via swift-evolution <swift-evolution@swift.org> wrote:<br><br></div><div><blockquote type="cite"><div class="msg-quote" style="word-wrap: break-word;" data-mce-style="word-wrap: break-word;">Hello Swift community,<div class=""><br class=""><div class="">The review of “Require self for accessing instance members” begins now and runs through Sunday, December 20th. The proposal is available here:</div></div><div class=""><br class=""></div><div class=""><span class="Apple-tab-span" style="white-space: pre;" data-mce-style="white-space: pre;"> </span><a href="https://github.com/apple/swift-evolution/blob/master/proposals/0009-require-self-for-accessing-instance-members.md" class="">https://github.com/apple/swift-evolution/blob/master/proposals/0009-require-self-for-accessing-instance-members.md</a></div><div class=""><br class=""></div><div class=""><div class="">Reviews are an important part of the Swift evolution process. All reviews should be sent to the swift-evolution mailing list at</div><div class=""><br class=""></div><div class=""><span class="Apple-tab-span" style="white-space: pre;" data-mce-style="white-space: pre;"> </span><a href="https://lists.swift.org/mailman/listinfo/swift-evolution" class="">https://lists.swift.org/mailman/listinfo/swift-evolution</a></div><div class=""><br class=""></div><div class="">or, if you would like to keep your feedback private, directly to the review manager.</div><div class=""><br class=""></div><div class="">What goes into a review?</div><div class=""><br class="">The goal of the review process is to improve the proposal under review through constructive criticism and, eventually, determine the direction of Swift. When writing your review, here are some questions you might want to answer in your review:<br class=""><br class=""><div class=""><span class="Apple-tab-span" style="white-space: pre;" data-mce-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;" data-mce-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;" data-mce-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;" data-mce-style="white-space: pre;"> </span>* If you have you used other languages or libraries with a similar feature, how do you feel that this proposal compares to those?<br class=""></div><div class=""><span class="Apple-tab-span" style="white-space: pre;" data-mce-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><br class=""></div><div class="">More information about the Swift evolution process is available at</div><div class=""><br class=""></div><div class=""><span class="Apple-tab-span" style="white-space: pre;" data-mce-style="white-space: pre;"> </span><a href="https://github.com/apple/swift-evolution/blob/master/process.md" class="">https://github.com/apple/swift-evolution/blob/master/process.md</a></div><div class=""><br class=""></div><div class=""><span class="Apple-tab-span" style="white-space: pre;" data-mce-style="white-space: pre;"> </span>Cheers,</div><div class=""><span class="Apple-tab-span" style="white-space: pre;" data-mce-style="white-space: pre;"> </span>Doug Gregor</div><div class=""><span class="Apple-tab-span" style="white-space: pre;" data-mce-style="white-space: pre;"> </span>Review Manager</div></div><img src="https://u2002410.ct.sendgrid.net/wf/open?upn=OFgvmg1J6naJevMotmPmRgzA4p1gcL5s2O89Xj3c0DT4LW7fn-2F-2B72EVP4WFY8L2n33yKC3BnvCZdnL2bJ3PiGCPA-2BjJapnfJYgAXgV8E5huhDJuGXoUklt69sXX1PYvjx2ZL51z-2BxNKwQeXrkEStmwz7y694TaZTOb8MChCcflebauzx-2B9t3t9N2E7X2Oogk0rZqDEFZgClS4v78GNffsaA7bQR9PnKtvbrZVQFEguI-3D" alt="" width="1" height="1" border="0" style="height: 1px; width: 1px; border-width: 0; padding: 0; margin: 0;" data-mce-style="height: 1px; width: 1px; border-width: 0; padding: 0; margin: 0;"></div></blockquote></div></body></html>