Googletest export

Stop using ADL for InvokeArgument action.

PiperOrigin-RevId: 323234396
This commit is contained in:
ofats
2020-07-26 08:05:02 -04:00
committed by Mark Barolak
parent a781fe29bc
commit c64309924d
4 changed files with 24 additions and 59 deletions

View File

@@ -1388,23 +1388,15 @@ class ActionImpl<Derived<Ts...>> {
std::tuple<Ts...> params_;
};
namespace invoke_argument {
// Appears in InvokeArgumentAdl's argument list to help avoid
// accidental calls to user functions of the same name.
struct AdlTag {};
// InvokeArgumentAdl - a helper for InvokeArgument.
// internal::InvokeArgument - a helper for InvokeArgument action.
// The basic overloads are provided here for generic functors.
// Overloads for other custom-callables are provided in the
// internal/custom/gmock-generated-actions.h header.
template <typename F, typename... Args>
auto InvokeArgumentAdl(AdlTag, F f, Args... args) -> decltype(f(args...)) {
auto InvokeArgument(F f, Args... args) -> decltype(f(args...)) {
return f(args...);
}
} // namespace invoke_argument
#define GMOCK_INTERNAL_ARG_UNUSED(i, data, el) \
, const arg##i##_type& arg##i GTEST_ATTRIBUTE_UNUSED_
#define GMOCK_ACTION_ARG_TYPES_AND_NAMES_UNUSED_ \