1 2 // Contributed by Douglas Gregor <doug.gregor@gmail.com> 3 4 template<class T> struct wrap {}; 5 6 template<typename T> bool operator==(wrap<T>, wrap<T>); 7 8 template<typename T> g(T,wrap<wrap<int>> x)9void g(T, wrap<wrap<int> > x) 10 { 11 bool b = x == x; // { dg-bogus "" } 12 } 13 14 template<typename T> void operator==(wrap<wrap<T> >, wrap<wrap<T> >); 15 h()16void h() 17 { 18 wrap<wrap<int> > x; 19 g(17, x); 20 } 21