[swift-evolution] [Pitch] Replace 'inout' with '&'
Joe Groff
jgroff at apple.com
Mon Dec 21 12:34:02 CST 2015
> On Dec 18, 2015, at 6:52 PM, Dmitri Gribenko <gribozavr at gmail.com> wrote:
>
> 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.
IMO we should eventually import out params from C as multiple returns.
> Another one is to add labels to
> the output parameters:
>
> let (day, month, year) = parseDate()
> let (year, day, month) = parseDate() // bug?
Labeled tuples seem like they could help with that, with compiler QoI to catch cases like this where you obviously permuted the return names.
-Joe
More information about the swift-evolution
mailing list