Date: Mon, 20 Oct 2025 22:48:22 +0200
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
>>>>>>>
>>>>>>
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:03
