1 // Copyright (C) 2003 Free Software Foundation
2 // Contributed by Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
3 // { dg-do compile }
4 
5 // Template instantiate during deferred access check
6 
7 template <class T> struct C {
8   typedef typename T::X Y;
9 };
10 
11 class A {
12   typedef int X;
13   template <class T> friend struct C;
14 };
15 
16 C<A>::Y f(int);
17