A specialization for a function template, a member function template,
or of a member function or static data member of a class template may have
multiple points of instantiations within a translation unit, and in addition
to the points of instantiation described above,
A specialization for a class template has at most one point of instantiation
within a translation unit
. A specialization for any template may have points of instantiation in multiple
translation units
. If two different points of instantiation give a template specialization
different meanings according to the
one-definition rule,
the program is ill-formed, no diagnostic required
.