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;
}

Reply via email to