Jaden, the proposal literally says that a compiler feature named "@_implements" is necessary for the proposed design to work. You can see WIP for that feature in the apple/swift repo.
On Thu, Apr 13, 2017 at 19:55 Jaden Geller <[email protected]> wrote: > > On Apr 13, 2017, at 5:18 PM, Xiaodi Wu via swift-evolution < > [email protected]> 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. > > Cheers, > Jaden Geller >
_______________________________________________ swift-evolution mailing list [email protected] https://lists.swift.org/mailman/listinfo/swift-evolution
