== Quote from Tomek SowiÅski ([email protected])'s article
> Funny thing:
> void foo(T)(t); // typeless argument
> If you don't instantiate the template, it actually compiles. Bug?
IMHO yes, this is a bug. What you wrote is syntactic sugar for:
template foo(T) {
void foo(t);
}
The rule with uninstantiated template bodies is that the code needs to be
syntactically correct, but not necessarily semantically correct (since the
semantics can only be fully analyzed on instantiation). void foo(t) looks
syntactically incorrect.