<html><body><div>+1</div><div><br data-mce-bogus="1"></div><div>I've had a lot of weird things happen that I've traced to mistakes in properties having the same name as function arguments. I've hardly ever had this issue in modern Obj-C.</div><div><br data-mce-bogus="1"></div><div>I'm a little more ok with functions not needing self as it's less likely for those to shadow something like an argument, but I guess the consistency would be nice too.</div><div><br>On Dec 04, 2015, at 01:20 PM, David Hart <david@hartbit.com> wrote:<br><br></div><div><blockquote type="cite"><div class="msg-quote"><div class="_stretch"><span class="body-text-content">I don't understand the reasoning behind removing the need to access instance properties and functions using self. Swift has always seemed to prefer readability to brevity and the feature makes the distinction between local and instance variables/functions crystal clear. Any good reason I shouldn't go on with the proposition?<br><br>Just as example, my proposition makes the following piece of code illegal:<br><br>```<br>struct FooBar {<br> var foo: String = "foobar"<br><br> func bar() {<br> print(foo) // compiler error<br> print(self.foo) // compiler happy<br> }<br><br> func bar2() {<br> bar() // compiler error<br> self.bar() // compiler happy<br> }<br>}<br>```<br>_______________________________________________<br>swift-evolution mailing list<br><a href="mailto:swift-evolution@swift.org" data-mce-href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a><br><a href="https://lists.swift.org/mailman/listinfo/swift-evolution" data-mce-href="https://lists.swift.org/mailman/listinfo/swift-evolution">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br></span></div></div></blockquote></div></body></html>