Then +1 for the revised pitch. I strongly believe this is a strict improvement 
over the current situation.

 (y: Int, x: Int) = (x: 1, y:2) really looks like a type error

Andre Videla 

> On 5 May 2017, at 10:59, Xiaodi Wu <xiaodi...@gmail.com> wrote:
> 
>> On Fri, May 5, 2017 at 03:11 André Videla <andre.vid...@gmail.com> wrote:
>> 
>> Just to make sure:
>> 
>> let pair = (x: 3, y: 5)
>> Let swapped: (y: Int, x: Int) = pair
> 
> Error.
> 
>> Let (y: x1, x: y1) = pair
> 
> Error.
> 
>> Let (x: x2, y: y2) = pair
> 
> With the revised pitch that no longer prohibits all labels, x2 is 3 and y2 is 
> 5. In the original version, error.
> 
>> Let (x3, y3) = pair
> 
> x3 is 3 and y3 is 5.
> 
>> After the change, What do (x_n, y_n) print and Which assignments are errors?
>> 
>> Andre Videla 
>> 
>>> On 5 May 2017, at 09:31, Xiaodi Wu via swift-evolution 
>>> <swift-evolution@swift.org> wrote:
>>> 
>>>> On Fri, May 5, 2017 at 2:28 AM, Adrian Zubarev 
>>>> <adrian.zuba...@devandartist.com> wrote:
>>>> I’m not arguing to remove all labels in Swift. Labels are great, this is a 
>>>> fact for sure. The point I was trying to make is that labels in tuples how 
>>>> either a meaning or not at all.
>>>> 
>>>> // This is a shortcut for the tuple type `(x: Int, y: Int)`
>>>> let foo = (x: 0, y: 0)  
>>>> 
>>>> // In this case the labels are only used for description,  
>>>> // they do not server any benefit here are most likely redundant
>>>> let (x: x, y: y) = foo  
>>>> Labels elsewhere are a different story and I do support the cosmetic 
>>>> addition Chris Lattner sketched out here: 
>>>> https://lists.swift.org/pipermail/swift-evolution-announce/2016-July/000233.html
>>>> 
>>>> However this is about closures and not tuples, I don’t think this would 
>>>> anyhow affect the removal of labels in tuple destructuring.
>>>> 
>>>> Plus I don’t see this to create an inconsistent in Swift, because as I 
>>>> already said, labels in tuple destructuring are useless.
>>>> 
>>> How come? I just illustrated their use. They help humans write correct code 
>>> by allowing the compiler to check an assertion that the human knows which 
>>> labels go with which positions in the tuple.
>> 
>>> _______________________________________________
>> 
>>> 
>>> swift-evolution mailing list
>>> swift-evolution@swift.org
>>> https://lists.swift.org/mailman/listinfo/swift-evolution
_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to