On 3/24/17 12:24 AM, Yuxuan Shui wrote:
So I was trying to make my template take a value parameter, whose type
is also a parameter to the template. e.g.:
template A(Char[] str, Char);
But dmd complains about 'Char' being undefined. I have to write:
template A(Char, Char[] str);
Which is inconvenient, because now 'Char' can't be deduced by the compiler.
Can we make the first case work?
How about this?
template A(alias str)
if(is(typeof(str) : Char[], Char)){
alias Char = typeof(str[0]);
// ...
}
In general it's sometimes possible to do the deduction w/o introducing
more template arguments.
---
Dmitry Olshansky