https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102567
--- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> --- (In reply to Florian Weimer from comment #0) > In earlier language versions, code like this used to compile because > noexcept was not part of the type system. This also used to compile: void f() noexcept(false); void (*p)() noexcept = &f; But it was meaningless, p() could still throw. In C++17 it doesn't work.