https://issues.dlang.org/show_bug.cgi?id=14657

Daniel Kozak <kozz...@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |kozz...@gmail.com

--- Comment #1 from Daniel Kozak <kozz...@gmail.com> ---
IMHO this should not work:
alias u = unaryFun!();

it does not make sense. In curent dmd it alias to first template instantiation.
So even this does not work:

void unaryFun()(auto ref int a) pure nothrow @safe @nogc {}
void main()
{
    int x;
    unaryFun!()(x);
    unaryFun!()(41);
    alias u = unaryFun!();
    u(41);
}

m.d(8): Error: function m.unaryFun!().unaryFun (auto ref int a) is not callable
using argument types (int)

So I would say
alias u = unaryFun!(); should be forbidden and some better error message can be
print.

Something like this:
Error: alias u = unaryFun!() cannot be use do you mean alias u = unaryFun?

--

Reply via email to