d coder:

Tell me, if what I am doing is dangerous, how come doing the following is not dangerous. It is allowed by D.

int a, b, c;
a = b + c;

I think this dis-uniformity was added because:
- Statistically it's more common to have an overflow when you sum two bytes compared to summing two ints. - If the sum of two ints/uints requires a cast, you need to fill your code with casts. And casts are not safe at all, they are sharp powertools.

(I have asked many times for runtime integral overflows in D (as in C#/Delphi), that can be disabled with a compilation switch. But D designers come from the great unsafety of C-like languages and do not agree with me on the dangers/bugs of fixnum operations).

Bye,
bearophile

Reply via email to