C++26 stumbles at finish line over Contracts dispute
Contracts dispute Contracts allow developers to add preconditions and postconditions to code, as well as assertions that check whether specified conditions hold.
- “The P2900 contracts and extensions aim to change the nature of C++ and are an existential threat to C++, adding complexity and bloat,” Stroustrup and his colleagues wrote in a paper last August.
- Developers have proposed adding Contracts to C++ for at least a decade, after when they were abruptly yanked from C++20 owing to concerns over dangerous defaults.
- But others are eager to see Contracts implemented, even arguing the tech's detractors are poisoning the C++ development process itself.
The next version of the C++ programming language may be delayed at the last minute due to a dispute over a security-enhancing Contracts feature.
- The undo button has to be smashed on a lot of library hardening already done using Contracts.
- They can carve Contracts out of the spec so the rest of C++26 can ship.
- Contracts was the major sticking point for those voting nay.
- In October, the Draft International Standard (DIS) of C++26 failed its ISO ballot — the next-to-last stage in the International Organization for Standardization’s approval process during which a standard's technical details are formally ratified by a set of national standards bodies.
- Andreas Fertig, a member of the C++ standardization committee, feels that the criticisms have already been vetted and that vetoing the proposal this late in the C++ release process is damaging to C++ itself.
How this summary was made: extractive summary — built from the sources' own reporting. It is drawn only from the reporting of the sources listed below — read the originals for full detail. How we summarize →