C++ Logo

sg15

Advanced search

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

From: Oliver Rosten <oliver.rosten_at_[hidden]>
Date: Mon, 20 Oct 2025 14:55:57 +0100
That's a proof of existence but not of wide-spread usage.

I am honestly ignorant here. As far as I know the C++ ecosystem as a whole
is not making rigorous use of things like this. But I may be wrong...

On Mon, 20 Oct 2025 at 14:53, Ville Voutilainen <ville.voutilainen_at_[hidden]>
wrote:

> 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
>

Received on 2025-10-20 13:56:14