[swift-evolution] Disallowing unreachable code

Peter Dillinger Peter.Dillinger at synopsys.com
Mon Mar 27 12:48:47 CDT 2017

> To use a germane example, if unreachable code were always an error, a programmer trying to
> debug a problem wouldn't be able to short-circuit a function by just adding a return;

True, but

> they'd also have to comment out the rest of the function.

No, as you can do

  if (true) {
    return -1

See clarifying reply on definition of "unreachable".

Returning to Charlie's reply:
> Similarly returning earlier. The warning is convenient as it warns you to review that part
> before releasing the code to the public.

Since swift implements a warning for the if(true) or if(false) cases, we still get that, and without the cost of accepting code with a serious chance of being accidentally wrong.  I don't think anyone ever wrote if(true) or if(false) expecting some behavior other than what they wrote.

Peter Dillinger, Ph.D.
Software Engineering Manager, Coverity Analysis, Software Integrity Group | Synopsys

More information about the swift-evolution mailing list