https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102825
--- Comment #1 from 康桓瑋 <hewillk at gmail dot com> --- (In reply to 康桓瑋 from comment #0) > mofunc_impl.h#L111: > > : _Mofunc_base(nullptr), _M_invoke(&_S_invoke<_Tp>) > > _Mofunc_basede does not have a constructor which accepts a nullptr. > > #include <functional> > https://godbolt.org/z/59T4obz4j gcc test: #include <functional> struct F { F(std::initializer_list<int>); void operator()() const; }; int main() { std::move_only_function<void(void)> f(std::in_place_type<F>, {0}); } https://godbolt.org/z/8qsEqbh9s