C++26 Fails Its ISO DIS Ballot, With a Committee Member Pointing to Contracts; WG21 Meets in Búzios From 16 November to Weigh Next Steps
C++26 was disapproved in its ISO Draft International Standard ballot, with contracts cited as the likely reason; WG21 meets in Búzios from 16 November as papers disagree on keeping or removing the feature.
Overview
C++26, the draft of the next ISO C++ standard, failed its Draft International Standard (DIS) ballot in October. Mateusz Pusz of Train IT wrote that “C++26 failed its DIS ballot,” and reports that Robert Seacord, the convenor of the C committee, posted the result on LinkedIn on 24 October 2026: “Balloting has completed for C++26. Unfortunately it was Disapproved”. Andreas Fertig, who says he is a member of the C++ standardization committee and part of the German national-body vote, wrote in heise online that, as far as he knows, it is the first time in C++ history that a DIS ballot ended with a no.
What the Ballot Required
According to Pusz, a DIS must meet two conditions: “at least two-thirds of the voting (P-)members in favor, and no more than a quarter of all the votes negative. A draft that misses either one is disapproved.” He adds that ISO policy allows sharing the overall outcome of a vote but not how any national body voted, so he reports only that the ballot failed. Fertig likewise writes that the two-thirds majority was not reached. Pusz and Fertig date the vote to 23 October 2026, while a WG21 paper dated 2026-10-23 and discussed below states that the ballot concluded on 22 October 2026, so the exact closing date differs between the sources.
Pusz writes that the national-body comments are not yet available. He says the ISO/IEC Directives require a full report within 12 weeks of the vote’s end, which for a ballot that closed on 23 October means mid-January 2027 at the latest.
Contracts at the Center of the Dispute
Fertig writes in heise online that the comments submitted by the national bodies make the reason for the no vote fairly clear: contracts, a feature that a number of national bodies consider not yet release-ready. Pusz is more cautious: “I expect the No votes to be about contracts, and we will know for sure only when the comments are published.”
Papers in the WG21 mailing show the two positions that preceded the ballot. A paper from the C++ Alliance, P4238R1, dated 2026-09-01 and listing Vinnie Falco, Ville Voutilainen, José Daniel García Sánchez and John Spicer as authors, states that “the National Bodies should vote No, with technical comments, on the C++26 DIS ballot.” It describes the cost of returning the draft as “one ballot cycle: a revised draft and a second vote,” which it calls “a delay of months.” A separate paper, P4334R0, dated 2026-08-09 and listing Bjarne Stroustrup, J-Daniel Garcia, Vinnie Falco, John Spicer and Ville Voutilainen as authors, says “We are not fundamentally against idea of contracts” and that what its authors oppose is “the bloated and incomplete P2900 contracts.”
The opposing paper, P4433R0, is dated 2026-10-23 and titled “Do not remove Contracts from C++26”; Pusz describes it as written by sixteen supporters of contracts before the result was known. It states that “WG21 plenary adopted contract assertions into C++26 with 100 votes in favour and 14 against, and approved the C++26 draft for DIS ballot with 114 votes in favour and 12 against.” It also alleges that “a small number of individuals have actively lobbied NBs against approving the C++26 DIS,” and says that claims in the petition and papers that accompanied that effort “are not true.” The paper asks WG21 to confirm by poll that, if the ballot failed, “we should seek another ballot without altering contract assertions or removing them from C++26.”
What Happens Next
Pusz lists four courses of action under the Directives after a failed DIS: circulate a revised enquiry draft with an eight-week vote, circulate a revised committee draft for comments, circulate it as a draft technical specification, or cancel the project. According to Pusz, the SC22 chair chooses one of the first three in cooperation with the SC22 secretariat and the WG21 convenor, and when he wrote he had seen no announcement of which one was chosen. Fertig writes that all four options mean a delay for the next C++ standard and that the next meeting begins on 16 November in Búzios, Brazil.
Pusz writes that the Búzios meeting runs from 16 to 21 November 2026 and that opinions on what it should do are divided. He quotes J. Daniel Garcia, whom he identifies as one of the authors of P4238R1, as writing under Seacord’s post: “the short term solution is simple, remove one problematic feature and the rest of the standard can very likely be approved”. He also reports that Daveed Vandevoorde, whom he describes as a member of the WG21 Direction Group, wrote that his recommendation “will be to remove contracts from the draft, with adjustments to keep library hardening.” P4433R0, by contrast, answers the delay estimate in P4238R1 by saying it “is not realistic.”
On the name, Pusz writes that Vandevoorde doubts the final draft can be voted out in 2026 and wrote that if it happens in 2027, “C++27 would make sense”. Pusz adds that, until a new edition is published, the current C++ standard is still ISO/IEC 14882:2024 (C++23).
Effect on Compilers
Pusz writes that compilers implement features from the working draft and that the ballot does not change what they already ship: GCC 16 accepts -std=c++26, and Clang has -std=c++2c. He says GCC 16 implements contracts as part of its experimental C++26 support, and that the Clang implementation has not been merged. The Machine Herald previously reported on GCC 16 nearing release with C++26 reflection and contracts.
What We Don’t Know
- The vote breakdown: Pusz says ISO policy bars sharing how any national body voted, and the national-body comments are expected by mid-January 2027 at the latest.
- Which course of action the SC22 chair will choose, and whether WG21 will recommend keeping, changing or removing contracts at the Búzios meeting.
- Whether the standard will still be called C++26. Fertig calls this question open, while Pusz reports Vandevoorde’s view that “C++27 would make sense” if publication slips to 2027.