https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102547
Patrick Palka <ppalka at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED Assignee|unassigned at gcc dot gnu.org |ppalka at gcc dot gnu.org --- Comment #3 from Patrick Palka <ppalka at gcc dot gnu.org> --- I think I have a potential fix -- replace the problematic call to uses_template_parms with dependent_template_arg_p: --- a/gcc/cp/pt.c +++ b/gcc/cp/pt.c @@ -23587,7 +23587,7 @@ unify (tree tparms, tree targs, tree parm, tree arg, int strict, even if ARG == PARM, since we won't record unifications for the template parameters. We might need them if we're trying to figure out which of two things is more specialized. */ - if (arg == parm && !uses_template_parms (parm)) + if (arg == parm && !dependent_template_arg_p (parm)) return unify_success (explain_p); /* Handle init lists early, so the rest of the function can assume So mine I suppose.