// { dg-do assemble  }
// Test resolution of templatized overloaded constructors.
// The more specialized constructor, i.e., A (const B<Dim1,Dim2> &b)
// should be chosen per \S 14.5.5.2/2 [temp.func.order/2].

template <int Dim1, int Dim2>
struct B {
  int f;
};

struct A {
  template <int Dim1, int Dim2>
  A (const B<Dim1,Dim2> &b) {}

  template <typename T>
  A (const T &b) {}
};

int
main ()
{
  B<2,3> b;
  A a (b);
  return 0;
}
