Skip to content

Commit 0d19f22

Browse files
committed
P3878R1 Standard library hardening should not use the 'observe' semantic
Also fixes NB RU-016 (C++26 CD). Also fixes NB FR-001-014 (C++26 CD). Also fixes NB FR-010-113 (C++26 CD). Also fixes NB US 3-015 (C++26 CD). Also fixes NB US 61-112 (C++26 CD).
1 parent 784cc65 commit 0d19f22

File tree

1 file changed

+2
-5
lines changed

1 file changed

+2
-5
lines changed

source/lib-intro.tex

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -390,12 +390,9 @@
390390
\item
391391
When invoking the function in a hardened implementation,
392392
prior to any other observable side effects of the function,
393-
one or more contract assertions
393+
contract assertions
394394
whose predicates are as described in the hardened precondition
395-
are evaluated with a checking semantic\iref{basic.contract.eval}.
396-
If any of these assertions is evaluated with a non-terminating semantic
397-
and the contract-violation handler returns,
398-
the program has undefined behavior.
395+
are evaluated with a terminating semantic\iref{basic.contract.eval}.
399396
\item
400397
When invoking the function in a non-hardened implementation,
401398
if any hardened precondition is violated,

0 commit comments

Comments
 (0)