Date: Mon, 20 Oct 2025 22:44:38 +0200
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: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:45:19
