[swift-evolution] Synthesizing Equatable, Hashable, and Comparable for tuple types

Kelvin Ma kelvin13ma at gmail.com
Thu Nov 23 16:45:36 CST 2017


On Thu, Nov 23, 2017 at 12:32 PM, Tino Heth <2th at gmx.de> wrote:

>
> a good idea on paper, a disastrous one in practice. What happens if every
> geometry library declares their own Point type?
>
> That would be ugly („disastrous“ imho is a little bit to strong — C++
> had/has similar issues, and other languages as well)
> But if there would be a simple Point struct in a library that is popular
> (could be achieved by shipping it alongside the stdlib), this problem would
> be solved (there has been a pitch lately, but I guess it faded away
> silently).
>

it’s ugly in C++ and disastrous in Swift because C++ has fixed layout
guarantees and everyone agrees that z comes after y comes after x, so you
can unsafe-bitcast the foreign C++ points into your own points “for free”.
you can’t do the same thing in Swift
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20171123/0d14da55/attachment.html>


More information about the swift-evolution mailing list