clangd
clangd copied to clipboard
go-to-def doesn't jump to template template parameter decl.
Given the following dependent code:
template<template<typename> typename X, typename Y>
void k() {
X a; // issue: go-to-def on X does nothing
Y b; // good: go-to-def on Y jumps to the template parameter Y
}
We probably miss something when handling the DeducedTemplateSpecializationType in FindTarget.cpp
My first thought was that X a; is not a valid usage of a template-name X.
But since C++17, it is (the template arguments could be deduced using CTAD).