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()25A<T>::B::f() { return 0; } 26