About template template arguments syntax
bearophile
bearophileHUGS at lycos.com
Sat Oct 1 19:20:36 PDT 2011
This little program is a reduction of code recently shown around here:
template Spam(T, alias P) { enum Spam = P!T; }
template Foo(T, Preds...) {
enum bool Foo = Spam!(T, Preds[0]);
}
template Bar(T) { enum Bar = true; }
static assert(Foo!(int, Bar));
void main() {}
Do you know why the P argument of Spam needs "alias" before?
The type tuple Preds of Foo doesn't need an "alias" before.
Isn't it possible to remove the need to use such "alias" for template template arguments in D? (This is a question I've had to ask since a lot of time).
Bye and thank you,
bearophile
More information about the Digitalmars-d-learn
mailing list