> 1. Magic tuple conformances: We already want to be able to automatically
> conform tuples to protocols like Equatable, Hashable, and Comparable. These
> can all be compiler magic; they don't have to be definable in userspace.
>
> 2. Conform tuples to Collection: The Element type should be the most specific
> common supertype of the tuple's elements. If all the elements are the same
> type, it would be that type. The Index and IndexDistance types should be Int.
I always see tuples as some kind of anonymous struct, and those two have much
more in common than with collections — so when tuples conform to collection,
structs and classes should conform as well.
I'm just not sure what to think about that idea (might be useful, but could be
terrible)
> 3. Conform same-type tuples to MutableCollection: If all elements are the
> same type, you can also modify the values. (If their types vary in any way,
> however, it would not be safe to allow mutations, since you could assign the
> wrong type to an element.)
I think that's to confusing without much benefit in return.
> 4. Add sugar for a tuple of N identical elements: Probably something like `4
> * Int`, but opinions can vary.
[small correction applied]
I strongly dislike all shortcuts that have been proposed, and think they don't
pull their own weight.
For me, generics are definitely the best solution — maybe we should just
declare literals to be types? ;-)
_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution