https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79671
--- Comment #53 from Bernd Edlinger <bernd.edlinger at hotmail dot de> --- (In reply to rguent...@suse.de from comment #52) > On Mon, 27 Mar 2017, bernd.edlinger at hotmail dot de wrote: > > > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79671 > > > > --- Comment #51 from Bernd Edlinger <bernd.edlinger at hotmail dot de> --- > > Doesn't 3.10/10 explicitly say that it is undefined to use a union to > > to move an object representation that is not a member of the union? > > That was my reading... but 3.10/10 talks about "attempts to access > the stored value of an object" and Jason says that this doesn't apply > to d = *p but the result of the decomposition to memberwise copy > plus union special handling (where it wouldn't apply at all) > The boost code was: "this->functor = f.functor;" thus directly accessing the union, so there was no decomposition to memberwise copy, right?