Didn't this used to work?
template factorial(int i) {
enum factorial = (i==0) ? 1 : i*factorial!(i-1);
}With DMD 2.036 I'm getting: Error: template instance factorial!(-495) recursive expansion Seems like it expands both branches regardless of the condition. And seems to me like it shouldn't. --bb
