https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67796

--- Comment #3 from Jonathan Wakely <redi at gcc dot gnu.org> ---
This (invalid) program prints "ADL Works!" as expected, so without a proper
testcase (as required by https://gcc.gnu.org/bugs/ anyway) we have no idea what
your actual code does:

#include <tuple>
#include <iostream>
namespace std {                                                                 
template <typename... T>                                                        
void swap(std::tuple<T&...> lhs, std::tuple<T&...> rhs) noexcept                
{              
  std::cout<<"ADL works!"<<std::endl;                                           
  std::tuple<T...> tmp = lhs;                                                   
  lhs = rhs;                                                                    
  rhs = tmp;                                                                   
}
}

int main()
{
  int i = 0;
  std::tuple<int&> t{i};
  swap(t, t);
}

Reply via email to