|
551 | 551 | between the point at which the entity is introduced and the scope
|
552 | 552 | (where \tcode{*\keyword{this}} is considered to be introduced
|
553 | 553 | within the innermost enclosing class or non-lambda function definition scope),
|
554 |
| -either: %JMB: Potential drive-by, we should remove the : and the first two "or"s. |
| 554 | +either |
555 | 555 | \begin{itemize}
|
556 |
| -\item the intervening scope is a block scope, or |
557 |
| -\item the intervening scope is a contract-assertion scope\iref{basic.scope.contract}, or |
| 556 | +\item the intervening scope is a block scope, |
| 557 | +\item the intervening scope is a contract-assertion scope\iref{basic.scope.contract}, |
558 | 558 | \item the intervening scope is the function parameter scope of
|
559 | 559 | a \grammarterm{lambda-expression} or \grammarterm{requires-expression}, or
|
560 | 560 | \item the intervening scope is the lambda scope of
|
|
6178 | 6178 | every argument expression and
|
6179 | 6179 | the postfix expression designating \placeholder{f}
|
6180 | 6180 | are sequenced before
|
6181 |
| -every precondition assertion of \placeholder{f}\iref{dcl.contract.func}, %JMB: This said "of the called function", changed to "of f" |
| 6181 | +every precondition assertion of \placeholder{f}\iref{dcl.contract.func}, |
6182 | 6182 | which in turn are sequenced before
|
6183 | 6183 | every expression or statement
|
6184 | 6184 | in the body of \placeholder{f},
|
6185 | 6185 | which in turn are sequenced before
|
6186 |
| -every postcondition assertion of \placeholder{f}. %JMB: This says "the called function" again in P2900 |
| 6186 | +every postcondition assertion of \placeholder{f}. |
6187 | 6187 |
|
6188 | 6188 | \pnum
|
6189 | 6189 | For each
|
|
7004 | 7004 | \pnum
|
7005 | 7005 | \indextext{termination!program}%
|
7006 | 7006 | \indextext{\idxcode{main} function!return from}%
|
7007 |
| -A \keyword{return} statement\iref{stmt.return} in \tcode{main} has the effect of leaving the main %JMB: Why is the second main here not in code font? |
| 7007 | +A \keyword{return} statement\iref{stmt.return} in \tcode{main} has the effect of leaving the \tcode{main} |
7008 | 7008 | function (destroying any objects with automatic storage duration
|
7009 | 7009 | and evaluating any postcondition assertions of \tcode{main})
|
7010 | 7010 | and calling \tcode{std::exit} with the return value as the argument.
|
|
7371 | 7371 | of the predicate of a contract assertion,
|
7372 | 7372 | no diagnostic required.
|
7373 | 7373 |
|
7374 |
| -%JMB: This paragraph was not in P2900, but the note is not directly tied to the paragraph above. |
7375 | 7374 | \pnum
|
7376 | 7375 | \begin{note}
|
7377 | 7376 | Within the predicate of a contract assertion,
|
7378 | 7377 | \grammarterm{id-expression}s referring to
|
7379 | 7378 | variables declared outside the contract assertion
|
7380 |
| -are const\iref{expr.prim.id.unqual}, %JMB: P2900 had this const in code font |
7381 |
| -\tcode{this} is a pointer to const\iref{expr.prim.this}, %JMB: P2900 had this const in code font |
| 7379 | +are const\iref{expr.prim.id.unqual}, |
| 7380 | +\tcode{this} is a pointer to const\iref{expr.prim.this}, |
7382 | 7381 | and the result object can be named
|
7383 | 7382 | if a \grammarterm{result-name-introducer}\iref{dcl.contract.res} has been specified.
|
7384 | 7383 | \end{note}
|
|
0 commit comments