Full name of submitter (unless configured in github; will be published with the issue): Jim X
For example, [class.cdtor] p1 says
For an object with a non-trivial constructor, referring to any non-static member or base class of the object before the constructor begins execution results in undefined behavior.
The wording "before" in this sentence should refer to "happens-before" such that the behavior is defined in the multithread context. This is true for "after". There are many such cases in the clause [class].
In clause [dcl], for example, [dcl.fct.def.coroutine] p14
The lifetime of parameter copies ends immediately after the lifetime of the coroutine promise object ends.
[dcl.init.ref] p2
A reference cannot be changed to refer to another object after initialization.
In addition, we seem to have never defined which evaluations are considered within the lifetime of an object in [basic.life].
Full name of submitter (unless configured in github; will be published with the issue): Jim X
For example, [class.cdtor] p1 says
The wording "before" in this sentence should refer to "happens-before" such that the behavior is defined in the multithread context. This is true for "after". There are many such cases in the clause [class].
In clause [dcl], for example, [dcl.fct.def.coroutine] p14
[dcl.init.ref] p2
In addition, we seem to have never defined which evaluations are considered within the lifetime of an object in [basic.life].