Clang Project

clang_source_code/test/CXX/temp/temp.decls/temp.class/temp.mem.func/p1-retmem.cpp
1// RUN: %clang_cc1 -fsyntax-only -verify %s
2// expected-no-diagnostics
3
4template<typename T> struct X1 { };
5
6template<typename T>
7struct 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
16template<typename T>
17typename X0<T>::size_type X0<T>::f0() const { 
18  return 0;
19}
20
21template<typename U>
22typename X0<U>::value_type *X0<U>::f1() { 
23  return 0;
24};
25
26template<typename U>
27X1<typename X0<U>::value_type*> X0<U>::f2() { 
28  return 0;
29};
30