I was reading 2.064 changelog on website. Check this: template Tuple(T...) { alias Tuple = T; } template isIntOrFloat(T) { static if (is(T == int) || is(T == float)) enum isIntOrFloat = true; else enum isIntOrFloat = true; } I guess the "else" branch should be " = false" rather than " = true";