• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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