prog.cpp:11:15: error: non-class, non-variable partial specialization ‘fn<j, j>’ is not allowed
void fn<j, j>()
^
prog.cpp: In instantiation of ‘void fn() [with int i = 899; int j = 4]’:
prog.cpp:7:14: recursively required from ‘void fn() [with int i = 1; int j = 4]’
prog.cpp:7:14: required from ‘void fn() [with int i = 0; int j = 4]’
prog.cpp:18:11: required from here
prog.cpp:7:14: fatal error: template instantiation depth exceeds maximum of 900 (use -ftemplate-depth= to increase the maximum)
fn<i + 1, j>();
~~~~~~~~~~~~^~
compilation terminated.