https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65370
--- Comment #1 from Matthias Klose <doko at gcc dot gnu.org> --- reduced test case: namespace Parma_Polyhedra_Library { class NNC_Polyhedron; enum Complexity_Class { ANY_COMPLEXITY }; template <typename PSET> class Pointset_Powerset; } template <typename PSET> class Parma_Polyhedra_Library::Pointset_Powerset { template <typename QH> Pointset_Powerset(const Pointset_Powerset<QH> &, Complexity_Class = ANY_COMPLEXITY); }; namespace Parma_Polyhedra_Library { template <> template <typename QH> Pointset_Powerset<NNC_Polyhedron>::Pointset_Powerset( const Pointset_Powerset<QH> &, Complexity_Class); }