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 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