> On Dec 18, 2015, at 6:08 PM, Dmitri Gribenko <griboz...@gmail.com> wrote:
> 
> On Fri, Dec 18, 2015 at 5:23 PM, Joe Groff via swift-evolution 
> <swift-evolution@swift.org <mailto:swift-evolution@swift.org>> wrote:
> For Swift 3, we're planning to phase out 'var' parameters in functions, and 
> we're also making it so that language keywords are valid argument labels. 
> With both of these changes pending, I have a hard time not reading:
> 
> func foo(inout x: Int)
> 
> 
> I don't think this would be a problem in practice since it is hard for me to 
> imagine an API that would use 'inout' as a label -- at least they would spell 
> it 'inOut' according to our API guidelines (but I really think they should 
> call it something else).

My main concern is readability of the declaration. 'func foo(inout x: Int)' and 
'func foo(label x: Int)' look very similar at a glance, but have totally 
different meanings. Going back to '@inout' like Slava suggested would be 
another possible improvement.

> There's also a possibility that we add 'out' parameters in the future, and if 
> 'inout' would be spelled '&', then we would need to find another sigil for 
> 'out'.

We have multiple returns. Why would we ever add out parameters?

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

Reply via email to