|
1283 | 1283 | If the expression \tcode{this} |
1284 | 1284 | appears within the predicate of a contract assertion\iref{basic.contract.general} |
1285 | 1285 | (including as the result of an implicit transformation\iref{expr.prim.id.general} |
1286 | | -and including in the bodies of nested \grammarterm{lambda-expression}s), %JMB: I think this is hard to parse, and lori suggested removing the second comma. It's "If (X including Y) and Z then A" but we have "If X and Y, and Z, then A". Should we make this "If X (including Y) and Z, A" |
| 1286 | +and including in the bodies of nested \grammarterm{lambda-expression}s) |
1287 | 1287 | and the current class |
1288 | 1288 | encloses the contract assertion, |
1289 | 1289 | \keyword{const} is combined with the \grammarterm{cv-qualifier-seq} |
|
1402 | 1402 | If this transformation occurs |
1403 | 1403 | in the predicate of a precondition assertion of a constructor of \tcode{X} |
1404 | 1404 | or a postcondition assertion of a destructor of \tcode{X}, |
1405 | | -the expression is ill-formed. %JMB: Should we add an xref to dcl.contract.func? |
| 1405 | +the expression is ill-formed. |
1406 | 1406 | \begin{note} |
1407 | 1407 | If \tcode{C} is not \tcode{X} or a base class of \tcode{X}, |
1408 | 1408 | the class member access expression is ill-formed. |
|
3614 | 3614 | initialized\iref{dcl.init,class.copy.ctor} with |
3615 | 3615 | its corresponding argument, |
3616 | 3616 | and each precondition assertion of the function |
3617 | | -is evaluated. %JMB: should we have an xref to dcl.contract.func here? |
| 3617 | +is evaluated.\iref{dcl.contract.func} |
3618 | 3618 | If the function is an explicit object member function and |
3619 | 3619 | there is an implied object argument\iref{over.call.func}, |
3620 | 3620 | the list of provided arguments is preceded by the implied object argument |
|
3674 | 3674 | The \grammarterm{postfix-expression} is sequenced before |
3675 | 3675 | each \grammarterm{expression} in the \grammarterm{expression-list} |
3676 | 3676 | and any default argument. |
3677 | | -The initialization of a parameter or, %JMB: do we need a comma before the or too? |
| 3677 | +The initialization of a parameter or, |
3678 | 3678 | if the implementation introduces any temporary objects |
3679 | 3679 | to hold the values of function parameters\iref{class.temporary}, |
3680 | 3680 | the initialization of those temporaries, |
|
7864 | 7864 | the full-expression of its initialization is a constant expression |
7865 | 7865 | when interpreted as a \grammarterm{constant-expression} |
7866 | 7866 | with all contract assertions |
7867 | | -using the ignore evaluation semantic\iref{basic.contract.eval}, and %JMB: Should we remove this "and", there are 3 bullets? |
| 7867 | +using the ignore evaluation semantic\iref{basic.contract.eval}, |
7868 | 7868 | \begin{note} |
7869 | 7869 | Within this evaluation, |
7870 | 7870 | \tcode{std::is_constant_evaluated()}\iref{meta.const.eval} |
|
0 commit comments