// { dg-options "-w" } // PR c++/9420 // Bug: We were instantiating B<int> during overload resolution for E<0. // This is wrong; the contents of B<int> are not relevant, since we can't // use its constructors (because we'd already be using a constructor for // C). enum { E }; template <typename T> struct A { static const int a = (E < 0); }; template <typename T> class B { A<int> b; }; struct C { C(B<int>); }; int operator<(C, C); A<int> c;