[swift-evolution] [Discussion] Removing tuple labels from the type signature
Chris Lattner
clattner at apple.com
Thu Feb 4 17:56:21 CST 2016
> On Feb 4, 2016, at 3:26 PM, Maximilian Hünenberger <m.huenenberger at me.com> wrote:
>
> Is this behavior intended?
>
> What disadvantage do I have if a conversion from (a: Int, b: Int) to (x: Int, y: Int) is allowed?
If that were allowed, then it also stands to reason that a conversion from “(a: Int, b : Int)” to “(b: Int, a : Int)” would also work… but would not swap the elements. IMO, it is best to disallow things misleading things like this.
-Chris
>
>
> Thank you for clarification
> - Maximilian
>
>> Am 05.02.2016 um 00:11 schrieb Chris Lattner <clattner at apple.com>:
>>
>>
>>> On Feb 4, 2016, at 10:57 AM, Maximilian Hünenberger <m.huenenberger at me.com> wrote:
>>>
>>> Is there a reasoning behind treating (Int, Int) and (lhs: Int, rhs: Int) as separate types?
>>
>> I’m not sure what you mean by “separate types”. One has labels, one does not, so they are clearly separate.
>>
>> Further, "(Int, Int)” needs to be compatible/convertible to "(a : Int, b : Int)”, but “(a : Int, b : Int)” should not be convertible to “(x : Int, y : Int)”.
>>
>>> Is there a connection to your tuple splat proposal?
>>
>> No connection at all.
>>
>> -Chris
>>
>
More information about the swift-evolution
mailing list