On Thu, 20 Oct 2011 09:11:27 -0400, Don <nos...@nospam.com> wrote:
Actually there is a problem there, I think. If someone later on adds
NotOverload(double x), that call will suddenly stop compiling.
That isn't just a theoretical problem.
Currently log(2) will compile, but only because in std.math there is
log(real), but not yet log(double) or log(float).
So once we add those overloads, peoples code will break.
Should there be a concern over silently changing the code path? For
instance, log(2) currently binds to log(real), but with the addition of
log(double) will bind to that.
I'm not saying I found any problems with this, but I'm wondering if it can
possibly harm anything. I don't have enough experience with floating
point types to come up with a use case that would be affected.
-Steve