1 // PR c++/90455
2 // { dg-do compile { target c++11 } }
3 
4 struct B;
5 template <typename a> struct b {
operatorb6   void operator()(a *) { sizeof(a); }
7 };
8 struct c {
9   struct D {
10     using d = B *;
11   };
12 
13   using e = D::d;
14   e f();
15 };
16 template <typename> class g {
17   c h;
18   using i = b<B>;
19 public:
~g()20   ~g() {
21     auto j = h.f();
22     k()(j);
23   }
24   i k();
25 };
26 struct l {
27   g<int> m{};
28 };
29