C++ Logo

liaison

Advanced search

Re: [isocpp-wg14/wg21-liaison] INVITE: SG22 Telecon 2026-07-08 04:30 PM UTC

From: Joshua Berne <berne_at_[hidden]>
Date: Sat, 4 Jul 2026 17:47:00 -0400
Thanks Jens,

The primary purpose of the assert() integration is to replace the
diagnostic output with a call to the violation handler, not to change other
behavior --- so I agree, explicitly calling abort() if the violation
handler completes (either through throwing an exception or returning
normally) is the right solution.

I have updated the paper to reflect this:
https://isocpp.org/files/papers/D3290R5.pdf

You can also see prototype implementations in clang and gcc here:
https://godbolt.org/z/fhKMs7e6f

On Fri, Jul 3, 2026 at 11:25 AM Jₑₙₛ Gustedt via Liaison <
liaison_at_[hidden]> wrote:

> Jan,
>
> on Sun, 28 Jun 2026 10:25:22 +0200 you (Jan Schultke
> <janschultke_at_[hidden]>) wrote:
>
> > The next SG22 (C/C++ Liaison) Telecon is taking place *Wednesday,
> > 2026-07-08 04:30 PM - 06:00 PM UTC*.
>
> Unfortunately I will not be able to be there, so I will send comments
> to this list on the two papers, starting with
>
> > - P3290R4
> > <https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2026/p3290r4.pdf
> >
> > Integrating
> > Existing Assertions with Contracts (Joshua Berne, Timur Doumler,
> > John Lakos)
>
> I take it that the question here is only about the interplay with
> `assert`.
>
> I appreciate the effort to keep the two tools orthogonal, this would
> certainly help user adoption.
>
> The only thing that I am a bit worried with regards to this is the
> following sentence
>
> > If the contract-violation handler returns normally or an exception
> > escapes the contract- violation handler’s evaluation, the program
> > will terminate in an implementation-defined manner
>
> I wouldn't know about exceptions, but for the "returns normally" this
> seems to be the wrong strategy. C's `assert` calls `abort` and I think
> we should keep it like that.
>
> Not because `abort` is a particularly well-designed feature, but
> because people might use `SIGABRT` handlers to trigger some specific
> code. So we should not invalidate the tools people already have.
>
> Thanks
> Jₑₙₛ
>
> --
> :: ICube :::::::::::::::::::::::::::::: deputy director ::
> :: Université de Strasbourg :::::::::::::::::::::: ICPS ::
> :: INRIA antenne de Strasbourg :::::::::::::::::: Camus ::
> :: INRIA PIQ program Strasbourg :::::::::: piq.inria.fr ::
> :: :::::::::::::::::::::::::::::::::::: ☎ +33 368854536 ::
> :: https://icube-icps.unistra.fr/index.php/Jens_Gustedt ::
> _______________________________________________
> Liaison mailing list
> Liaison_at_[hidden]
> Subscription: https://lists.isocpp.org/mailman/listinfo.cgi/liaison
> Searchable archives: http://lists.isocpp.org/liaison/2026/07/index.php
>

Received on 2026-07-04 21:47:18