Date
2024-01-21.13:42:21
Message id
7542

Content

Proposed resolution [SUPERSEDED]:

  1. Change in 6.3 [basic.def.odr] paragraph 6 through 8 as follows:

    A structured binding is odr-used if it appears as by a potentially-evaluated expression E if it is named by E.

    *this is odr-used if this appears as a potentially-evaluated expression (including as the result of the implicit transformation in the body of a non-static member function (11.4.3 [class.mfct.non.static])).

    A virtual member function is odr-used if it is not pure. A function is odr-used by if it is named by a potentially-evaluated expression or conversion E if it is named by E. A non-placement allocation or deallocation function for a class is odr-used by the definition of a constructor of that class. A non-placement deallocation function for a class is odr-used by the definition of the destructor of that class, or by being selected by the lookup at the point of definition of a virtual destructor (11.4.7 [class.dtor]). [ Footnote: ... ]

  2. Change in 6.9.3.3 [basic.start.dynamic] paragraph 4 as follows:

    A non-initialization odr-use of an entity is the evaluation of an expression that odr-uses an odr-use (6.3 [basic.def.odr]) the entity where the evaluation is not caused directly or indirectly by the initialization of a non-block static or thread storage duration variable.