rjmccall added a comment. Changing how `TemplateSpecializationType` is declared in `TypeNodes.def` has way more implications than you're giving it credit for.
`FooType::desugar()` should always perform a single-step desugar, but on `TemplateSpecializationType` it's calling `getCanonicalTypeInternal()`, which is clearly not a single-step desugar for a template alias. So I believe the fix here is as simple as just returning `getAliasedType()` from that method for template aliases. https://reviews.llvm.org/D54048 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits