1 // RUN: %clang_cc1 -fsyntax-only -verify %s 2 // expected-no-diagnostics 3 4 namespace DeduceVsMember { 5 template<typename T> 6 struct X { 7 template<typename U> 8 int &operator==(const U& other) const; 9 }; 10 11 template<typename T, typename U> 12 float &operator==(const T&, const X<U>&); 13 test(X<int> xi,X<float> xf)14 void test(X<int> xi, X<float> xf) { 15 float& ir = (xi == xf); 16 } 17 } 18 19 namespace OrderWithStaticMember { 20 struct A { gOrderWithStaticMember::A21 template<class T> int g(T**, int=0) { return 0; } gOrderWithStaticMember::A22 template<class T> static int g(T*) { return 1; } 23 }; f()24 void f() { 25 A a; 26 int **p; 27 a.g(p); 28 } 29 } 30