nridge added inline comments.

================
Comment at: clang-tools-extra/clangd/SemanticHighlighting.cpp:466
     case TemplateArgument::TemplateExpansion:
+      // FIXME: I don't understand why this is DependentType.
       H.addToken(L.getTemplateNameLoc(), HighlightingKind::DependentType);
----------------
nridge wrote:
> The testcase which relies on this is this one:
> 
> ```
>       // Dependent template name
>       R"cpp(
>       template <template <typename> class> struct $Class[[A]] {};
>       template <typename $TemplateParameter[[T]]>
>       using $Typedef[[W]] = $Class[[A]]<
>         $TemplateParameter[[T]]::template $DependentType[[Waldo]]
>       >;
> ```
> 
> However, it does appear that we get into here even for non-dependent template 
> template arguments (but then also get a non-dependent highlighting kind via 
> `findExplicitReferences()`, and end up discarding the `DependentType` via 
> `resolveConflict()`).
I see you've already figured this out in D95706 :)


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D95701/new/

https://reviews.llvm.org/D95701

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to