+1. This is example *is not* a single expression code block. There are 3 
expressions (the condition, the return value in the else block, and the primary 
return value). 
The `else` block is a returning single expression block. I can’t show the 
`guard` example without any returning scope.

You said it yourself "everywhere in the language“. It’s not “everywhere“ if we 
would left out `guards` else-returning block.

If we’d allow this we could also write:

func test(boolean: Bool) {
    guard boolean else {}
    print("true")
}
This is useless and less readable.

But we already can do this with closures:

let nop = {} // useless

switch value {
   ...
   default: {}() // do nothing
}

-- 
Adrian Zubarev
Sent with Airmail

_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to