2 ms·
Aside from the flame-baity strawman, I'm not sure for which behaviour you are exactly arguing for.
by gpderetta 2y ago
Aside from the flame-baity strawman, I'm not sure for which behaviour you are exactly arguing for.
- tialaramex 2y agoThere are several attractive options, any of them eliminates this kind of bug 1. Giving the integer and floating point division operations different operators. If we designate // as specifically the integer division operation then this bug never arises. 2. Don't have untyped constants. If the old constant had been a floating point type, the erroneous change jumps out because we're obliged to write that we now want an integer type. Unfortunately the pre-processor is just text mangling, so this constant had no type as far as C is concerned. Odin is uncommon in modern languages for having untyped constants, Ginger Bill can probably explain why he thought that's a good idea but I can't defend it. 3. Forbid coercion/ promotion of numeric types (perhaps as part of forbidding silent type conversions in general) so now the original expression won't compile anyway.