ISO declines to ratify C++26 standard due to controversy over contracts feature
For the first time since 1998, the ISO has rejected a document from Working Group 21, stalling the C++26 standardization process over disagreements regarding language contracts.
Summary
The International Organization for Standardization (ISO) has taken the unprecedented step of declining to ratify a document presented by Working Group 21. This decision marks the first time since the initial C++ standard was established in 1998 that the main ISO body has rejected a proposal from the language's primary development group.
The impasse centers on a proposed 'contracts' feature intended for the C++26 standard. This feature would introduce formal pre-conditions and post-conditions directly into function signatures to improve code safety and correctness, but the proposal has generated significant debate within the standardization community.
The C++26 standardization impasse
- Proposed Feature: The 'contracts' mechanism aims to allow developers to define formal requirements for function inputs (pre-conditions) and expected outputs (post-conditions).
- Standardization Process: ISO's Working Group 21 is responsible for integrating amendments into a formal document for a final vote by the main ISO body.
- Regulatory Conflict: The rejection stems from a lack of consensus regarding the implementation and scope of the contracts feature, leading the ISO to decline the entire document presented for the C++26 cycle.
Why it matters
This delay creates uncertainty for compiler developers and software engineers who rely on a predictable roadmap for language evolution. The stalled C++26 standard may impact the development of high-performance systems and safety-critical software that anticipated formal contract support.
Original reference: lwn.net →