diff --git a/googlemock/include/gmock/gmock-actions.h b/googlemock/include/gmock/gmock-actions.h index 3aba9ec0d..02356a40d 100644 --- a/googlemock/include/gmock/gmock-actions.h +++ b/googlemock/include/gmock/gmock-actions.h @@ -1050,10 +1050,11 @@ struct DoAllAction { std::vector...)>> converted; Action last; R operator()(Args... args) const { + auto tuple_args = std::forward_as_tuple(std::forward(args)...); for (auto& a : converted) { - a.Perform(std::forward_as_tuple(std::forward(args)...)); + a.Perform(tuple_args); } - return last.Perform(std::forward_as_tuple(std::forward(args)...)); + return last.Perform(std::move(tuple_args)); } }; return Op{Convert...)>>(