1 // PR c++/52292 2 // { dg-do compile { target c++11 } } 3 4 template <template <typename...> class T> 5 struct foo { 6 template <typename... U> foofoo7 foo(T<U...> x) { } 8 }; 9 10 template <typename T> 11 struct bar { barbar12 bar(T x) : value(x) { } 13 14 T value; 15 }; 16 17 struct generic : private foo<bar> { 18 template <typename T> genericgeneric19 generic(bar<T> x) : foo(x) 20 { 21 } 22 23 }; 24 main()25int main() 26 { 27 bar<int> x(32); 28 generic y(x); // FAILS 29 } 30