|
553 | 553 | requirement applies recursively)\footnote{\ref{dcl.fct.default}
|
554 | 554 | describes how default argument names are looked up.}; and
|
555 | 555 |
|
| 556 | +\item it is |
| 557 | +\impldef{consistency of build level and violation continuation mode} |
| 558 | +the conditions under which --- |
| 559 | +if \tcode{D} contains an assertion, has a postcondition, |
| 560 | +or invokes a function with a precondition --- |
| 561 | +each definition of \tcode{D} shall be translated |
| 562 | +using the same build level |
| 563 | +and violation continuation mode\iref{dcl.attr.contract}; and |
| 564 | + |
556 | 565 | \item if \tcode{D} is a class with an implicitly-declared
|
557 | 566 | constructor\iref{class.ctor}, it is as if the constructor was
|
558 | 567 | implicitly defined in every translation unit where it is odr-used, and the
|
|
984 | 993 | The potential scope of a name declared in a class consists not
|
985 | 994 | only of the declarative region following the name's point of
|
986 | 995 | declaration, but also of all function bodies, default arguments,
|
987 |
| -\grammarterm{noexcept-specifier}{s}, and |
988 |
| -default member initializers\iref{class.mem} |
| 996 | +\grammarterm{noexcept-specifier}{s}, |
| 997 | +default member initializers\iref{class.mem}, |
| 998 | +and contract conditions\iref{dcl.attr.contract} |
989 | 999 | in that class (including such
|
990 | 1000 | things in nested classes).
|
991 | 1001 |
|
|
1330 | 1340 | A name used in the definition of a class \tcode{X} outside of a member
|
1331 | 1341 | function body, default argument, \grammarterm{noexcept-specifier},
|
1332 | 1342 | default member initializer\iref{class.mem},
|
| 1343 | +contract condition\iref{dcl.attr.contract}, |
1333 | 1344 | or nested class definition\footnote{This refers to unqualified names
|
1334 | 1345 | following the class name; such a name may be used in the
|
1335 | 1346 | \grammarterm{base-clause} or may be used in the class definition.}
|
|
1393 | 1404 | \end{note}
|
1394 | 1405 |
|
1395 | 1406 | \pnum
|
1396 |
| -For the members of a class \tcode{X}, a name used in a member function |
1397 |
| -body, in a default argument, in a \grammarterm{noexcept-specifier}, in a |
1398 |
| -default member initializer\iref{class.mem}, or in the definition of a class member |
1399 |
| -outside of the definition of \tcode{X}, following the |
1400 |
| -member's |
| 1407 | +For the members of a class \tcode{X}, a name used |
| 1408 | +in a member function body, |
| 1409 | +in a default argument, |
| 1410 | +in a \grammarterm{noexcept-specifier}, |
| 1411 | +in a default member initializer\iref{class.mem}, |
| 1412 | +in a contract condition\iref{dcl.attr.contract}, or |
| 1413 | +in the definition of a class member outside of the definition of \tcode{X}, |
| 1414 | +following the member's |
1401 | 1415 | \grammarterm{declarator-id}\footnote{That is, an unqualified name that occurs,
|
1402 | 1416 | for instance, in a
|
1403 | 1417 | type in the
|
|
0 commit comments