blob: 17dbfa66b62d21b195fda5f372142eb060f3509e [file] [log] [blame]
// PR c++/69851
// { dg-do compile }
// { dg-options "-std=c++11" }
template <typename T>
struct A { T a; };
template <unsigned long, typename...>
struct B;
template <unsigned long N, typename T, typename... U>
struct B<N, T, U...> : B<1, U...>, A<T>
{
B (B &) = default;
B (B &&x) : B(x) {}
};
template <unsigned long N, typename T>
struct B<N, T> {};
struct C { C (C &); };
struct D {};
void
foo (B<0, C, D, int, int> a)
{
B<0, C, D, int, int> b (a);
}