On Friday, 12 February 2016 at 08:11:57 UTC, Jonathan M Davis wrote:
Regardless of which way we go, the problem will _eventually_ go away when 32-bit systems finally die out, but that's likely to take a while.

Many micro-controllers will probably remain 32-bit indefinitely; 64-bit is just a waste of power for most applications. Even if you want to ignore non-PC/smartphone CPUs, we'll still have the same problem whenever someone gets around to implementing 128-bit cent/ucent.

Ultimately, the only real solution to this kind of problem is some combination of:

1) Select the right type for the job (don't use `ulong` when you really mean `size_t`), and

2) Bounds checking. If iota's length is not expressible as a `size_t`, convert it to one *safely* using `std.conv.to()`.

Anything less is just asking for bugs.

Reply via email to