+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