[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