1 // PR c++/54744
2 
3 template <typename T>
4 struct base {
5   typedef base base_type;
6 };
7 
8 template <typename T>
9 struct derived : base<T> {
10   typedef typename derived::base_type::base_type base_type;
derivedderived11   derived() : base_type() {}
12 };
13