Thanks! 


So I can assume when its about hardening std, like mentioned further above in the thread, its only about contract_assert, not using of any pre/post ?

/Harald

On 2025-10-17 13:07, Timur Doumler via SG15 wrote:


On 17 Oct 2025, at 13:26, Daniela Engert via SG15 <sg15@lists.isocpp.org> wrote:
It is. Otherwise you'd get UB with 'observe' contract evaluation semantics.

See P3846R0, Concern 10 "Observing consecutive contract assertions is dangerous".

With regards to why we allow pre and post to be evaluated multiple times, this is explained in quite some detail in P2899R1 Section 3.5.7. Also, Ville wrote a great motivation paper for this design decision a while ago that I recommend you check out: P3264R1.

Hope this helps.

Cheers,
Timur

_______________________________________________
SG15 mailing list
SG15@lists.isocpp.org
https://lists.isocpp.org/mailman/listinfo.cgi/sg15