1 // Issue 2920 - recursive templates blow compiler stack
2 // template_29_B.
3 
foo(uint i)4 template foo(uint i)
5 {
6     static if (i > 0)
7     {
8         const uint bar = foo!(i - 1).bar;
9     }
10     else
11     {
12         const uint bar = 1;
13     }
14 }
main()15 int main()
16 {
17     return foo!(uint.max).bar;
18 }
19