C++26 Standard Rejected by ISO National Bodies
The C++26 draft failed its DIS vote, creating an unprecedented impasse for the language.
1Unprecedented Standard Rejection
On October 23, 2026, the C++26 draft failed its ISO National Body vote. This marks the first time a C++ DIS ballot has been rejected in history. The only previous failure in this domain was the 2006 C++/CLI specification, which led to the project being permanently halted by the committee.
2The Contracts Feature Conflict
The primary reason for the rejection is the inclusion of the Contracts feature. While WG21 previously approved the draft with a large majority, National Bodies argued the feature was not ready. This disagreement highlights a shift in voting behavior, as NBs previously only opposed standards if significant new information emerged.
3Historical Development Timeline
Contracts have been under development since at least 2019, when they were briefly included and then removed from C++20. A dedicated study group worked on the proposal from 2020 until 2024. The Evolution Working Group subsequently vetted the feature over several meetings before its inclusion in the C++26 draft.
4Voting Process Requirements
ISO procedures require a two-thirds majority for a Draft International Standard to pass. The C++26 draft failed to meet this threshold during the twelve-week voting period. This outcome forces the committee to choose between four distinct ISO-defined paths, all of which require a new majority vote within the WG21 working group.
5WG21 Internal Deadlock
The committee faces a difficult path forward because WG21 previously voted to move the draft forward with a strong majority. Reverting to C++23 and delaying features until C++29 would require re-submitting every approved change. This process risks losing features if original authors lack the time or motivation to re-advocate for them.
6Impact on Future Standards
The failure of the DIS vote casts doubt on the future of the C++26 release. If the committee cannot reach a consensus, the project faces significant delays or potential cancellation. The uncertainty surrounding the next steps threatens the established rhythm of the three-year release cycle that the community has relied upon.
7Urgent Committee Meeting
A critical meeting is scheduled for November 16, 2026, to address the deadlock. The primary objective is to determine a path forward that restores trust within the standardization process. Without a resolution, there is currently no clear reason for the committee to continue working on the current C++26 project trajectory.
8Erosion of Collaborative Trust
The rejection represents a breakdown in the trust-based system that has governed C++ standardization since 1998. By refusing to accept the outcome of previous majority votes, the dissenting parties have disrupted the established compromise model. Rebuilding this collaborative environment is now the most significant challenge facing the C++ standardization committee.