On Mon, Mar 4, 2019 at 10:27 PM degski via Boost
On Mon, 4 Mar 2019 at 20:00, Emil Dotchevski via Boost < boost@lists.boost.org> wrote:
This, by the way, is proof positive that noexcept is defective: the thing that specifies that something can't throw is, practically speaking, useless in checking if something may throw.
There's no need for proof of its *defectiveness for the purpose* you would like to use it: "Note that a *noexcept* specification on a function is not a compile-time check; it is merely a method for a programmer to inform the compiler whether or not a function should throw exceptions." *)
Yes I am aware of the semantics of noexcept. The point is, "I'm thinking of code that I am not permitted to change, whose moves are not noexcept because somebody forgot to mark them, and it's now written into stone for the next five years." indicates a problem with the noexcept definition. On the other hand, statically enforced noexcept would have other problems. I don't think it can be fixed.