// RUN: %clang_cc1 -fsyntax-only -verify %s // expected-no-diagnostics namespace DeduceVsMember { template<typename T> struct X { template<typename U> int &operator==(const U& other) const; }; template<typename T, typename U> float &operator==(const T&, const X<U>&); void test(X<int> xi, X<float> xf) { float& ir = (xi == xf); } } namespace OrderWithStaticMember { struct A { template<class T> int g(T**, int=0) { return 0; } template<class T> static int g(T*) { return 1; } }; void f() { A a; int **p; a.g(p); } }