1 // Origin: PR c++/45606 2 // { dg-do compile } 3 4 template<class T, class U = int> 5 struct S0 6 { 7 typedef int const_iterator; 8 }; 9 10 template<class T> 11 struct Test 12 { 13 typedef S0<T> SAlias; 14 typedef typename SAlias::const_iterator const_iterator; 15 const_iterator begin (); 16 }; 17 18 template<class T> 19 typename S0<T>::const_iterator begin()20Test<T>::begin() 21 { 22 return 0; 23 } 24