std.range.iota enhancement: supporting more types (AKA issue 10762)
Francesco Cattoglio
francesco.cattoglio at gmail.com
Sat Dec 28 06:13:07 PST 2013
On Saturday, 28 December 2013 at 13:58:40 UTC, Jakob Ovrum wrote:
> On Saturday, 28 December 2013 at 12:16:32 UTC, Joseph Rushton
> Wakeling wrote:
>> Are you sure that's going to work if the iota covers a leap
>> year? :-)
>
> How would it fail? std.datetime does a good job with leap years
> AFAIK.
Yes it does, the catch is:
2012, Jan, 1 + "365 days") = 2012, Dec, 31
because 2012 is a leap year. If you compute "back = end -
duration", you are asserting the user will always enter correct
bounds. This is fine for trivial intervals, but iota won't be
usable anywhere else.
It's always the same "issue": you have to compute the last
element inside iota, you should never rely on the user giving you
ideal inputs.
More information about the Digitalmars-d
mailing list