aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/g++.dg/template/typename13.C
blob: 527b0d15316561a09865f384107d5e11ab71ef0b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// { dg-do compile }

// Copyright (C) 2007 Free Software Foundation, Inc.
// Contributed by Nathan Sidwell 21 Jul 2007 <nathan@codesourcery.com>

template <typename T> struct A
{
  struct B;
  typedef typename B::type type;
};

template <typename T> struct A<T>::B
{
  typedef typename A<T>::type type;

  type Foo ();
};

template <typename T>
typename A<T>::B::type
A<T>::B::Foo () 
{
  return 0;
}