Passing anonymous templated functions as template parameters
Basile B. via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Wed Jun 15 16:52:56 PDT 2016
On Wednesday, 15 June 2016 at 22:27:38 UTC, pineapple wrote:
> Here's a simple code example to illustrate what I expected to
> work and didn't - is this a mistake in my syntax or a
> limitation of the language?
>
> template SomeTemplate(alias func){
> auto templatefunc(T)(int x){
> return func!T(x);
> }
> }
>
> // Valid
> auto somefunc(T)(int x){
> return cast(T) x;
> }
> alias fn1 = SomeTemplate!somefunc;
>
> // Not valid
> alias fn2 = SomeTemplate!(
> (T)(int x){return cast(T) x;}
> );
This syntax passes:
alias fn2(T) = SomeTemplate!((int x){return cast(T) x;});
More information about the Digitalmars-d-learn
mailing list