1// { dg-do run  }
2// Test for nested template template parameter feature
3
4template <template<template <class> class> class TTT> struct C
5{
6	int f() { return 0; }
7};
8
9template <template <class> class TT> struct D
10{
11	int	a;
12};
13
14template <template <class> class TT> struct E
15{
16	int	a;
17	int	b;
18};
19
20template <template <template <template<class> class> class> class TTT>
21int g(TTT<E> t)
22{
23	TTT<D> tt;
24	return tt.f();
25}
26
27int main()
28{
29	C<E> c;
30	g(c);
31}
32