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