1// { dg-do run  }
2template<class T> class D
3{
4	public:
5		int f();
6};
7
8template<class T> int D<T>::f()
9{
10	return sizeof(T);
11}
12
13template<template<class> class E,class D> class C
14{
15		E<D> d;
16	public:
17		int f();
18};
19
20template<template<class> class E,class D> int C<E,D>::f()
21{
22	return d.f();
23}
24
25int main()
26{
27	C<D,int> c;
28	c.f();
29}
30