On Tuesday, 3 September 2013 at 02:31:44 UTC, Lionello Lunesu wrote:
On 9/3/13 8:34, Vladimir Panteleev wrote:
On Tuesday, 3 September 2013 at 00:05:04 UTC, Walter Bright wrote:
On 9/2/2013 4:57 PM, Dylan Knutson wrote:
Can someone shed some light on this?

It comes from C. This was done in C so that addresses of struct
instances will always be unique.

Why is that important, and why does D need it?

In C, this might make some sense, however empty structs are much more
useful in D, e.g. for metaprogramming.

struct Z {};
Z a, b;
assert(&a != &b);

Yes, but why is this important? If you declare Z as "alias int[0] Z", the assert passes, so why is this property needed for structs but not static arrays?

Reply via email to