Date: Mon, 20 Oct 2025 19:16:43 +0300
On Mon, 20 Oct 2025 at 19:09, Joshua Berne <berne_at_[hidden]> wrote:
>
>
>
> On Mon, Oct 20, 2025 at 12:01 PM Ville Voutilainen <ville.voutilainen_at_[hidden]> wrote:
>>
>> The contracts specification specifies them to be compatible.
>
>
> Where?
Everywhere. Multiple definitions of inline functions with different
contract evaluation semantics are ODR-equivalent,
multiple TUs in general can have whichever contract-evaluation
semantics chosen by whichever implementation-defined
mechanism, but that mechanism must select one of the standardized
semantics. And none of that is said to be in any way
incompatible anywhere. You can even have different evaluation
semantics for different calls of the same function, defined
just once, including defined in the same TU, and nowhere in the
standard does anything say that any of that is incompatible
in any way.
>
>
>
> On Mon, Oct 20, 2025 at 12:01 PM Ville Voutilainen <ville.voutilainen_at_[hidden]> wrote:
>>
>> The contracts specification specifies them to be compatible.
>
>
> Where?
Everywhere. Multiple definitions of inline functions with different
contract evaluation semantics are ODR-equivalent,
multiple TUs in general can have whichever contract-evaluation
semantics chosen by whichever implementation-defined
mechanism, but that mechanism must select one of the standardized
semantics. And none of that is said to be in any way
incompatible anywhere. You can even have different evaluation
semantics for different calls of the same function, defined
just once, including defined in the same TU, and nowhere in the
standard does anything say that any of that is incompatible
in any way.
Received on 2025-10-20 16:16:59
