(root)/
gcc-13.2.0/
gcc/
testsuite/
g++.dg/
cpp0x/
nsdmi-template5.C
// PR c++/58599
// { dg-do compile { target c++11 } }

template<int> struct A1;

template<> struct A1<0>
{
  template<typename, typename...> struct B1
  {
    template<typename> int foo1() { return 0; }

    int i1 = foo1<int>();
  };
};

template<int> struct A2;

template<> struct A2<0>
{
  template<typename, typename> struct B2
  {
    template<typename> int foo2() { return 1; }

    int i2 = foo2<int>();
  };
};

template<int> struct A3;

template<> struct A3<0>
{
  template<typename> struct B3
  {
    template<typename> int foo3() { return 2; }

    int i3 = foo3<int>();
  };
};