1// PR c++/37563
2
3struct A {};
4
5template<int> struct Traits
6{
7  typedef void X;
8};
9
10template<> struct Traits<0>
11{
12  typedef A X;
13};
14
15template<int N> struct B
16{
17  typedef typename Traits<N>::X Y;
18
19  void foo(Y y)
20  {
21    y.Y::A::~A();
22  }
23};
24