Hacker News
points by Pannoniae 4 days ago | 0 comments
A more charitable interpretation is something like royal assent for laws. Yes, the king/queen can always just choose to delay it or even block the law, but that'd be unprecedented and the whole system of parliamentary monarchy would be in a serious crisis.

I think the author is trying to get at like, the actual discussion happens earlier / on the WG21 level, and the ISO vote is treated more of a rubberstamp. And that has changed in this instance.

[–] locknitpicker 4 days ago
> but that'd be unprecedented

Not really. The unprecedented part was how come contracts proponents decided to push a proposal against all feedback and concerns, knowing very well it was falling to build up any form of consensus.

Contracts proponents knew for years the featured proposal was opposed as it was riddled with fundamental technical flaws. The unprecedented part was the way they said "screw them" and pushed forth anyway, hoping the formality would build enough pressure to force anyone opposing the feature to succumb to the bureaucratic pressure and silence their concerns.

This contracts stunt reeks of corporate chicanery. I mean, what was the plan here? Ignore everyone, get the bureaucratic foot in the door, and then blackmail all dissenting voices of sabotaging the process if contracts proponents didn't had their way?

[–] leni536 4 days ago
"Any form of consensus": there was obviously consensus in WG21, hence contracts remained in the draft.
[–] locknitpicker 4 days ago
> "Any form of consensus": there was obviously consensus in WG21, hence contracts remained in the draft.

Contracts have been systematically pulled from the drafts since C++ 2020 as their proponents decided to ignore technical feedback and opted to go for political petty tactics much like those we see today.

Ask yourself this: how come the contracts proposal has been floating for so long, changed so little, have no reference implementations that address any remarks, and you still see the half baked proposal being floated?

And WG21 members did voted against it. Contract proponents repeatedly try to dismiss critics as having been ignored due to the nature of the democratic process, and now are complaining that they themselves see the same democratic process rejecting the proposal yet again, this time after the unprecedented push.

[–] leni536 4 days ago
> And WG21 members did voted against it.

Not most recently, when it was first voted in, then repeatedly voted to remain in when the option to remove it was polled. The most recent consensus of WG21 is reflected in the current draft, established by multiple votes overwhelmingly in favor.

[–] BlackFingolfin 4 days ago
But receiving a majority vote is not the same as building a consensus. I think that's the sticking point here.
[–] leni536 4 days ago
It wasn't voted out of the blue. There was extensive discussion prior to votes (including weekly telecons for months solely dedicated to contracts). So how do you measure consensus if not by a vote after extensive discussion, leaving everyone to voice their opinion, come up with alternatives and propose polls?

And sustained opposition does not necessarily mean lack of consensus either. WG21 heard the opposition and decided that constracts belong in the proposed draft despite of that opposition. It is very rare that a new feature does not get opposition, even a sustained one.

Now it is clear that there is no consensus between WG21 and the national bodies (although they overlap), but there is clear consensus within WG21.

[–] BlackFingolfin 4 days ago
The definition in ISO/IEC Guide 2 for consensus is this:

> Consensus: General agreement, characterized by the absence of sustained opposition to substantial issues by any important part of the concerned interests and by a process that involves seeking to take into account the views of all parties concerned and to reconcile any conflicting arguments.

So to me it is not at all clear that there was consensus within WG21.

John Spicer, the former chair of SG21 (the C++ Contracts Study Group), also seems to have doubts about that, see <https://open-std.org/JTC1/SC22/WG21/docs/papers/2026/p4381r0...> -- which is quite self-critical.

Don't get me wrong, I am not taking sides here (I haven't even done any work in C++ in the last 10 years), but it does seem a bit more complex than how you paint it.

[–] jcranmer 4 days ago
The vote for incorporating contracts into C++ was 100 in favor to 12 against.

Consensus is not the same as a majority vote. But it also doesn't mean that a small minority gets the right to block the feature forever.

[–] bluGill 4 days ago
At some point a minority needs to accept they have lost.

I've been following contracts for a while and my interpretation is some people are refusing to accept that others disagree with them. These people are repeating the same arguments that have been addressed multiple times.

You can disagree, but I look at it as people refusing to work with others voting no.

[–] bigstrat2003 4 days ago
Personally, I think that if a system to veto something exists, it shouldn't be considered shocking or a betrayal of it gets exercised. Otherwise why have the system?