Any partial specializations ([temp.spec.partial])
associated with the primary template are considered when a specialization
based on the template template-parameter is instantiated.
If a specialization is not reachable
from the point of instantiation,
and it would have been selected had it been reachable,
the program is ill-formed, no diagnostic required.
[Example 1: template<class T>struct A {int x;
};
template<template<class U>class V>struct C {
V<int> y;
V<int*> z;
};
C<A> c;
// IFNDR, specialization is not reachable from point of instantiation above and it would have// been selected if it hadtemplate<class T>struct A<T*>{long x;
};
— end example]