https://cplusplus.github.io/LWG/issue4476
This issue proposes adding noexcept to the run() and finish() members, which have narrow contracts. Violating the preconditions would be a logic error in the program; users of the run_loop scheduler should not try to run it when it's in the wrong state.
LWG would like to get LEWG confirmation that violating the Lakos Rule is appropriate here.
See also https://cplusplus.github.io/LWG/issue4215 which gives additional rationale for run_loop::finish() being non-throwing, by analogy with destructors.
https://cplusplus.github.io/LWG/issue4476
This issue proposes adding
noexceptto therun()andfinish()members, which have narrow contracts. Violating the preconditions would be a logic error in the program; users of the run_loop scheduler should not try to run it when it's in the wrong state.LWG would like to get LEWG confirmation that violating the Lakos Rule is appropriate here.
See also https://cplusplus.github.io/LWG/issue4215 which gives additional rationale for
run_loop::finish()being non-throwing, by analogy with destructors.