// PR c++/45012 template struct enable_if; template struct enable_if { typedef T type; }; enum { RUNTIME = 0 }; // it compiles with the previous line commented out and the next commented in // static const int RUNTIME=0; template struct foo; template class V, int M> struct foo,V, typename enable_if::type> {}; template class V1, template class V2, int M> struct foo,V2, typename enable_if::type> {}; template struct bar {}; foo,bar<2> > x;