Possible @property compromise
Zach the Mystic
reachBUTMINUSTHISzach at gOOGLYmail.com
Sat Feb 2 18:22:11 PST 2013
On Saturday, 2 February 2013 at 18:47:37 UTC, TommiT wrote:
> On Saturday, 2 February 2013 at 17:56:41 UTC, Zach the Mystic
> wrote:
>> On Saturday, 2 February 2013 at 06:19:29 UTC, TommiT wrote:
>>> On Saturday, 2 February 2013 at 03:50:49 UTC, Zach the Mystic
>>> wrote:
>>>> [..]
>>>
>>> What do you suppose would happen if I wrote the following?
>>>
>>> struct A
>>> {
>>> struct B {}
>>>
>>> B b1;
>>> B b2;
>>> }
>>>
>>> void main()
>>> {
>>> A a;
>>> assert(&a.b1 == &a.b2);
>>> }
>>
>> With my new rules? It would be illegal to take the address of
>> a struct which contained no data.
>
> Yes, that is kind of what I was getting at with my question.
> But I'm going to ask the same thing in a better way now:
>
> Given your new nested struct variable behaviour and my
> definition of struct 'A' quoted above, would the following
> lines compile?
>
> static assert( A.B.sizeof == 0 );
> static assert( A.sizeof == 0 );
Yes, I believe so. I don't see why not.
More information about the Digitalmars-d
mailing list