struct A
{
  struct B
  { };
};

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


int main()
{
  C<A> c;

  return 0;
}
