zip vs. lockstep -- problem when setting values

Ali Çehreli acehreli at yahoo.com
Sat Jun 29 17:16:35 PDT 2013


On 06/28/2013 06:19 AM, Joseph Rushton Wakeling wrote:
> Consider the following equivalent code using zip and lockstep respectively to
> iterate over the entries in an array and set their values:
>
>      auto arr1 = new double[10];
>      foreach(i, ref x; zip(iota(10), arr1))
>      {
>          x = i;
>      }
>      writeln(arr1);
>
>      auto arr2 = new double[10];
>      foreach(i, ref x; lockstep(iota(10), arr2))
>      {
>          x = i;
>      }
>      writeln(arr2);
>
> The first array will still be full of nan's when it is output, while the second
> will have values set correctly.  Can anyone offer a reasonable explanation why
> this should be so?  It looks like a bug to me, or at best an unreasonable
> difference in functionality. :-(
>

Looks like a bug and I can't find it in bugzilla.

Ali


More information about the Digitalmars-d-learn mailing list