// PR c++/9452 // Origin: Wolfgang Bangerth // { dg-do compile } template struct A { static const int i = 1; }; template struct B {}; template int foo(B<0>) { return 0; } template B::i-1> foo(B) { return B<0>(); } int main() { return foo(B<0>()); }