hn.today

The result of the C++26 DIS ballot

train-it.eu59 points96 comments
Screenshot of The result of the C++26 DIS ballot

The C++26 draft failed its ISO final-draft ballot, reportedly the first C++ draft to do so. It missed both approval thresholds: 12 of 20 voting P-member countries supported it, below the required two-thirds, while 9 of 22 voting national bodies opposed it, above the permitted 25 percent. The nine No votes came from Denmark, Finland, Iran, Italy, Japan, Luxembourg, Romania, Spain, and Sweden. Their comments, along with comments from two abstaining countries, are due to be published by mid-January 2027. The opposition is expected to center on contracts, the feature that adds preconditions, postconditions, and assertions to C++. Its central controversy is whether implementations may choose to ignore or merely observe checks, or whether programs can rely on them being enforced.

The author supports contracts both as runtime checks and as precise, code-linked documentation of API requirements, but accepts that they may need to leave C++26 if that allows the rest of the draft to proceed. After a failed ballot, ISO can seek a revised ballot, request another committee draft, turn the work into a technical specification, or cancel the project. At the November 2026 WG21 meeting, competing proposals are expected: some seek another ballot without removing contracts, while others favor removing them and preserving library hardening. There is no agreed path or firm schedule; estimates range from months to longer, and the eventual standard may be published in 2027 and called C++27. The author urges national committee members to vote and inactive members to leave voting lists so committees can meet quorum.

Read on train-it.eu96 comments on Hacker News

Summary generated by AI from the linked article. hn.today is not affiliated with Hacker News or Y Combinator.

More in Programming

The daily digest

Today's best Hacker News stories, summarized and screenshotted, one email a day.