Title
The template compilation model rules render some explicit specialization declarations not visible during instantiation
Status
nad
Section
13.9.4 [temp.expl.spec]
Submitter
Bill Gibbons

Created on 1998-10-24.00:00:00 last changed 310 months ago

Messages

Date: 2014-03-03.00:00:00

[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.
History
Date User Action Args
1998-10-24 00:00:00admincreate