On Monday, 17 February 2014 at 19:30:38 UTC, Timon Gehr wrote:
On 02/17/2014 08:22 PM, 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

The parameters can be runtime values. Auto-magically using a negative step would hence be a bad idea.

Why would it be a bad idea? And I don't see where the runtime aspect comes in. There would be a very small setup performance hit when using runtime variables for choosing the step direction.

Reply via email to