template <class F> void register_actor(const std::string& name)
{
kernel::actor::ActorCodeFactory code_factory = [](std::vector<std::string> args) {
- return kernel::actor::ActorCode([args] {
+ return kernel::actor::ActorCode([args = std::move(args)]() mutable {
F code(std::move(args));
code();
});
template <class F> void register_actor(const std::string& name, F code)
{
kernel::actor::ActorCodeFactory code_factory = [code](std::vector<std::string> args) {
- return kernel::actor::ActorCode([code, args] { code(std::move(args)); });
+ return kernel::actor::ActorCode([code, args = std::move(args)]() mutable { code(std::move(args)); });
};
register_function(name, code_factory);
}