On Thursday, 5 May 2016 at 23:12:40 UTC, Ed wrote:
On Thursday, 5 May 2016 at 22:53:01 UTC, Yuxuan Shui wrote:
On Thursday, 5 May 2016 at 21:54:29 UTC, Ed wrote:
On Thursday, 5 May 2016 at 20:17:08 UTC, Yuxuan Shui wrote:
[...]
It's hard to help without a minimal working example (maybe
something with just the body).
If you mean that "alias new_parser = Comb!(a, b);" generates
an error maybe that's because the correct syntax is "alias
new_parser(Range) = Comb!(a, b);" ?
One issue you may encounter is that template parameter
deduction (that's called IFTI I think) can fail with an alias
(so partially specialized template/templatized function, etc).
Simple example:
int a(int b, T)(T c){return 0;}
It's fine to:
a!1(2);
But:
alias A = a!1;
Would fail.
alias aa(T) = a!(1,T);
aa!ubyte(2);
Your alias declaration is not correct.
As you can see in my first post, I know how to make this work. I
just think it'd be nice if compiler can do this automatically.
Anothor point is that, what if I want to use partially
instantiated templates as template arguments?