https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86960
--- Comment #4 from Alexandre Oliva <aoliva at gcc dot gnu.org> --- AFAICT the problem is that we do not substitute the type pack into the arg pack when specializing the enclosing template. That specialization removes one template level from the nested template, so we can't find the type pack any more: I guess it should have been substituted before, like a regular type is.