File tree Expand file tree Collapse file tree 2 files changed +9
-9
lines changed Expand file tree Collapse file tree 2 files changed +9
-9
lines changed Original file line number Diff line number Diff line change @@ -305,11 +305,11 @@ Notes:
305305 behavior; the ``observe `` semantic is meant to make adopting hardening easier
306306 but should not be used outside of the adoption period;
307307- C++26 wording for Library Hardening precludes a conforming Hardened
308- implementation from using the Contracts `` ignore `` semantic when evaluating
309- hardened preconditions in the Library. Libc++ allows using this semantic for
310- hardened preconditions, but please be aware that using `` ignore `` does not
311- produce a conforming "Hardened" implementation, unlike the other semantics
312- above.
308+ implementation from using a Contracts' non-terminating semantic (i.e.,
309+ `` ignore `` or `` observe ``) when evaluating hardened preconditions in the
310+ Library. Libc++ allows using these semantics for hardened preconditions, but
311+ please be aware that using `` ignore `` or `` observe `` does not produce
312+ a conforming "Hardened" implementation, unlike the terminating semantics above.
313313
314314The default assertion semantics are as follows:
315315
Original file line number Diff line number Diff line change @@ -193,10 +193,10 @@ _LIBCPP_HARDENING_MODE_DEBUG
193193// Notes:
194194// - Continuing execution after a hardening check fails results in undefined behavior; the `observe` semantic is meant
195195// to make adopting hardening easier but should not be used outside of this scenario;
196- // - C++26 wording for Library Hardening precludes a conforming Hardened implementation from using the Contracts
197- // `ignore` semantic when evaluating hardened preconditions in the Library. Libc++ allows using this semantic for
198- // hardened preconditions, however, be aware that using `ignore` does not produce a conforming "Hardened"
199- // implementation, unlike the other semantics above.
196+ // - C++26 wording for Library Hardening precludes a conforming Hardened implementation from using a Contracts'
197+ // non-terminating semantic (i.e., `ignore` or ``observe``) when evaluating hardened preconditions in the Library.
198+ // Libc++ allows using these semantics for hardened preconditions, however, be aware that using `ignore` or `observe`
199+ // does not produce a conforming "Hardened" implementation, unlike the terminating semantics above.
200200// clang-format off
201201# define _LIBCPP_ASSERTION_SEMANTIC_IGNORE (1 << 1 )
202202# define _LIBCPP_ASSERTION_SEMANTIC_OBSERVE (1 << 2 )
You can’t perform that action at this time.
0 commit comments