C++ Logo

sg15

Advanced search

Re: [isocpp-sg15] [isocpp-sg21] P3835 -- Different contract checking for different libraries

From: Ville Voutilainen <ville.voutilainen_at_[hidden]>
Date: Mon, 20 Oct 2025 17:23:37 +0300
On Mon, 20 Oct 2025 at 17:18, Joshua Berne <berne_at_[hidden]> wrote:
>
>
>
> On Mon, Oct 20, 2025 at 10:12 AM Ville Voutilainen <ville.voutilainen_at_[hidden]> wrote:
>>
>> On Mon, 20 Oct 2025 at 16:58, Joshua Berne <berne_at_[hidden]> wrote:
>> > C++26 Contracts *also* let vendors provide you an option that says "don't let me link TUs when the TUs have different contract configurations" or even better options like "warn me if i link builds where the same function has been built with different contract configurations". Build configurations are outside the standard, and platforms are completely free to define when they do and don't work together, and to provide support for enforcing that rule. Nothing in C++26 Contracts prohibits this possibility.
>>
>> There's nothing in Contracts that allows for it. And then
>> https://eel.is/c++draft/intro.compliance#general-2.1
>> says "hi".
>
>
> You are looking for something about build flags in a standard that says nothing about build flags.

I'm not looking for build flags. I'm looking for a rule the violation
of which allows an implementation to reject a mixed-mode program.

Please report back to me (or don't) when Mr. Spicer understands where
such a rule is, so that he can figure out how to implement such
rejection.
He can then tell me what rule such an implementation would be based
on. Right now we aren't seeing any such rules, and we know for sure
that it isn't
in the definition of ODR.

Received on 2025-10-20 14:23:50