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