https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121068

--- Comment #6 from Tomasz KamiƄski <tkaminsk at gcc dot gnu.org> ---
I believed that `_member` being active after new should directly fall from the
definition of active member in https://eel.is/c++draft/class.union#general-2:
> In a union, a non-static data member is active if its name refers to an 
> object whose lifetime has begun and has not ended ([basic.life]).

So if new operations, starts lifetime of member of the union (regardless of
how) it becomes active member of the union, until it's lifetime is ended. I do
not think that syntax how does it happen matters.

The unclear case, would be if creating element of array member, should start
the union, i.e. something like:
new (&union_.member[2]) T;

Reply via email to