```d struct S { this(int x) {} } void foo(S a = 0) { } template Foo(S a = 0) { } void main(){ S a = 0; // ok foo(); // ok alias F = Foo!(); // fails, should compile } ```