[Bug c++/13616] fails to look up template specialization of template template parameter involving own template parameters

bangerth at dealii dot org gcc-bugzilla@gcc.gnu.org
Thu Jan 8 18:45:00 GMT 2004


------- Additional Comments From bangerth at dealii dot org  2004-01-08 18:45 -------
Just for completeness, if someone wants to make a testcase for this: 
take this code 
------------------------ 
template<class P> struct O { 
    template<class T> class I { }; 
}; 
 
template <class, template <class> class> struct A; 
template <class P> struct A <P, O<P>::I> {}; 
 
template <class, template <class> class> struct B; 
template <class P> struct B <P, O<P>::template I> {}; 
 
int main() { 
  A<double, O<double>::I> a; 
  B<double, O<double>::I> b; 
} 
------------------------- 
3.3.x accepts the specializations, but whines when declaring "a" 
that we use an incomplete type. It doesn't do so for B, though. 
 
Present mainline doesn't accept the specialization right away. That's 
the correct behavior. 
 
W. 

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13616



More information about the Gcc-bugs mailing list