Date: Tue, 14 Oct 2025 23:08:01 +0300
On Tue, 14 Oct 2025 at 22:59, Tom Honermann via SG15
<sg15_at_[hidden]> wrote:
> One of the fundamental aspects of p2900 is that the person who write the contract is not the one who selects the semantics for the application.
> Is this aspect of contracts aligned with hardened libraries needs? The discussion seems to reveal that not. And therefore the draft paper mentioned earlier seems to be correct - contracts are not good fit for standard library hardening.
>
> They are, or will be, once either of P3290 (Integrating Existing Assertions With Contracts) or P3400 (Specifying Contract Assertion Properties with Labels) is adopted.
So they aren't, in P2900/C++26.
I quite fail to see what P3290 has to do with this. NDEBUG does not
turn the standard library hardening off.
<sg15_at_[hidden]> wrote:
> One of the fundamental aspects of p2900 is that the person who write the contract is not the one who selects the semantics for the application.
> Is this aspect of contracts aligned with hardened libraries needs? The discussion seems to reveal that not. And therefore the draft paper mentioned earlier seems to be correct - contracts are not good fit for standard library hardening.
>
> They are, or will be, once either of P3290 (Integrating Existing Assertions With Contracts) or P3400 (Specifying Contract Assertion Properties with Labels) is adopted.
So they aren't, in P2900/C++26.
I quite fail to see what P3290 has to do with this. NDEBUG does not
turn the standard library hardening off.
Received on 2025-10-14 20:08:15
