https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111568
--- Comment #1 from 康桓瑋 <hewillk at gmail dot com> --- bind_front also seems to missing Mandates: https://godbolt.org/z/8WPxc44h6 #include <functional> struct OnlyMovableFun { OnlyMovableFun() = default; OnlyMovableFun(const OnlyMovableFun&) = delete; OnlyMovableFun(OnlyMovableFun&&) = default; bool operator()(auto) const; }; int main() { OnlyMovableFun f; auto nf = std::bind_front(f); // should be static_assert? }