Commits

Stephen Canon committed 772d7ec3c5cM
Merge branch 'SE-0067' of https://github.com/stephentyrone/swift into stephentyrone-SE-0067 Implements almost all of SE-0067. There are a few outstanding features; this implementation does not have: - formRemainder(dividingBy:) - formSquareRoot() - addProduct(_:,_:) which require additions to the Builtin module. I can probably figure out how to do these, but I haven't had a chance to do so yet. Also missing are the generic initializers and comparisons whose implementation depends on having new Integer protocols. The last remaining feature of SE-0067 is that while the basic operators +,-,*,/, etc are moved onto the FloatingPoint protocol, they are still required on the concrete types in order to disambiguate overloads. Fixing this seems to require either modifying the overload resolution rules or removing these operators from some other protocols. Or it might just require that someone smarter than me looks at the problem. Passes the existing tests locally (with the included changes). I'm working on additional tests for the new features.