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