foreach/iota countdown
Brian Schott
briancschott at gmail.com
Mon Feb 17 21:21:23 PST 2014
On Monday, 17 February 2014 at 19:22:38 UTC, simendsjo wrote:
> Should the following two uses be a compile-time error?
> foreach(i; 10 .. 0) // Never executes
>
> foreach(i; iota(10, 0)) // .. neither does this
>
> I would like the second to either be a compile-time error or
> automagically use a negative step.
>
> So we need to use a negative step in iota() or use a for loop
> foreach(i; iota(10, 0, -1)) // as expected
I just added this check to DScanner:
-------------
import std.stdio;
void main(string[] args)
{
auto x = args[3 .. 2];
foreach (i; 20 .. 10)
{
}
}
-------------
/home/alaran/tmp/test.d(5:16)[warn]: 3 is larger than 2. This
slice is likely incorrect.
/home/alaran/tmp/test.d(6:22)[warn]: 20 is larger than 10. Did
you mean to use 'foreach_reverse( ... ; 10 .. 20)'?
More information about the Digitalmars-d-learn
mailing list