diff --git a/mfbt/ResultExtensions.h b/mfbt/ResultExtensions.h index c6b7e8832fcc..59e16539067c 100644 --- a/mfbt/ResultExtensions.h +++ b/mfbt/ResultExtensions.h @@ -242,14 +242,16 @@ auto ToResultInvoke(const SmartPtr& aObj, } #if defined(XP_WIN) && !defined(_WIN64) -template +template >> auto ToResultInvoke(T& aObj, nsresult (__stdcall U::*aFunc)(XArgs...), Args&&... aArgs) { return detail::ToResultInvokeMemberFunction>( aObj, aFunc, std::forward(aArgs)...); } -template +template >> auto ToResultInvoke(const T& aObj, nsresult (__stdcall U::*aFunc)(XArgs...) const, Args&&... aArgs) { @@ -269,6 +271,25 @@ auto ToResultInvoke(const T* const aObj, Args&&... aArgs) { return ToResultInvoke(*aObj, aFunc, std::forward(aArgs)...); } + +template