On Tuesday, 24 October 2017 at 17:54:55 UTC, Andrei Alexandrescu wrote:
For the record, I remember the points made:

* When converting across integral types, any failed coercion yields a value essentially unrelated to the source. So we deemed these unacceptable.

* When converting int to float or long to double, there is a loss of accuracy - a float can represent all ints, but some of them will be represented with approximation. But here there _is_ a notion of "I'm okay with an approximation". So we deemed these acceptable.

* When converting double to float, again there is a loss of accuracy and also the risk of too large values. But there's never a gross mistake - too large values are converted to infinity, and otherwise an approximation occurs. This was also deemed acceptable.

Folks with other design sensibilities might choose differently. Actually I wasn't on board with this decision, but I accepted it. But deeming it absurd is a bit of a stretch.

Thank you for the explanation. I understand the reasoning. It seems strange to me that D is aiming at security concerning memory management and integer arithmetic but not with respect to the processing of floating-point entities.

To clarify: this topic was not the reason but only the occasion for my ranting. It's just a pointed expression of my personal impression that I got from a few discussions here.

I would like to stress that there are also people in the community who do not reflexively dismiss every critical objection from the outside. In this context, "problem realized, won't fix nevertheless" seems to be a much better answer than denying existence of problems brought up by new or less known people.

Reply via email to