https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119726
--- Comment #2 from Anders Wind <awia00 at gmail dot com> ---
Two questions:
I am a bit interested in why my original case is correctly rejecting the code,
but the following is not being rejected (A is no longer a template class).
```
struct A {
template<typename T>
struct AA {
};
};
struct B : A
{
};
template<>
struct B::AA<int> {
};
```
Besides, if A had not been used in CRTP, but simply has <int>
```
template<typename U>
struct A {
template<typename T>
struct AA {
};
};
struct B : A<int>
{
};
template<>
struct B::AA<int> {
};
```
Here is seems wrong to have to specialize A<int>::AA<int>, since it is no
longer limited to B's inner AA class.