https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100313
--- Comment #5 from 3440910457 at qq dot com --- This bug can be triggered not only by pointer member function, but also by pointers to inline free functions, for example: See <https://godbolt.org/z/enznGjczv> ``` #include <functional> // inline is necessary inline int add(int a, int b) { return a + b; } int main() { constexpr auto f = std::function_ref(std::cw<&add>); } ``` The full error is: In file included from /cefs/d7/d7b08a093b417e580f5102b8_gcc-trunk-20260810/include/c++/17.0.0/bits/funcwrap.h:667, from /cefs/d7/d7b08a093b417e580f5102b8_gcc-trunk-20260810/include/c++/17.0.0/functional:93, from <source>:1: /cefs/d7/d7b08a093b417e580f5102b8_gcc-trunk-20260810/include/c++/17.0.0/bits/funcref_impl.h: In instantiation of 'constexpr std::function_ref<_Res(_ArgTypes ...) noexcept (_Noex)>::function_ref(std::constant_wrapper<__fn, _Fn>) [with auto __fn = add; _Fn = int (*)(int, int); _Res = int; _ArgTypes = {int, int}; bool _Noex = false]': <source>:7:55: required from here 7 | constexpr auto f = std::function_ref(std::cw<&add>); | ^ /cefs/d7/d7b08a093b417e580f5102b8_gcc-trunk-20260810/include/c++/17.0.0/bits/funcref_impl.h:148:32: error: non-constant condition for static assertion 148 | static_assert(__fn != nullptr); | ~~~~~^~~~~~~~~~ /cefs/d7/d7b08a093b417e580f5102b8_gcc-trunk-20260810/include/c++/17.0.0/bits/funcref_impl.h:148:32: error: '(add != 0)' is not a constant expression Compiler returned: 1
