"David Nadlinger" wrote in message news:actxhygoikohznovz...@forum.dlang.org...

Let's have a look at a related example:

   int[0] data0;
   int[0] data1;

   assert(data0.ptr != data1.ptr); // ???

If you want this assert to succeed, how do you ensure that the addresses are different without allocating at least one byte of stack space (which currently seems to be prohibited by the "does not take up space" clause).

I seriously doubt the intent of that line in the spec was meant to apply to stack-allocated zero length static arrays. I think we should just change it so that we are allowed to allocate some non-zero amount of stack space for the array and give it a valid pointer. Layout matters when used in a struct, not so much when it's on the stack.

Reply via email to