Qualify std::__invoke in <variant> to prevent ADL
authorJonathan Wakely <jwakely@redhat.com>
Tue, 15 May 2018 12:06:57 +0000 (13:06 +0100)
committerJonathan Wakely <redi@gcc.gnu.org>
Tue, 15 May 2018 12:06:57 +0000 (13:06 +0100)
* include/std/variant (__gen_vtable_impl::__visit_invoke): Qualify
__invoke to prevent ADL.

From-SVN: r260254

libstdc++-v3/ChangeLog
libstdc++-v3/include/std/variant

index 46d43d7..22bcc0f 100644 (file)
@@ -1,3 +1,8 @@
+2018-05-15  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/variant (__gen_vtable_impl::__visit_invoke): Qualify
+       __invoke to prevent ADL.
+
 2018-05-14  Jonathan Wakely  <jwakely@redhat.com>
 
        PR libstdc++/81256
index 40b3b56..c021240 100644 (file)
@@ -838,9 +838,8 @@ namespace __variant
       decltype(auto)
       static constexpr __visit_invoke(_Visitor&& __visitor, _Variants... __vars)
       {
-       return __invoke(std::forward<_Visitor>(__visitor),
-                       std::get<__indices>(
-                           std::forward<_Variants>(__vars))...);
+       return std::__invoke(std::forward<_Visitor>(__visitor),
+           std::get<__indices>(std::forward<_Variants>(__vars))...);
       }
 
       static constexpr auto