P4310R1 — Hasta la Vista, Undefined Behavior: Why std::core_ub Should Terminate by Default
Vinnie Falco, Ville Voutilainen
WG21
Revisions R1Aug 2026R0Jul 2026
`std::core_ub` (P4317R1) guards the runtime-checkable cases of core-language undefined behaviour and, when enforced, guarantees the check runs. It leaves one question open: after a guarded violation is detected, does the program continue or terminate? This paper answers terminate. Whether contracts are the right substrate for these checks at all is argued against them in P4332R0; this paper takes a check that runs and argues only the response.