On Thursday, 7 November 2013 at 20:01:14 UTC, Uranuz wrote:
plain template parameter, where I can pass only type or a value.

Only type. Template value parameters are 3d separate case having own entry in linked specification ;)

However, alias parameters don't have Implicit Function Template Instantiation and always need to be mentioned explicitly:

```
void foo() {}

void bar(T)(T param) { } // legal
// void baz(alias T)(T param) { } // illegal
void baz(alias T)() { } // legal

void main()
{
    bar!(typeof(&foo))(&foo); // legal
    bar(&foo); // legal
    // baz(&foo); // illegal
    baz!foo(); // legal
}

Reply via email to