Someone brought an example that I thought was rather strange an preventable in the IRC this evening. Take this example:

int[3] bob = [ 1, 2, 3];

The above will compile fine and the program may even run fine up until the above statement. When the above statement is executed, an exceptional error is given:

object.Exception@src/rt/arraycat.d(31): lengths don't match for array copy
----------------
./main() [0x8049ec3]
./main() [0x804cbd0]
./main() [0x804c875]
./main() [0x804cc17]
./main() [0x804c875]
./main() [0x804c824]
/lib/libc.so.6(__libc_start_main+0xf3) [0xb764d483]
----------------

Couldn't this be prevented at compile time?

Reply via email to