Avoid to use the method pointer to Callback<>::Run on gmock tests
This CL replaces a problematic method pointers to Callback::Run with
testing::CreateFunctor.
The method pointer to Callback::Run prevents to make it a template
method or to overload it for cleaner implementation.
Review-Url: https://codereview.chromium.org/2758713002
Cr-Commit-Position: refs/heads/master@{#458018}
diff --git a/testing/gmock_mutant.h b/testing/gmock_mutant.h
index 961673f..2a41cf5 100644
--- a/testing/gmock_mutant.h
+++ b/testing/gmock_mutant.h
@@ -113,6 +113,12 @@
return CallbackToFunctorHelper<Signature>(cb);
}
+template <typename Functor>
+CallbackToFunctorHelper<typename Functor::RunType> CreateFunctor(
+ Functor functor) {
+ return CallbackToFunctor(functor);
+}
+
template <typename Functor, typename... BoundArgs>
CallbackToFunctorHelper<base::MakeUnboundRunType<Functor, BoundArgs...>>
CreateFunctor(Functor functor, const BoundArgs&... args) {