[swift-evolution] [pitch] Comparison Reform
jaden.geller at gmail.com
Thu Apr 13 19:55:03 CDT 2017
> On Apr 13, 2017, at 5:18 PM, Xiaodi Wu via swift-evolution <swift-evolution at swift.org> wrote:
> Actually, the fact that this behavior cannot even be achieved without currently non-existent compiler features means that it is not possible to understand what's truly going on without reading *this document*, after mastering *both* IEEE floating point *and* Swift generics/protocols/extensions/static vs. dynamic dispatch. All to use `==` correctly. Which is to say, most people will simply not even know if they happen to be using the `==` they did not intend to use.
If I understand correctly, I think you’re mistaken. The compiler already selects overloads based on generic context. If `T: FloatingPoint`, then it’ll choose the `==` with signature `<T: FloatingPoint> (T, T) -> Bool`. If `T: Equatable`, then it’ll choose the `==` with signature `<T: Equatable> (T, T) -> Bool`. No new compiler features are necessary for this specific behavior.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the swift-evolution