| Index: base/callback.h
|
| diff --git a/base/callback.h b/base/callback.h
|
| index 00669dd83d1c2dbb518134f0243fd5dbec104133..8a6e1d4008c3568e56929ee643302d34c7b405a8 100644
|
| --- a/base/callback.h
|
| +++ b/base/callback.h
|
| @@ -388,16 +388,16 @@ class Callback<R(Args...)> : public internal::CallbackBase {
|
| return CallbackBase::Equals(other);
|
| }
|
|
|
| - R Run(typename internal::CallbackParamTraits<Args>::ForwardType... args)
|
| - const {
|
| + template <typename... RunArgs>
|
| + R Run(RunArgs&&... args) const {
|
| PolymorphicInvoke f =
|
| reinterpret_cast<PolymorphicInvoke>(polymorphic_invoke_);
|
|
|
| - return f(bind_state_.get(), internal::CallbackForward(args)...);
|
| + return f(bind_state_.get(), std::forward<RunArgs>(args)...);
|
| }
|
|
|
| private:
|
| - typedef R(*PolymorphicInvoke)(
|
| + typedef R (*PolymorphicInvoke)(
|
| internal::BindStateBase*,
|
| typename internal::CallbackParamTraits<Args>::ForwardType...);
|
| };
|
|
|