Date: Mon, 20 Oct 2025 16:53:33 +0300
On Mon, 20 Oct 2025 at 16:46, Oliver Rosten
<oliver.rosten_at_[hidden]> wrote:
>
> Hi John,
>
> I'm not convinced by this:
>
>> No, it is not a pre-existing problem.
>> Other than contracts, if you end up with different function definitions it is an ODR violation and your program is IFNDR and can be rejected by your tools.
>
>
> There's a difference between "can be in principle" and "is in general practice". Is it not the case that, in most instances, for all practical purposes there is no difference between an ODR violation that's IFNDR and the contracts mixed-mode: you get what the linker gives you?
See, for example,
https://devblogs.microsoft.com/oldnewthing/20160803-00/?p=94015
See also https://maskray.me/blog/2022-11-13-odr-violation-detection
<oliver.rosten_at_[hidden]> wrote:
>
> Hi John,
>
> I'm not convinced by this:
>
>> No, it is not a pre-existing problem.
>> Other than contracts, if you end up with different function definitions it is an ODR violation and your program is IFNDR and can be rejected by your tools.
>
>
> There's a difference between "can be in principle" and "is in general practice". Is it not the case that, in most instances, for all practical purposes there is no difference between an ODR violation that's IFNDR and the contracts mixed-mode: you get what the linker gives you?
See, for example,
https://devblogs.microsoft.com/oldnewthing/20160803-00/?p=94015
See also https://maskray.me/blog/2022-11-13-odr-violation-detection
Received on 2025-10-20 13:53:49
