> On May 21, 2016, at 7:22 PM, Erica Sadun via swift-evolution > <swift-evolution@swift.org> wrote: > > >> On May 21, 2016, at 5:30 AM, Charlie Monroe via swift-evolution >> <swift-evolution@swift.org> wrote: >> >> I have created a proposal for making the self. optional warning. It can be >> viewed here: >> >> https://github.com/charlieMonroe/swift-evolution/blob/master/proposals/xxxx-optional-warning-for-explicit-self.md >> >> Does anyone see a downside to this solution, having it an optional warning? > > I suspect the only issue is that there are lots of things that people would > want to have as optional warnings, and it might be hard to justify why this > optional warning is more important than other optional warnings all of which > would benefit the user. In previous conversations, I believe "can it be > linted?" has been proposed as the question to be asked for this kind of thing. > > I haven't paid attention very closely to most of these conversations and I > did vote against an explicit self requirement. > > -- E
I believe the Swift team has taken a stance that there should be no optional warnings. Notice the absence of any optional warning flags today reported by the swift compiler. The warnings have to meet a suitably high bar such that the code changes to disable the warning make the code clearer. For an example, @warn_unusued_result functions give a warning unless you assign to underscore, e.g. _ = list.sort() On the other hand, “require every reference to be fully qualified” sounds more like something to add to a project like SwiftLint. I subjectively state that littering my methods with redundant “self” references makes the logic of my code harder to digest. This is why I was suggesting earlier in this thread to focus on warnings when variables and methods are being shadowed, and now to declare in code that a name is meant to shadow another name. I suspect that (with sufficient bikeshedding) this would meet the bar for the swift always-on warnings. -DW _______________________________________________ swift-evolution mailing list swift-evolution@swift.org https://lists.swift.org/mailman/listinfo/swift-evolution