Date
2016-02-15.00:00:00
Message id
5707

Content

Proposed resolution (February, 2016):

  1. Change 11.4.7 [class.dtor] paragraph 8 as follows:

  2. After executing the body of the destructor and destroying any automatic objects allocated within the body, a destructor for class X calls the destructors for X's direct non-variant non-static data members, the destructors for X's non-virtual direct base classes and, if X is the type of the most derived class (11.9.3 [class.base.init]), its destructor calls the destructors for X's virtual base classes. All destructors are called as if...
  3. Change 11.4.5.3 [class.copy.ctor] bullet 23.4 as follows:

  4. A defaulted copy/move assignment operator for class X is defined as deleted if X has:

    • ...

    • a potentially constructed subobject direct non-static data member of class type M (or array thereof) or a direct base class M that cannot be copied/moved because overload resolution (12.2 [over.match]), as applied to M's corresponding assignment operator, results in an ambiguity or a function that is deleted or inaccessible from the defaulted assignment operator.