When performing a substitution into a dependent alias template, mark the
outer levels as retained rather than omitting their arguments. This better reflects what's going on (we're performing a substitution while still inside a template), and in theory is more correct, but I've not found a testcase where it matters in practice (largely because we don't allow alias templates to be declared inside a function). Fixed AST dumping of SubstNonTypeTemplateParm[Pack]Expr to demonstrate that we're properly substituting through dependent alias templates. (We can't deduce properly through these yet, but we can at least produce the right input to template argument deduction.) No functionality change intended.
Loading
Please sign in to comment