1 // PR c++/9452
2 // Origin: Wolfgang Bangerth <bangerth@ticam.utexas.edu>
3 // { dg-do compile }
4 
5 template <int> struct A { static const int i = 1; };
6 template <int> struct B {};
7 
foo(B<0>)8 template <typename> int foo(B<0>)
9 {
10   return 0;
11 }
12 
foo(B<j>)13 template <typename, int j> B<A<j>::i-1> foo(B<j>)
14 {
15   return B<0>();
16 }
17 
main()18 int main()
19 {
20   return foo<int>(B<0>());
21 }
22