Per [ func.wrap.func.con ]
std::function<R(ArgTypes...)>
It has
template<class F> function& operator=(F&& f);
with the following remark:
, decay_t <F> Lvalue-Callable ArgTypes... R.
F Lvalue-Callable ArgTypes R, INVOKE <R> (declval <F> (), declval <ArgTypes> ()...), , .
, std::function<R(ArgTypes...)> , ArgTypes..., - R.
, , std::function .