//Build don't link: //reported by Theodore Papadopoulo (Theodore.Papadopoulo@sophia.inria.fr) namespace A { namespace B { template struct B { static const unsigned count = 0; template void SetError(ForwardIter it,const T1& p1,const T2& p2) const { } }; template <> const unsigned B::count = 2; // ERROR - duplicate init } }; int main() { unsigned kk = A::B::count; // ERROR - not a template: syntax error }