https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79671
Michael Matz <matz at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |matz at gcc dot gnu.org --- Comment #64 from Michael Matz <matz at gcc dot gnu.org> --- I would find it extremely surprising if in a = b; the RHS doesn't constitute an access to the value of object 'b' (even depending on the type of b). Are you really saying this Jason? (just trying to make extra sure) (e.g. 5.17/2 is saying about the assignment operator, before any differentiation between class and non-class types: "In simple assignment (=), the value of the expression replaces that of the object referred to by the left operand." How could it talk about the value of the expression if the RHS doesn't constitute an access to the value of that expression? While /4 specifies that the actual assignment is carried out by the copy/move assignment operator and hence via object representation for unions when implicit (12.8/29), we cannot simply ignore the above sentence, can we?)