// RUN: %clang_cc1 -fsyntax-only -verify %s // expected-no-diagnostics template struct X1 { }; template struct X0 { typedef int size_type; typedef T value_type; size_type f0() const; value_type *f1(); X1 f2(); }; template typename X0::size_type X0::f0() const { return 0; } template typename X0::value_type *X0::f1() { return 0; }; template X1::value_type*> X0::f2() { return 0; };