I think it's safer to extract the temporary TemplateArgumentList to a variable here, I don't think passing a pointer to a temporary like that is valid code.