1 // PR c++/52685
2 
3 template <typename T>
4 struct A
5 {
6   template <typename U>
7   struct B : public A <B<U> >	// { dg-message "not complete" }
8   {
9     struct C : public B<U>	// { dg-error "incomplete" }
10     {
11     };
12   };
13 };
14