[swift-evolution] Proposal to remove semicolons

Paul Ossenbruggen possen at gmail.com
Thu Mar 17 22:55:36 CDT 2016


This seems like unexpected behavior and if the user intended it to return a value, it should be moved to the return line. The compiler is smart enough to warn about it and the warning goes away when you move the line up. If there is an issue where they need something that spans multiple lines putting it parenthesis would allow that.

	@IBAction func makeRed() {
		return
self.view.backgroundColor = UIColor.redColor()
	}
	


> On Mar 17, 2016, at 9:12 AM, Chris Wood <chris at interealtime.com> wrote:
> 
> Sorry, that was a terrible example which doesn’t work (typing code into an email at this point in the afternoon isn’t a good idea it seems!)
> 
> I made a simple example project to show the issue. Two methods in the view controller, different behaviour depending on the trailing semicolon:
> 
> http://interealtime.com/misc/Semicolon.zip <http://interealtime.com/misc/Semicolon.zip>
> 
> This scenario would be ‘wrong’ in general code, but is pretty common during debugging - and that trailing semicolon is actually necessary in this case (I hit this for real yesterday).
> 
> Chris
> 
>> On Mar 17, 2016, at 3:44 PM, Chris Wood <chris at interealtime.com> wrote:
>> 
>> Paul
>> 
>> The semicolon is actually needed still to avoid accidental multi-line statements. E.g. these functions behave differently:
>> 
>> func doNothing1() {
>>     break
>>     print(“This text gets printed”)
>> }
>> func doNothing2() {
>>     break;
>>     print(“This text isn’t printed”)
>> }
>> 
>> Until odd cases like this can be avoided, I think semicolons are still (though very rarely) necessary.
>> 
>> Chris
>> 
>> 
>>> On Mar 17, 2016, at 3:25 PM, Paul Ossenbruggen <possen at gmail.com> wrote:
>>> 
>>> +1 I think that let people do whatever they want if i makes them happy when it makes the code less readable is not a good idea. I support the notion that semicolon should not be allowed at end of line. It does nothing to help readability of the code. If it does nothing, it should go. Swift code should be easy to read, and in this case clarity wins. We have to break the semicolon habit :-) 
>>> 
>>> Perhaps providing a warning fix-it which removes them from the end of all lines in the file. I suspect most cases the only reason people put it there is habit or they are converting old code from another language.
>>> 
>>> - Paul

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160317/3331ecdf/attachment.html>


More information about the swift-evolution mailing list