sqrt(2) must go
Steven Schveighoffer
schveiguy at yahoo.com
Thu Oct 20 06:52:35 PDT 2011
On Thu, 20 Oct 2011 09:11:27 -0400, Don <nospam at 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
More information about the Digitalmars-d
mailing list