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()25 int main()
26 {
27     bar<int> x(32);
28     generic y(x); // FAILS
29 }
30