[libcxx-commits] [libcxx] [libc++][hardening] Update documentation in the light of P3878. (PR #166294)
Nikolas Klauser via libcxx-commits
libcxx-commits at lists.llvm.org
Tue Nov 4 00:48:29 PST 2025
================
@@ -305,11 +305,11 @@ Notes:
behavior; the ``observe`` semantic is meant to make adopting hardening easier
but should not be used outside of the adoption period;
- C++26 wording for Library Hardening precludes a conforming Hardened
- implementation from using the Contracts ``ignore`` semantic when evaluating
- hardened preconditions in the Library. Libc++ allows using this semantic for
- hardened preconditions, but please be aware that using ``ignore`` does not
- produce a conforming "Hardened" implementation, unlike the other semantics
- above.
+ implementation from using a Contracts' non-terminating semantic (i.e.,
+ ``ignore`` or ``observe``) when evaluating hardened preconditions in the
+ Library. Libc++ allows using these semantics for hardened preconditions, but
+ please be aware that using ``ignore`` or ``observe`` does not produce
+ a conforming "Hardened" implementation, unlike the terminating semantics above.
----------------
philnik777 wrote:
```suggestion
a "Hardened" implementation, unlike the terminating semantics above.
```
Would be better IMO - we're not a hardened implementation in these cases so there isn't much of a point in claiming "we're a non-conforming implementation", which makes it sound like we're just technically not.
https://github.com/llvm/llvm-project/pull/166294
More information about the libcxx-commits
mailing list