Although I like it, I wonder if it works in D's context free grammar. Timon probably would know best...

I came up with this code, which compiles today:

import std.stdio;
alias int x;

void foo(x) {}

void foo2(string x) {writeln(x);}

void main()
{
    foo(1);
    foo2("hello");
}

Under your proposal, if we shorten foo2 to foo2(x), what happens? Does it become just like foo? Or does it turn into a template? Or is it an error?

I don't see any way the proposed syntax could work either. We could have this, though:

auto min(auto a, auto b)
{
    return a < b;
}

But I don't think this feature is worth changing the language anyway.

Reply via email to