foreach for tuple expand in compile time. So I think that foreach for tuples should be renamed static foreach. #Sorry for my poor English now: foreach(i,T;TL){ static if(i>1){ } } suggestion: static foreach(i,T;TL){ static if(i>1){ } }