Virtual bases and move-assignment
_N4750_.15.8 [class.copy]
Richard Smith

Created on 2013-11-04.00:00:00 last changed 49 months ago


Date: 2014-11-15.00:00:00

[Moved to DR at the November, 2014 meeting.]

Date: 2014-02-15.00:00:00

Proposed resolution (February, 2014):

Change _N4750_.15.8 [class.copy] paragraph 28 as follows:

...It is unspecified whether subobjects representing virtual base classes are assigned more than once by the implicitly-defined copy/move assignment operator. [Example:

  struct V { };
  struct A : virtual V { };
  struct B : virtual V { };
  struct C : B, A { };

It is unspecified whether the virtual base class subobject V is assigned twice by the implicitly-defined copy/move assignment operator for C. —end example] [Note: This does not apply to move assignment, as a defaulted move assignment operator is deleted if the class has virtual bases. —end note]

Date: 2020-12-15.00:00:00

The proposed resolution for issue 1402 overlooked some needed changes in _N4750_.15.8 [class.copy] paragraph 28.

Date User Action Args
2017-02-06 00:00:00adminsetstatus: drwp -> cd4
2015-05-25 00:00:00adminsetstatus: dr -> drwp
2015-04-13 00:00:00adminsetmessages: + msg5400
2014-11-24 00:00:00adminsetstatus: ready -> dr
2014-07-07 00:00:00adminsetstatus: review -> ready
2014-03-03 00:00:00adminsetmessages: + msg4869
2014-03-03 00:00:00adminsetstatus: open -> review
2013-11-04 00:00:00admincreate