This is an unofficial snapshot of the ISO/IEC JTC1 SC22 WG21 Core Issues List revision 118e. See http://www.open-std.org/jtc1/sc22/wg21/ for the official list.
2025-11-05
[N1065 issue 1.19] An explicit specialization declaration may not be visible during instantiation under the template compilation model rules, even though its existence must be known to perform the instantiation correctly. For example:
translation unit #1
template<class T> struct A { };
export template<class T> void f(T) { A<T> a; }
translation unit #2
template<class T> struct A { };
template<> struct A<int> { }; // not visible during instantiation
template<class T> void f(T);
void g() { f(1); }
Rationale:
This issue was addressed in the C++11 FDIS and should have been closed.