On Wednesday, 21 October 2015 at 12:05:27 UTC, Shriramana Sharma wrote:
import std.math;
real round(real val, int prec)
{
    real pow = 10 ^^ prec;
    return round(val * pow) / pow;
}

Trying to compile this I get:

foo.d(5): Error: function foo.round (real val, int prec) is not callable using argument types (real)

When I've imported std.math which contains round(real), why is the compiler complaining about not being able to call the overload function defined in *this* module?

I don't see anything in http://dlang.org/module.html that says I cannot define an overload of an imported function. Did I miss something?

You might find something useful in section 2 of https://github.com/DlangScience/design/blob/master/design.pdf and also somewhat related: http://arsdnet.net/this-week-in-d/sep-27.html

Reply via email to