2 // Contributed by Douglas Gregor <doug.gregor@gmail.com>
4 template<class T> struct wrap {};
6 template<typename T> bool& operator==(wrap<T>, wrap<T>);
9 void g(T, wrap<wrap<int> > x)
11 bool& b = x == x; // { dg-bogus "invalid initialization of reference" "" { xfail *-*-*} }
14 template<typename T> int& operator==(wrap<wrap<T> >, wrap<wrap<T> >);