On 18.01.2016 18:10, Russel Winder via Digitalmars-d-learn wrote:
So this is an error?

union flob {
        ulong data;
        struct thingy {
                uint data;
                uint bits;
        }
        thingy burble;
};

because you cannot have a union field with a name that is also the name
of a struct field defined within the union.

I don't see the problem. You have to access the thingy's 'data' through the 'burble' member, so there is no ambiguity, is there?

This would be different, and dmd rejects it accordingly:
----
union flob {
        ulong data;
        struct {
uint data; /* test.d(4): Error: variable test.flob.data conflicts with variable test.flob.data at test.d(2) */
                uint bits;
        }
}
----

Reply via email to