On Tuesday, 30 July 2013 at 07:02:51 UTC, JS wrote:
If I use enum or alias they both have the same problem(The
annoying mandatory assignment).
Can you post some more code that exhibits exactly the behaviour
you're describing? I can't replicate the problem you're having
with the code you provided (nor the code *I* provided).
BTW, is
void Pragma(alias amsg)(string file = __FILE__)
short for
template Pragma(alias amsg)
{
void Pragma(string file = __FILE__)
or is there some real difference?
They're semantically equivalent. The first form is just shorthand
for the second.
I could potential do something like
template Group(alias G1)
{
void Group(alias G2)(int s)
{
writeln(s);
}
}
Group!("x")("y")(3); // doesn't work,
Group!("x")!("y")(3); // doesn't work
What you're doing here is pretty weird. That code is equivalent
to:
template Group(alias G1)
{
template Group(alias G2)
{
void Group(int s)
{
writeln(s);
}
}
}
And I really have no idea how it *should* behave. It definitely
doesn't work on dpaste.dzfl.pl.