C++26 stumbles at finish line over Contracts dispute
ISO working group faces a fight over runtime checks, complexity, and the language's release timetable
The next iteration of the C++ programming language, C++26, may face a delay due to a disagreement over the Contracts feature, which enhances security. Contracts allow developers to add preconditions, postconditions, and assertions, helping catch errors that could otherwise result in undefined behavior. The technology has been debated for years, with some, including C++ creator Bjarne Stroustrup, arguing that it was hastily implemented and adds complexity to the language.
The controversy came to a head just before a vote to ratify C++26, with 13 people voting in favor, 9 against, and 12 abstaining. The failure to meet the ISO requirement of no more than 25 percent negative votes led to the failure of the Draft International Standard (DIS) of C++26. Contracts proponents, including C++ standardization committee member Andreas Fertig, argue that the proposal has been vetted, and vetoing it late in the release process harms C++.
Stroustrup and his colleagues, however, see the technology as an existential threat to C++, adding unnecessary complexity and bloat. The outcome of the final meeting of the ISO C++ working group WG21 in Búzios, Brazil, could determine whether Contracts is removed from the spec or moved to a separate technical specification.
Written by urgent.news from The Register's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.
Also reported by 1 other outlet
- C++26 stumbles at finish line over Contracts dispute theregister.com