Date: Thu, 22 Aug 2024 19:06:03 +0200
On 22/08/2024 17.24, Sebastian Wittmeier via Std-Proposals wrote:
> To remove the #pragma once precedence, the __COUNTER__ proposal could instead also standardize #pragma once and other similar quasi-standards.
What? No feature creep for this paper, please.
Jens
>
> -----Ursprüngliche Nachricht-----
> *Von:* Arthur O‘Dwyer via Std-Proposals <std-proposals_at_[hidden]>
> *Gesendet:* Do 22.08.2024 17:19
>
> I'm ambivalent on the proposal. It is obviously standardizing useful existing practice. /But/ the very ubiquity of __COUNTER__ means that its standardization won't help anyone.
> One way to (politically) motivate an existing-practice proposal is to go find some implementation divergence, and claim that your proposal would resolve that divergence, thus improving the user's life. But if there is no divergence — or if your proposal fails to resolve what divergence exists — then you haven't got a case.
> An example of this scenario is `#pragma once`. Literally every vendor supports `#pragma once`; but it's never been standardized, because the cost of standardization is high and the benefit would be literally zero: /nobody/ is prevented from using `#pragma once` just because it's non-standard.
> The cost of standardizing `__COUNTER__` is much lower (because the spec is very simple), but the benefit is still literally zero.
>
>
> To remove the #pragma once precedence, the __COUNTER__ proposal could instead also standardize #pragma once and other similar quasi-standards.
What? No feature creep for this paper, please.
Jens
>
> -----Ursprüngliche Nachricht-----
> *Von:* Arthur O‘Dwyer via Std-Proposals <std-proposals_at_[hidden]>
> *Gesendet:* Do 22.08.2024 17:19
>
> I'm ambivalent on the proposal. It is obviously standardizing useful existing practice. /But/ the very ubiquity of __COUNTER__ means that its standardization won't help anyone.
> One way to (politically) motivate an existing-practice proposal is to go find some implementation divergence, and claim that your proposal would resolve that divergence, thus improving the user's life. But if there is no divergence — or if your proposal fails to resolve what divergence exists — then you haven't got a case.
> An example of this scenario is `#pragma once`. Literally every vendor supports `#pragma once`; but it's never been standardized, because the cost of standardization is high and the benefit would be literally zero: /nobody/ is prevented from using `#pragma once` just because it's non-standard.
> The cost of standardizing `__COUNTER__` is much lower (because the spec is very simple), but the benefit is still literally zero.
>
>
Received on 2024-08-22 17:06:11