https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92136
--- Comment #3 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
Same issue with an explicit deduction guide:
template <typename T>
class Base {};
template <int d>
class Test1 : public Base<Test1<d>>
{
public:
Test1() = default;
template <template <int> typename T>
Test1(Base<T<d>> const &) {}
};
template <int d, template <int> typename T>
Test1(Base<T<d>> const &) -> Test1<d>;
template <int d>
class Test2 : public Base<Test2<d>> {};
int main()
{
Test2<2> const eps;
Test1 const omega = eps;
Test1 const gamma = eps;
return 0;
}