[Development] Disavowing the Lakos Rule for Q_ASSERT

Ville Voutilainen ville.voutilainen at gmail.com
Tue Aug 27 02:09:54 CEST 2024


On Tue, 27 Aug 2024 at 02:13, Thiago Macieira <thiago.macieira at intel.com> wrote:
>
> On Monday 26 August 2024 15:25:40 GMT-7 Ville Voutilainen wrote:
> > There's a difference between a function being noexcept and calls to a
> > function not throwing exceptions. Parameter initialization
> > can throw without terminating, for a call of a noexcept function.
>
> Side question: what happens to parameters that have non-noexcept destructors?

Most of C++ stops working.

> We have both callee-destroys and caller-destroys systems.

I would think the callee takes over the responsibility of destroying
the parameters when they have all been initialized
(so that you actually end up in the callee, duh), and before that
point the caller has to do it for cases where they don't all
construct.


More information about the Development mailing list