[swift-evolution] [Pitch] Replace 'inout' with '&'

Dmitri Gribenko gribozavr at gmail.com
Fri Dec 18 20:52:32 CST 2015


On Fri, Dec 18, 2015 at 6:21 PM, Joe Groff <jgroff at apple.com> wrote:
>
> On Dec 18, 2015, at 6:08 PM, Dmitri Gribenko <gribozavr at gmail.com> wrote:
> 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?

I don't want to turn this thread into a discussion about out
parameters, but one reason would be to replace
AutoreleasingUnsafeMutablePointer.  Another one is to add labels to
the output parameters:

let (day, month, year) = parseDate()
let (year, day, month) = parseDate() // bug?

Dmitri

-- 
main(i,j){for(i=2;;i++){for(j=2;j<i;j++){if(!(i%j)){j=0;break;}}if
(j){printf("%d\n",i);}}} /*Dmitri Gribenko <gribozavr at gmail.com>*/


More information about the swift-evolution mailing list