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 6template <typename T> struct A 7{ 8 struct B; 9 typedef typename B::type type; 10}; 11 12template <typename T> struct A<T>::B 13{ 14 typedef typename A<T>::type type; 15 16 type Foo (); 17}; 18 19template <typename T> 20typename A<T>::B::type 21A<T>::B::Foo () 22{ 23 return 0; 24} 25