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

Reply via email to