1) void foo(alias f)(int f) { writeln(f); }
foo(42); Error: does not match template 2) ... foo!(42)(42); > 42 3) ... foo!(7)(42); > 42 4) void foo(alias f)(int g=f) { writeln(g); } foo(42); Error: does not match template 5) void foo(alias f=42)(int g=f) { writeln(g); } foo(); > 42