On Mon, 26 Aug 2024 at 23:25, Fabian Kosmale via Development
<[email protected]> wrote:
>
> Hi,
>
> I'm somewhat sympathetic to Thiago's proposal, but with different reasoning. 
> The Lakos rule is indeed motivated by contracts, and by the fact that the 
> standard is extremely reluctant to do breaking changes.
> Now, contracts will be in no earlier than C++23 even in the best case (and 
> personally I believe 26 is more realistic, but let's see). Given that we're 
> currently very reluctant

C++23 was set in stone a year ago. ISO has been dragging their feet on
publishing it in an amazing manner. So no, Contracts won't be hitting
C++23, that ship sailed.

>  As far as rules go: A function can be noexcept, if it doesn't ever throw 
> exceptions - sounds pithy, but of course that means among other things no 
> allocations, and error handling has to use a non-exception mechanism (be that 
> std::expected  or just  fatal termination).

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.
-- 
Development mailing list
[email protected]
https://lists.qt-project.org/listinfo/development

Reply via email to