[swift-evolution] [Discussion] Removing tuple labels from the type signature

Taras Zakharko taras.zakharko at uzh.ch
Fri Feb 5 01:08:54 CST 2016


The types are clearly different and the current behaviour is fine as it is. 

However, it would be nice to have more support for tuple types in the language. E.g. I’d expect something like this

  let x = (a:4, b:5)
 let y = x as (m: Int, n: Int)

to work (but it doesn’t currently, you have to use forced cast). 

— Taras

> On 05 Feb 2016, at 07:47, Ondrej Barina via swift-evolution <swift-evolution at swift.org> wrote:
> 
> -1 for proposal. Current behavior is fine. There is no need to change it
> Ondrej b.
> On Feb 5, 2016 12:56 AM, "Chris Lattner via swift-evolution" <swift-evolution at swift.org <mailto:swift-evolution at swift.org>> wrote:
> 
> > On Feb 4, 2016, at 3:26 PM, Maximilian Hünenberger <m.huenenberger at me.com <mailto: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 <mailto:clattner at apple.com>>:
> >>
> >>
> >>> On Feb 4, 2016, at 10:57 AM, Maximilian Hünenberger <m.huenenberger at me.com <mailto: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
> >>
> >
> 
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org <mailto:swift-evolution at swift.org>
> https://lists.swift.org/mailman/listinfo/swift-evolution <https://lists.swift.org/mailman/listinfo/swift-evolution>
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160205/79351eb9/attachment.html>


More information about the swift-evolution mailing list