On Sat, Nov 25, 2017 at 06:35 Mike Kluev <mike.kl...@gmail.com> wrote:
> On 25 November 2017 at 03:12, Xiaodi Wu <xiaodi...@gmail.com> wrote: > >> On Fri, Nov 24, 2017 at 9:08 PM, Mike Kluev via swift-evolution < >> swift-evolution@swift.org> wrote: >> >>> On 24 November 2017 at 23:47, Douglas Gregor <dgre...@apple.com> wrote: >>> >>>> >>>> e.g., making all tuples of Equatable elements Equatable >>>> >>>> >>> that's already the case.. (all tuples of equatable elements are >>> equatable). no? >>> >> >> No, tuples do not conform to any protocols. There are hardcoded >> implementations of `==` up to some arity in the stdlib to partially >> mitigate the lack of protocol conformance. >> >> > to me as a user the end result is the same... > probably we need a better convincing example of what users may want that > doesn't have a workaround now. > The workaround substantially bloats the standard library, and the result is nothing close to the same because your type is still not Equatable. This means that it cannot benefit from any generic algorithms. For example, an array of such tuples cannot be Equatable in turn. > speaking of ugliness, the ellipsis on the left of names is quite ugly: > > extension<...Elements : Equatable> (Elements...) : Equatable > Seems perfectly fine to me.
_______________________________________________ swift-evolution mailing list swift-evolution@swift.org https://lists.swift.org/mailman/listinfo/swift-evolution