https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92434
--- Comment #2 from Marek Polacek <mpolacek at gcc dot gnu.org> --- Extended testcase: template<bool B> void foo_false(void(*)() noexcept(B)) { static_assert (!B); } template<bool B> void foo_true(void(*)() noexcept(B)) { static_assert (B); } void f(); void fn() noexcept; void bar() { foo_false(&f); foo_true(&fn); } but does [temp.deduct] actually require that this works?