Re: alias with lambda syntax: alias fun2=a=>fun(a);

2014-06-05 Thread Meta via Digitalmars-d-learn
On Thursday, 5 June 2014 at 07:19:07 UTC, timotheecour wrote: ok I remembered we can use std.typetuple.Alias for that. Or std.functional.unaryFun.

Re: alias with lambda syntax: alias fun2=a=>fun(a);

2014-06-05 Thread Artur Skawina via Digitalmars-d-learn
> On 06/05/14 08:58, Timothee Cour via Digitalmars-d-learn wrote: >> //none of those work: >> //alias fun2=a=>fun(a); alias fun2=ALIAS!(a=>fun(a)); That 'ALIAS' template will need to be in module scope. alias ALIAS(alias A) = A; artur

Re: alias with lambda syntax: alias fun2=a=>fun(a);

2014-06-05 Thread Artur Skawina via Digitalmars-d-learn
On 06/05/14 08:58, Timothee Cour via Digitalmars-d-learn wrote: > Is there a way to do this? > > auto fun(T)(T a){return a;} > > template fun2(T){auto fun2(T a){return fun(a);}}//OK but heavy syntax and > cannot be nested inside test() alias fun2(T) = fun!T; But this will prevent IFTI, so

Re: alias with lambda syntax: alias fun2=a=>fun(a);

2014-06-05 Thread Timothee Cour via Digitalmars-d-learn
ok I remembered we can use std.typetuple.Alias for that. On Wed, Jun 4, 2014 at 11:58 PM, Timothee Cour wrote: > Is there a way to do this? > > import std.algorithm; > > auto fun(T)(T a){return a;} > > template fun2(T){auto fun2(T a){return fun(a);}}//OK but heavy syntax and > cannot be nested

Re: alias with lambda syntax: alias fun2=a=>fun(a);

2014-06-05 Thread timotheecour via Digitalmars-d-learn
On Thursday, 5 June 2014 at 06:58:50 UTC, Timothee Cour via Digitalmars-d-learn wrote: Is there a way to do this? import std.algorithm; auto fun(T)(T a){return a;} template fun2(T){auto fun2(T a){return fun(a);}}//OK but heavy syntax and cannot be nested inside test() void main(){ //alias