https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84588
--- Comment #11 from Paolo Carlini <paolo.carlini at oracle dot com> --- I think I figured out why my first try didn't really work. It's a latent issue/weirdness in cp_parser_parameter_declaration_list: it is setting *is_error = true, returning error_mark_node - and maybe calling abort_fully_implicit_template (parser) with my patch - also when cp_parser_parameter_declaration simply returns NULL_TREE, not error_mark_node. A more complete patch additionally streamlining cp_parser_parameter_declaration_list wrt to that appears to work just fine and doesn't regress c++/85713, I'll send it for review later today if everything goes well.