AI & Tech

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.

✦ Extractive summary — built from the sources' own reporting•From 1 source•1 min read•Updated November 13, 2026, 7:31 AM UTC
Key points
  • “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.

Additional details
  • 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 →

Advertisement

Every article behind this summary — 1 article from 1 outlet