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