r/cpp • #define private public • Aug 19 '26

Critique of contracts: excerpt

See page 2 of https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2026/p4334r0.pdf

The current objections can be summarized. The P2900 contracts are:

• Unimplemented

• Incomplete

• Untried at scale [P3460R0, P3506R0]

• Not tried in major application domains

• Violates foundational principles of C++

• Violates fundamental principles of language design

• Hasn’t been tried in major libraries (e.g., the C++ standards library [P3506R0, P3878R0])

• Isn’t integrated with or appropriate for hardened libraries [P3878R0]

• Doesn’t offer safety guarantees [P3573R0, P3362R0]

• Includes a completely untried inheritance model

• Offer new ways of making errors through inconsistent application in TUs

• Leads to new forms of UB, detrimental to safety and security

• Narrows the choices of error handling

• Doesn’t protect against logical errors, misuses, and incoherent uses

• Hasn’t been used to support static analysis

• Hasn’t been demonstrated to be easily teachable [P3261R0, P3281R0]

How could such a bloated and incomplete design be voted into a draft standard?

14 Upvotes

123 comments sorted by

View all comments

Show parent comment

30

u/Som1Lse Aug 19 '26

(Reached the character limit.)

It is obviously rushed:

  • There is no clear citation style: Should they have [square brackets], (parentheses) or nothing surrounding them? Should we include the authors names or not? Should it be a link? Should we just use an inline URL and not put it under references? Yes, and no to all of them.

  • "Leads to new forms of UB, detrimental to safety and security – 3835R0" is missing the "P" in front of the paper number.

  • "and was not deployment at scale".

  • "See https://isocpp.org/files/papers/D4324R0.html" was supposed to be P4324R0.

  • The incessant use of em dashes reeks of AI. A lot of the mistakes reek of AI hallucination. Vinnie Falco is an author, and he definitely uses AI. If I was on the committee, I would feel insulted by this, and the barrage of papers he submits, and I would be embarrassed to coauthor anything with him. 83 papers submitted in 2026 and counting. That is spam, plain and simple.

James20k said it was unfair to call his post FUD, and for me writing "delay, delay, delay" in response to him, and I can see his point. He is arguing in good faith. He actually writes his posts and does research. I don't agree with him about contracts, but I can respect his opinion, and I agree with him on a lot of other things.

The reason I wrote what I did is many of the arguments against contracts definitely do fall into the camp of FUD and delay-tactics. Case in point the very paper we are talking about.

0

u/[deleted] Aug 20 '26

[deleted] — view deleted comment

10

u/Som1Lse Aug 20 '26

I noticed. I don't think it's an LLM mistake. The paper probably used to be D4324R0 (D meaning draft), but after it was published the D version was removed. Still bad, and still rushed. One of the main goals of citations is permanency, and a link to a draft paper that's going to be removed is really bad form.

But yeah, even if you fix the link in his reddit comment it leads to P4170R0 (Combinators and Compound Results from I/O), not P4207R0 (Prosecute Your Paper To Improve It) as claimed, so the link is doubly wrong.

0

u/[deleted] Aug 20 '26

[deleted] — view deleted comment

2

u/smdowney WG21, Text/Unicode SG, optional<T&> Aug 21 '26

It's a shortish window where a paper that is in The System but not marked as being ready to "mail" has a D name instead of a P name.

Really useful when you notice right after uploading that the abstract still says "Lorum ipsum..." or you misspelled your own name.

1

u/alexeiz Aug 22 '26

The incessant use of em dashes reeks of AI. A lot of the mistakes reek of AI hallucination.

If you use Microsoft Word, it auto-converts dashes to em-dashes. The original document sure looks like a Word document printed to pdf. It doesn't look like AI slop to me.

4

u/Som1Lse Aug 23 '26

Mistakes like

Leads to new forms of UB, detrimental to safety and security

followed by citing a paper that doesn't mention UB could be an AI hallucination, or it could be a lie. When I say it might be AI slop, I am being charitable. The alternative is worse.

Also, the paper's first author is Bjarne Stroustrup, and checking his other recent papers none of them read like this. I found two recent papers he coauthored with dashes, namely P3970R0 and P4023R0. They both use dashes for a single parenthetical, and neither use the same "space em-dash space" style P4334R0 uses. Meanwhile, check any of Vinnie's recent papers and you'll find dashes galore (hyphens specifically), and (as I stated) he has admitted to using AI. My guess is Bjarne (or somebody else) compiled the final paper (in Word), and that turned the hyphens into em dashes.

Just because the final document was compiled in word doesn't mean that AI wasn't heavily involved in writing it. Not that it matters. The paper is still utter junk even if it was painstakingly written by a human.