C++ Logo

sg15

Advanced search

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

From: Ryan McDougall <mcdougall.ryan_at_[hidden]>
Date: Mon, 20 Oct 2025 13:49:23 -0700
Not true.

On Mon, Oct 20, 2025 at 1:49 PM JOSE DANIEL GARCIA SANCHEZ <
josedaniel.garcia_at_[hidden]> wrote:

> More UB than today.
>
> On Mon, Oct 20, 2025 at 10:46 PM Ryan McDougall <mcdougall.ryan_at_[hidden]>
> wrote:
>
>> No such thing has been shown.
>>
>> On Mon, Oct 20, 2025 at 1:45 PM JOSE DANIEL GARCIA SANCHEZ <
>> josedaniel.garcia_at_[hidden]> wrote:
>>
>>> No. Because it has been shown that current design makes C++ less safe.
>>>
>>> On Mon, Oct 20, 2025 at 10:43 PM Ryan McDougall <
>>> mcdougall.ryan_at_[hidden]> wrote:
>>>
>>>> That's patently untrue -- trying to change direction now is actually
>>>> wasting EWG time.
>>>>
>>>> If you only care about Language Safety you should be ignoring P2900.
>>>>
>>>> On Mon, Oct 20, 2025 at 1:28 PM JOSE DANIEL GARCIA SANCHEZ <
>>>> josedaniel.garcia_at_[hidden]> wrote:
>>>>
>>>>> It is a matter of priorities.
>>>>>
>>>>>
>>>>>
>>>>> On Mon, Oct 20, 2025 at 10:23 PM Ryan McDougall <
>>>>> mcdougall.ryan_at_[hidden]> wrote:
>>>>>
>>>>>> It’s not an either or thing.
>>>>>>
>>>>>> That’s like saying “we haven’t decided if the goal of WG21 is object
>>>>>> oriented programming or structured programming”.
>>>>>>
>>>>>> On Mon, Oct 20, 2025 at 1:21 PM JOSE DANIEL GARCIA SANCHEZ <
>>>>>> josedaniel.garcia_at_[hidden]> wrote:
>>>>>>
>>>>>>> We have never (to the best of my knowledge) decided if the goal of
>>>>>>> WG21 is functional safety or language safety.
>>>>>>>
>>>>>>> Let's keep in mind that there are external pressures to pursue
>>>>>>> language safety.In particular (but not only) memory safety.
>>>>>>>
>>>>>>>
>>>>>>> On Mon, Oct 20, 2025 at 10:08 PM Ryan McDougall via SG21 <
>>>>>>> sg21_at_[hidden]> wrote:
>>>>>>>
>>>>>>>> They are comparable because they both address the needs of
>>>>>>>> Functional Safety as per p3578 <http://wg21.link/p3578>. SG23 took
>>>>>>>> a poll on whether they're better than macros see P3297
>>>>>>>> <http://wg21.link/P3297>.
>>>>>>>>
>>>>>>>> I think it's not a leap of logic that EWG has strong consensus to
>>>>>>>> pass P2900 precisely because they feel it's strictly better than macros.
>>>>>>>>
>>>>>>>> Cheers,
>>>>>>>>
>>>>>>>> On Mon, Oct 20, 2025 at 12:58 PM John Spicer <jhs_at_[hidden]> wrote:
>>>>>>>>
>>>>>>>>> We have never taken a poll of whether P2900 is better then macro
>>>>>>>>> solutions.
>>>>>>>>>
>>>>>>>>> Could you explain why you think contracts and macro-based
>>>>>>>>> solutions are comperable?
>>>>>>>>>
>>>>>>>>> John.
>>>>>>>>>
>>>>>>>>> On Oct 20, 2025, at 3:09 PM, Ryan McDougall <
>>>>>>>>> mcdougall.ryan_at_[hidden]> wrote:
>>>>>>>>>
>>>>>>>>> I’m saying we have decades of experience with macro based systems,
>>>>>>>>> which defines the floor of features/expectations. The consensus is P2900 is
>>>>>>>>> better taken as a whole. There are things i think should be different with
>>>>>>>>> p2900, but p2900 represents consensus. There has been no evidence put
>>>>>>>>> forward that there is a more correct course. Based on those decades of
>>>>>>>>> experience here are no outstanding questions that having a TS would answer.
>>>>>>>>>
>>>>>>>>> If i am wrong, please list precise questions that a TS would
>>>>>>>>> answer. “We don’t have enough experience” is a statement.
>>>>>>>>>
>>>>>>>>> Cheers,
>>>>>>>>>
>>>>>>>>> On Mon, Oct 20, 2025 at 11:54 AM John Spicer <jhs_at_[hidden]> wrote:
>>>>>>>>>
>>>>>>>>>> You keep saying things like we have “decades of experience with
>>>>>>>>>> macro-based systems”.
>>>>>>>>>>
>>>>>>>>>> If contracts were remotely similar to macro-based systems, we
>>>>>>>>>> would not be having this discussion.
>>>>>>>>>>
>>>>>>>>>> The problem is that contracts are *vastly* different.
>>>>>>>>>>
>>>>>>>>>> If you put P2900 and macro-based systems in the same set, that
>>>>>>>>>> means you don’t understand one or the other.
>>>>>>>>>>
>>>>>>>>>> John.
>>>>>>>>>>
>>>>>>>>>> On Oct 20, 2025, at 2:22 PM, Ryan McDougall via SG21 <
>>>>>>>>>> sg21_at_[hidden]> wrote:
>>>>>>>>>>
>>>>>>>>>> The "course corrections" do not actually suggest a future course
>>>>>>>>>> (beyond asserting without evidence"we need more experience" and kicking the
>>>>>>>>>> can down the road to a TS) -- we've had years for alternative proposals to
>>>>>>>>>> be put forward, and none have surpassed P2900.
>>>>>>>>>>
>>>>>>>>>> We *do* have decades of experience with macro-based systems, we
>>>>>>>>>> *do* have decades of experience building software at scale (see Software
>>>>>>>>>> Engineering at Google <https://abseil.io/resources/swe-book>),
>>>>>>>>>> and we *do* know who our users are (see P1995 and P3297) -- and while there
>>>>>>>>>> are many variations on contracts, P2900 represents our best consensus
>>>>>>>>>> interpretation of those decades of experience. Not all of these decisions
>>>>>>>>>> were everyone's first choice, but P2900 is the consensus. There is no
>>>>>>>>>> evidence that any other option would improve that.
>>>>>>>>>>
>>>>>>>>>> Multiple papers, like P2900 and P3578 <http://wg21.link/p3578> explain
>>>>>>>>>> exactly who the feature is for, and how and why each of these design
>>>>>>>>>> choices were made. There is no reason to believe the current course is
>>>>>>>>>> incorrect, or that another course would be more correct.
>>>>>>>>>>
>>>>>>>>>> On Mon, Oct 20, 2025 at 4:58 AM Ville Voutilainen via SG21 <
>>>>>>>>>> sg21_at_[hidden]> wrote:
>>>>>>>>>>
>>>>>>>>>>> On Mon, 20 Oct 2025 at 14:34, Timur Doumler via SG15
>>>>>>>>>>> <sg15_at_[hidden]> wrote:
>>>>>>>>>>> > Given the above, it seems to me like opposing C++26 contract
>>>>>>>>>>> assertions because you want that checks are always on / always enforced is
>>>>>>>>>>> kinda like this:
>>>>>>>>>>> >
>>>>>>>>>>> > – Alice: "I want safer roads for pedestrians." (reasonable and
>>>>>>>>>>> good request)
>>>>>>>>>>> > – Bob: "Here's a proposal to fund bike lanes in the city."
>>>>>>>>>>> (reasonable and good proposal roughly in the same area but with a different
>>>>>>>>>>> goal)
>>>>>>>>>>> > – Alice: "But bike lanes don't add more crosswalks or reduce
>>>>>>>>>>> speed limits. So they don't make roads safer for pedestrians. Therefore, we
>>>>>>>>>>> should not build bike lanes."
>>>>>>>>>>> >
>>>>>>>>>>> > Here, Alice is committing a logical fallacy. Just because bike
>>>>>>>>>>> lanes are not useful for Alice, it doesn't mean that they're not useful for
>>>>>>>>>>> Bob, and taking away bike lanes from Bob does nothing to give Alice what
>>>>>>>>>>> she wants.
>>>>>>>>>>>
>>>>>>>>>>> The colorful analogy doesn't include considerations where
>>>>>>>>>>> providing
>>>>>>>>>>> bike lanes for Bob and doing nothing else is not entirely
>>>>>>>>>>> harmless for
>>>>>>>>>>> the pedestrians Alice is focused on.
>>>>>>>>>>>
>>>>>>>>>>> It's also incorrect in its suggestion that bike lanes are not
>>>>>>>>>>> useful
>>>>>>>>>>> for Alice. Nobody has said that P2900 isn't useful. That's why
>>>>>>>>>>> it's
>>>>>>>>>>> included
>>>>>>>>>>> in *every* *single* *one* of the currently active proposals
>>>>>>>>>>> suggesting
>>>>>>>>>>> course corrections.
>>>>>>>>>>> _______________________________________________
>>>>>>>>>>> SG21 mailing list
>>>>>>>>>>> SG21_at_[hidden]
>>>>>>>>>>> Subscription: https://lists.isocpp.org/mailman/listinfo.cgi/sg21
>>>>>>>>>>> Link to this post:
>>>>>>>>>>> http://lists.isocpp.org/sg21/2025/10/11436.php
>>>>>>>>>>>
>>>>>>>>>> _______________________________________________
>>>>>>>>>> SG21 mailing list
>>>>>>>>>> SG21_at_[hidden]
>>>>>>>>>> Subscription: https://lists.isocpp.org/mailman/listinfo.cgi/sg21
>>>>>>>>>>
>>>>>>>>>> Link to this post: http://lists.isocpp.org/sg21/2025/10/11499.php
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>> SG21 mailing list
>>>>>>>> SG21_at_[hidden]
>>>>>>>> Subscription: https://lists.isocpp.org/mailman/listinfo.cgi/sg21
>>>>>>>>
>>>>>>> Link to this post: http://lists.isocpp.org/sg21/2025/10/11510.php
>>>>>>>>
>>>>>>>

Received on 2025-10-20 20:49:39