https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98939
--- Comment #2 from Marek Polacek <mpolacek at gcc dot gnu.org> --- I'm having trouble with "Default template arguments are now complete-class contexts": class C { template <typename...> struct _List; template <unsigned long, typename, bool B = value> struct S; // #1 template <unsigned long _Sz, typename _Uint, typename... _UInts> struct S<_Sz, _List<_Uint, _UInts...>>; // #2 static constexpr bool value = false; }; #2 wants to lookup_template_class S, but S can contain a DEFERRED_PARSE, so that's not going to work. Perhaps we have to delay finish_template_type until the end of class somehow...