// { dg-do assemble  }
// { dg-options "" }
// Origin: philippeb@videotron.ca

#include <iostream>

using namespace std;

template <class T> struct traits
{
  typedef long next;
};


template <class T>
struct c1
{
  template <class U>
  struct c2
  {
    c2()
    {
      cout << __PRETTY_FUNCTION__ << endl;
    }
  };
};


template <class T>
void foo()
{
  cout << __PRETTY_FUNCTION__ << endl;
  typename c1<typename traits<T>::next>::template c2<void>();
}


int main()
{
  foo<int>();
}
