Bug in the array set operator

roumen roumen_member at pathlink.com
Thu Jun 22 18:39:40 PDT 2006


I'm fairly certain that the code below should not work, but it compiles and
works OK. And if I use the "correct" statement a[0..a.length-1] = 0; it does not
set the last element.

import std.stdio;
private int[5] a = [1, 2, 3, 4, 5];
void main(char[][] arg)
{
foreach (int n; a)
writef("%d ", n);
writefln();

a[0..a.length] = 0;   // BUG: should be a.length-1

foreach (int n; a)
writef("%d ", n);
writefln();
}





More information about the Digitalmars-d mailing list