Aliasing lambdas
Philippe Sigaud
philippe.sigaud at gmail.com
Sun Jan 13 12:38:36 PST 2013
On Sun, Jan 13, 2013 at 9:07 PM, Timon Gehr <timon.gehr at gmx.ch> wrote:
> On 01/13/2013 08:55 PM, Peter Alexander wrote:
>>
>> Is there any reason why this isn't allowed:
>>
>> alias f = (x => x);
>>
>> but this is:
>>
>> template A(alias B) { alias A = B; }
>> alias f = A!(x => x);
>>
>> ???
>
>
> No. It is a gratuitous grammar limitation.
The same limitation forbids:
alias __traits(whatever, ...) result;
The grammar says:
AliasDeclaration:
alias BasicType Declarator
(and others, but this is the one limiting you). BasicType should be
replaced by PrimaryExrpession, or something like that.
More information about the Digitalmars-d
mailing list