[clang] [Clang] Fix crash when type-name is combined with class specifier in template argument (PR #191689)

Matheus Izvekov via cfe-commits cfe-commits at lists.llvm.org
Mon Apr 20 14:52:48 PDT 2026


mizvekov wrote:

> I'm not sure what things other than a tagdecl can be referenced as a single identifier while still be potentially qualified, and I can't work out something other than an elaborated type for `Identifier2 Scoped::Name`

The issue does contain commented out reproducers for TypedefType and UsingType.

Other potential cases would be UnresolvedUsingType, DependentNameType, and anything that takes a TemplateName (TemplateSpecializationType, DeducedTemplateSpecializationType).

Also, for the plain ElaboratedTypeKeyword cases, there is a very weird corner case where you can elaborate a type template parameter with 'typename', something to do with requires clauses, I forget the details, but we only parse it, it's not modeled that at the AST level.

https://github.com/llvm/llvm-project/pull/191689


More information about the cfe-commits mailing list