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;});