P4254R0 — Throwing Violation Handlers Are Post Hoc Library Design
LEWG
The Lakos Rule [1] has long been treated as a trump card in LEWG: A proposal contains a function with a precondition which is declared `noexcept`, someone in the room invokes “the Lakos Rule,” and the function must presumptively be redesigned to remove the `noexcept`. This has impeded the adoption of `noexcept` in the library, and has led to arguably-ridiculous consequences (e.g. `std::vector::operator[]` not being marked `noexcept` despite being distinguished from `std::vector::at` only by the fact that it does not throw).