[swift-evolution] [Pitch] Make `return` optional in computed properties for a single case

Brian Christensen brian at briankc.com
Sat May 28 02:03:40 CDT 2016

On May 27, 2016, at 13:57, Adrian Zubarev via swift-evolution <swift-evolution at swift.org> wrote:

> The idea is simple:
> 	• Can we make return keyword optional in cases like this?
> 	• Shouldn’t this behave like @autoclosure or @noescape?
> type A {
>     var characters: [Character] = …
>     var string: String { String(self.characters) }
>     var count: Int { 42 }
> }
> Is this worth a proposal or Swifty enough, what do you think?
> Sure I could write return, but why do we allow this behavior for @noescape functions like map!?

While I am not necessarily against this idea, I do wonder if it’s worth making what’s going on here less obvious simply for the sake of being able to omit a six character keyword. As I understand it, one of the reasons ++/-- were removed was due to the increased "burden to learn Swift as a first programming language.” This is the sort of thing that becomes another one of those special cases that has to be explained to someone new to Swift.


More information about the swift-evolution mailing list