struct Test(T) { static if (is(typeof(T) == int)) { pragma(msg, "test"); this(T t) { this.t = t; } } } void main() { //Nothing is printed Test!int t; } Didn't this code used to failed at the point of `typeof(T)`? Has this changed since previous releases?