Michiel Helvensteijn wrote:
Lars T. Kyllingstad wrote:

   int i = to!int(pi);    // The to function already exists in std.conv

But what does the to function do, exactly? I'd prefer to use one of floor,
round or ceil. Wouldn't you? I'm sure they are available as well.


I could perhaps have found a better example than rounding conversions since there are so many ways to perform those. But that is beside the point, which was that safe type conversions should be clearly separated from unsafe ones.

Regarding your question, currently I think std.conv.to just checks for over-/underflow and performs a cast. :) If such casts were to be disallowed, it would of course need to be rewritten.

In any case, the documentation for both cast and std.conv.to should say which rounding mode is used.

-Lars

Reply via email to