1// RUN: %clang_cc1 -fsyntax-only -verify %s 2 3template<typename T> struct X1 { }; 4 5template<typename T> 6struct X0 { 7 typedef int size_type; 8 typedef T value_type; 9 10 size_type f0() const; 11 value_type *f1(); 12 X1<value_type*> f2(); 13}; 14 15template<typename T> 16typename X0<T>::size_type X0<T>::f0() const { 17 return 0; 18} 19 20template<typename U> 21typename X0<U>::value_type *X0<U>::f1() { 22 return 0; 23}; 24 25template<typename U> 26X1<typename X0<U>::value_type*> X0<U>::f2() { 27 return 0; 28}; 29