1 // { dg-do compile }
2 
3 // Origin: Eelis van der Weegen <gccbugs@contacts.eelis.net>
4 
5 // PR c++/10552: Member class template as template template argument
6 // substitution issue.
7 
8 template <template <typename> class A, typename>
9 struct B
10 {
11   typedef typename A<int>::t t;
12 };
13 
14 template <typename D>
15 struct E
16 {
17   template <typename> struct F { typedef int t; };
18   typedef typename B<F, D>::t t;
19 };
20 
21 typedef E<int>::t t;
22