https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94057
--- Comment #4 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
The root cause isn't the C++20 feature it seems. The following version with
explicit 'typename' is rejected, but compiles fine with clang/icc:
template <typename T> class A {
template <typename U> class B {
B(typename A<T>::B<U>&);
void fn(typename A<T>::B<U> &);
};
};
