https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90455
Marek Polacek <mpolacek at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |mpolacek at gcc dot gnu.org --- Comment #1 from Marek Polacek <mpolacek at gcc dot gnu.org> --- Reduced, clang++ compiles it. struct B; template <typename a> struct b { void operator()(a *) { sizeof(a); } }; struct c { struct D { using d = B *; }; using e = D::d; e f(); }; template <typename> class g { c h; using i = b<B>; public: ~g() { auto j = h.f(); k()(j); } i k(); }; struct l { g<int> m{}; };