On Friday, 12 February 2016 at 10:37:31 UTC, tsbockman wrote:
On Friday, 12 February 2016 at 10:34:32 UTC, tsbockman wrote:
Bounds checking. If iota's length is not expressible as a `size_t`, convert it to one *safely* using `std.conv.to()`.

Just to clarify - the bit about `std.conv.to()` is just an example.

A better solution in this specific case would be to check once, while the iota() range is being constructed, whether its length is expressible as a `size_t` or not.

Yeah. I think that that's the best approach, but it does unfortunately have the downside that you pretty much can't have a range over all of the longs or ulongs on 32-bit systems (though fortunately that should rarely be an issue, and I don't really see a fix for that that doesn't cause problems with length and other ranges).

- Jonathan M Davis

Reply via email to