Why do I need extra parentheses to get template.sizeof? class A(T){ T x; }; int y = (A!(int)).sizeof; int z = A!(char).sizeof; // does not compile (line 6) hello.d(6): Error: undefined identifier class A.sizeof hello.d(6): Error: cannot implicitly convert expression (class A.sizeof) of type void to int