Remove no longer needed qualifier check workaround in bind_internal.h

This CL removes a workaround of a qualifier check bug in clang.
The issue was resolved upstream and rolled into the Chromium bundled clang.

Change-Id: I3ffe63a4bce10840838d5f0995b151dad88dc2c8
Reviewed-on: https://chromium-review.googlesource.com/530625
Commit-Queue: Nico Weber <thakis@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#479435}

CrOS-Libchrome-Original-Commit: 75851f4787a29f2143ca4a8214c6c7398c9852a8
diff --git a/base/bind_internal.h b/base/bind_internal.h
index c8af87d..c27c34f 100644
--- a/base/bind_internal.h
+++ b/base/bind_internal.h
@@ -206,12 +206,7 @@
   static R Invoke(R (Receiver::*method)(Args...),
                   ReceiverPtr&& receiver_ptr,
                   RunArgs&&... args) {
-    // Clang skips CV qualifier check on a method pointer invocation when the
-    // receiver is a subclass. Store the receiver into a const reference to
-    // T to ensure the CV check works.
-    // https://llvm.org/bugs/show_bug.cgi?id=27037
-    Receiver& receiver = *receiver_ptr;
-    return (receiver.*method)(std::forward<RunArgs>(args)...);
+    return ((*receiver_ptr).*method)(std::forward<RunArgs>(args)...);
   }
 };
 
@@ -226,12 +221,7 @@
   static R Invoke(R (Receiver::*method)(Args...) const,
                   ReceiverPtr&& receiver_ptr,
                   RunArgs&&... args) {
-    // Clang skips CV qualifier check on a method pointer invocation when the
-    // receiver is a subclass. Store the receiver into a const reference to
-    // T to ensure the CV check works.
-    // https://llvm.org/bugs/show_bug.cgi?id=27037
-    const Receiver& receiver = *receiver_ptr;
-    return (receiver.*method)(std::forward<RunArgs>(args)...);
+    return ((*receiver_ptr).*method)(std::forward<RunArgs>(args)...);
   }
 };