// { dg-do run  }
template<class T> class D
{
	public:
		int f();
};

template<class T> int D<T>::f()
{
	return sizeof(T);
}

template<template<class> class D,class E> class C
{
		D<E> d;
	public:
		int f() { return d.f(); }
};

int main()
{
	C<D,int> c;
	C<D,char> d;
	c.f();
	d.f();
}
