Consider: template<typename T, T> struct A; template<typename> struct B; template<template<typename T, T> class U> struct B<U<char, 'h'> > {}; B<A<char,'h'> > x; // internal compiler error: in dependent_type_p, at cp/pt.c:15539
Comeau 4.3.9 and GCC 4.1.2 accept the code. -- Summary: partial template specialization ICE in dependent_type_p, at cp/pt.c:15539 Product: gcc Version: 4.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: gcc-bugzilla at contacts dot eelis dot net http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35678