Hi! Can anybody explain why this snippet segfaults when I try to
run it:
char[] array = new char[5];
void main()
{
array[0] = 'a';
}
It works fine if I move the array into main, or (strangely) if I
change its type to ubyte[] instead of char[], or if I merely read
the array without modifying it. I assumed it would heap-allocate
a mutable dynamic array before main runs, but maybe I've
misunderstood what `new` expressions do at module scope? Or is
this some special case for char arrays (strings)?
I really don't know what to make of it.