// Contributed by Douglas Gregor template struct wrap {}; template bool operator==(wrap, wrap); template void g(T, wrap > x) { bool b = x == x; // { dg-bogus "" } } template void operator==(wrap >, wrap >); void h() { wrap > x; g(17, x); }