https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96472
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords|needs-reduction |ice-on-valid-code --- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> --- template <typename> class b; template <typename> struct B; template <typename c> struct B<b<c>> { using d = c; }; class f { public: f(char *); ~f(); }; template <typename e> struct g { typedef typename B<e>::d d; }; template <typename c, typename e = b<c>> class h : g<e> {}; void i() { typedef struct { f j; } k; h<k> a; k{""}; } guess the templates can be simplified manually a bit.