[Review] SE-0122: Use colons for subscript declarations

Marking the return value is certainly a direction we could go, but my reasoning in this proposal was that ‘-> inout’ is semantically equivalent to the colon, as it exists today for computed properties.
I think this the result of this proposal will set the precedent for if/when we do add this feature, and personally I'd prefer the cleaner syntax of the colon.

------------ Begin Message ------------
Group: gmane.comp.lang.swift.evolution
MsgID: <E901B7CF-2640-4C6F-BC5B-0483D45D2AE2@architechies.com>


On Jul 20, 2016, at 12:58 PM, Garth Snyder via swift-evolution <swift-evolution@swift.org> wrote:

However, the current notation of -> Type being used to declare an input parameter to set {} just strikes me as weird and wrong. The symbol -> means “returns a” or “yields”. Since we’re declaring a type that might be either inbound or outbound, the neutral : is more appropriate.

If, as seems likely for lens support, we eventually supported inout functions:

func foo(x: Int) -> inout String {
get { return myStr }
set { myStr = newValue }

Would you feel differently about having `:` on subscript returns? Or would you want to use `:` on inout functions, too?

Brent Royal-Gordon

swift-evolution mailing list

------------- End Message -------------

From James F