C++ Logo

sg15

Advanced search

Re: [isocpp-sg15] [isocpp-sg21] [isocpp-admin] Swedish mirror committee consideration on the current working draft

From: Timur Doumler <cpp_at_[hidden]>
Date: Fri, 26 Sep 2025 11:05:31 +0300
Hi Ville,

> On 26 Sep 2025, at 10:57, Ville Voutilainen <ville.voutilainen_at_[hidden]> wrote:
> That doesn't require "new technology" either, jeesh. We could add a
> library symbol that reveals the evaluation semantic chosen for that
> library (which is
> no different from having a version symbol in a library), or we could
> generate forcibly-non-inlined function calls that you can scan for in
> the library.
> Then you can just grep the result of nm to find out the contract
> evaluation semantic for a particular library binary, and I don't think
> that counts as "new technology".

Right, but if you want this to be user-friendly, you still have to teach the linker to do all this automatically.

>> Are we good now?
>
> When this committee's members actually prototype their ideas and
> gather real implementation and deployment experience for their grand
> ideas, yes.

We have implementation experience for the approach of compiling with a fixed semantic, which I think is what most people will end up doing as that's how assertions work today.

We cannot reasonably gather significant real-world deployment experience with a new language feature until it is part of an ISO C++ Standard and ships with the regular releases of major compilers. Approximately nobody adopts experimental not-yet-standardised features for real-world use at scale. Requiring broad deployment experience with a language feature in advance of standardisation creates a chicken-and-egg problem: applied consistently, it would have prevented most language features of modern C++ — often far more complex than contract assertions — from ever being realised.

Cheers,
Timur

Received on 2025-09-26 08:05:34