1 // { dg-do compile }
2 
3 // Copyright (C) 2007 Free Software Foundation, Inc.
4 // Contributed by Nathan Sidwell 21 Jul 2007 <nathan@codesourcery.com>
5 
6 // Origin: sschunck@pdf.de
7 // PR 30818, failure to resolve typename typedef
8 
9 template < typename T >
10 class A
11 {
12   typedef int type;
13   class B;
14 };
15 
16 template < typename T >
17 class A<T>::B
18 {
19   typedef typename A<T>::type type;
20   type f();
21 };
22 
23 template < typename T >
24 typename A<T>::B::type
f()25 A<T>::B::f() { return 0; }
26