------- Comment #2 from redi at gcc dot gnu dot org  2009-08-26 14:43 -------
IIUC, the top-level const qualifier on "const typename Foo<D>::double3" in the
primary template applies to the type, which is not known during phase 1

At instantiation time, double3 is known to be an array type, so decays to a
pointer, and the parameter type becomes "const double*" _not_ "double* const"

So the explicit instantiation creates a type which does not match the primary
template, so it cannot be a specialisation of it.


-- 


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

Reply via email to